80x86汇编习题
题目描述:键盘接收一个个位数N,然后响铃 N 次(响铃的ASCII码为07)
思路:
1,从键盘接收一个数,要控制在'0'-'9'之间
2,将次数存放在CX中
3,用LOOP循环,INT中断来响铃
(我电脑没有蜂鸣器,用输出'A'字母来代替响铃)
DATAS SEGMENT
DATAS ENDS
STACKS SEGMENT
DW 100H DUP(?)
TOP LABEL WORD
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
MOV AX,STACKS
MOV SS,AX
LEA SP,TOP ;初始化
MOV AH,1
INT 21H ;从键盘接收一个数
SUB AL,'0' ;减去'0',获得数值
CMP AL,0 ;看看是否在1-9之间
JBE OUTT
CMP AL,9
JA OUTT
XOR AH,AH
MOV CX,AX ;将次数放到CX中
L1:
MOV DL,'A' ;由于电脑没有响铃,用打印多少次A来代替
MOV AH,2
INT 21H
LOOP L1
OUTT:
MOV AH,4CH
INT 21H
CODES ENDS
END START