汇编语言练习(一)
编写程序段从键盘接收一个字符,如输入为Y或y,在屏幕上输出‘yes’;如输入为N或n,在屏幕上输出‘NO’; 然后退出。如输入其它字符,屏幕上输出‘please input again’,然后等待重新输入。
汇编代码
DATAS SEGMENT ;此处输入数据段代码
STRING DB 'INPUT A LETTER: $'
STRING1 DB 'YES $'
STRING2 DB 'NO $'
STRING3 DB 'PLEASE INPUT AGAIN: $'
BUFF DB 100
DB ?
DB 100 DUP('$')
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS;,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
MOV DX ,OFFSET STRING
MOV AH, 09H
INT 21H
L: MOV DX,OFFSET BUFF
MOV AH,0AH
INT 21H
mov ah,2
mov dl,10
int 21h
mov ah,2
mov dl,13
int 21h
MOV AH,06H
XOR SI,SI
MOV CL,BUFF[1]
MOV DL,BUFF[SI+2]
CMP DL,'Y'
JZ O1
CMP DL,'y'
JZ O1
CMP DL,'N'
JZ O2
CMP DL,'n'
JZ O2
MOV DX,OFFSET STRING3
MOV AH,09H
INT 21H
JMP L
O1: MOV DX ,OFFSET STRING1
MOV AH, 09H
INT 21H
JMP EXIT
O2: MOV DX,OFFSET STRING2
MOV AH,09H
INT 21H
JMP EXIT
EXIT:
MOV AH,4CH
INT 21H
CODES ENDS
END START