有关汇编语言的,可以帮我讲解一下下面的程序每个语句的作用吗?
BEGIN: MOV AH , 1
INT 21H
CMP AL , 'a'
JB STOP
CMP AL , 'z'
JA STOP
SUB AL , 20
MOV DL , AL
MOV AH , 2
INT 21H
JMP BEGIN
STOP: RET
追问:MOV AH , 1
INT 21H
意思是不是 在键盘输入1,就开始系统功能调用?MOV AH , 1
INT 21H这个我明白了,是在键盘输入
为什么要MOV DL , AL 送到寄存器DL中?不送到DL显示不出来吗?
答案:这段程序是从键盘输入字符,然后判断条件,符合条件的进行一个操作,然后显示在屏幕上。每句解释如下:
BEGIN: MOV AH , 1
INT 21H 以上两句,1号中断,从键盘输入字符
CMP AL , 'a'
JB STOP 以上两句判断输入字符是否大于a,大于继续执行,小于就停止
CMP AL , 'z'
JA STOP 以上两句判断输入字符是否小于z,小于继续执行,大于就停止
SUB AL , 20 把符合条件的字符转换成相应的大写字母
MOV DL , AL 送到寄存器DL中
MOV AH , 2
INT 21H 以上两句是2号中断,在屏幕上显示符合条件的字符
JMP BEGIN
STOP: RET
上一个:王爽《汇编语言》检测点9.3的一道题
下一个:急求,汇编语言进行冒泡法排序的程序例子!!