【发布时间】:2018-04-15 07:51:46
【问题描述】:
有人可以解释一下这个汇编代码的每一行吗?
void main(void){
_asm{
mov ah,8 ;read key no echo
int 21h
cmp al,‘0’ ;filter key code
jb big
cmp al,‘9’
ja big
mov dl,al ;echo 0 – 9
mov ah,2
int 21h
big:
}
}
PS:我是 c/c++ 汇编的新手。
【问题讨论】:
-
这段代码的目标是什么操作系统/编译器?使用 16 位汇编让我觉得它非常非常古老。
-
输入不在 ah 中,在 al 中(per docs)。
-
int 21h正在针对旧的 DOS 界面进行编程,而 Visual C++ 通常针对 Windows 界面。相关:stackoverflow.com/q/9524388/39223 -
@RJHunter 感谢您指出错误...我对组装完全陌生...
标签: inline-assembly