当前位置:首页 > 汇编语言程序设计
CLEAR MACRO push ax push bx push cx push dx mov ah,6 mov al,0 mov bh,1Fh mov cx,0 mov dx,184fh int 10h pop dx pop cx pop bx pop ax ENDM
DATA SEGMENT
MEG1 DB 0ah,0dh,\ DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
MAIN: MOV AX,DATA MOV DS,AX
L: LEA DX,MEG1 MOV AH,09H INT 21H MOV AH,01H INT 21H
CMP AL,'0'
JE L3 ;若输入值为“0”,则执行L3 cmp al,'1'
JE L4 ;若输入值为“1”,则执行L4 cmp AL,'2'
JE L5 ;若输入值为“2”,则执行L5 JMP L
L4: CLEAR
CALL Triangle1
JMP L ;调用“Triangle1”后执行“L”L5: CLEAR
13
CALL Parallelogram1 ;调用“Parallelogram1”后执行“L” JMP L
L3: MOV AH,4CH
INT 21H ;程序结束,返回DOS操作系统
Triangle1 PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX
MOV AH,2 MOV BH,0 MOV DH,2
MOV DL,9 INT 10H
MOV AH,9 MOV AL,'*'
MOV BL,00001101B MOV BH,0 MOV CX,1 INT 10H
MOV AH,2 MOV BH,0 MOV DH,3 MOV DL,8 INT 10H
MOV AH,9 MOV AL,'*'
MOV BL,00001110B MOV BH,0 MOV CX,3 INT 10H
MOV AH,2 MOV BH,0 MOV DH,4 MOV DL,7 INT 10H
MOV AH,9 MOV AL,'*'
;光标移到第二行第九列开始输出 ;颜色为红 ;光标移到第三行第八列开始输出 ;颜色为黄 ;光标移到第四行第七列开始输出 14
MOV BL,00001011B ;颜色为绿 MOV BH,0 MOV CX,5 INT 10H
MOV AH,2 MOV BH,0 MOV DH,5 MOV DL,6 INT 10H
MOV AH,9 MOV AL,'*'
MOV BL,00001101B MOV BH,0 MOV CX,7 INT 10H
MOV AH,2 MOV BH,0 MOV DH,6 MOV DL,5 INT 10H
MOV AH,9 MOV AL,'*'
MOV BL,00001110B MOV BH,0 MOV CX,9 INT 10H
MOV AH,2 MOV BH,0 MOV DH,7 MOV DL,4 INT 10H
MOV AH,9 MOV AL,'*'
MOV BL,00001011B MOV BH,0 MOV CX,11 INT 10H
MOV AH,08H INT 21H
;光标移到第五行第六列开始输出;颜色为红 ;光标移到第六行第五列开始输出;颜色为黄 ;光标移到第七行第四列开始输出;颜色为绿 15
POP DX POP CX POP BX POP AX RET Triangle1 ENDP
Parallelogram1 PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX
MOV AH,2 MOV BH,0 MOV DH,2 MOV DL,8 INT 10H
MOV AH,9 ;光标移到第二行第八列开始输出 MOV AL,'*'
MOV BL,00001101B ;颜色为红 MOV BH,0 MOV CX,8 INT 10H
MOV AH,2 MOV BH,0 MOV DH,3 MOV DL,9 INT 10H
MOV AH,9 ;光标移到第三行第九列开始输出 MOV AL,'*'
MOV BL,00001110B ;颜色为黄 MOV BH,0 MOV CX,8 INT 10H
MOV AH,2 MOV BH,0 MOV DH,4 MOV DL,10 INT 10H
MOV AH,9 ;光标移到第四行第十列开始输出 MOV AL,'*'
16
共分享92篇相关文档