以下是从键盘输入一个一位数的程序,赋值给CX,输入等于0则什么都不做,不等于0则输出“cx != 0”,经调试通过
DATA SEGMENT
IN_A DB 'INPUT: CX =','$'
OUT_A DB 'OUTPUT: CX != 0','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
MAIN PROC FAR
MOV AX, DATA
MOV DS, AX
MOV AH, 9 ;输出"CX ="
LEA DX, IN_A
INT 21H
MOV AH, 0 ;从键盘输入一个数字赋值给CX
INT 16H
XOR AH, AH ;清零AH
MOV CX, AX
SUB CX, 30H ;需要将从键盘接受的字符的ASCII码转为数字(ASCII码=数字+30H)
MOV AH, 2 ;设置光标位置1行0列
MOV BH, 0
MOV DH, 1
MOV DL, 0
INT 10H
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CMP CX, 0 ;比较CX和0的大小
JE EXIT ;相等则跳转到EXIT
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV AH, 9 ;CX不等于0才会执行该语句,输出CX != 0
LEA DX, OUT_A
INT 21H
EXIT: ;CX=0程序什么都不做直接退出
MOV AX, 4C00H
INT 21H
MAIN ENDP
CODE ENDS
END MAIN
温馨提示:答案为网友推荐,仅供参考