【发布时间】:2019-09-29 00:51:58
【问题描述】:
我从我的伙伴那里得到了这个汇编程序。我的老师提供了它。不幸的是我错过了它。请有人告诉我程序编写的目的(输入/输出或目标)
.MODEL SMALL
.STACK 100H
.CODE
MAIN PROC
MOV DX,0
MOV AH,1
INT 21H
WHILE_:
CMP AL,0DH
JE END_WHILE
INC DX
INT 21H
JMP WHILE_
END_WHILE:
MAIN ENDP
END MAIN
【问题讨论】:
-
从段模型中,这是为了生成一个 .COM 可执行文件。旧的 MS-DOS 中断
21h函数01h读取键盘。所以猜测CMP AL,0DH的目的。另外:如果代码是由老师提供的,那就很奇怪了,它不会循环回到中断的设置,而是重复中断并分支到其他地方。它也对DX没有任何作用。 -
@WeatherVane - 没有调用终止程序的事实也很奇怪。
-
回到问题:输入来自键盘,输出可能是系统错误消息。
-
我也对此感到困惑。我不明白整个代码代表什么
-
我认为这里的 cmets 中有足够的内容可以看出程序不完整。没有输出,也没有正确终止。
标签: assembly x86-16 microprocessors machine-language