汇编语言问题,高手指点

来源:百度知道 编辑:UC知道 时间:2024/06/08 07:32:41
为什么总出现下面的错误,我该怎样改正,谢谢

debug里的数都是默认十六进制的,不加h效果是一样的,不用加。

在debug下写汇编程序与需要编译、链接后才能运行的程序不同。

编译器默认的数据是十进制,若要使用其它进制数据,要在数据后面显式缀以进制符号。如十六进制用“H”表示、八进制用“O”或“Q”表示、二进制用“B”表示。用文本编辑器编写的汇编语言源程序,需要编译、链接后,才能运行。若程序中有语法或其它错误,是通不过编译的。

debug下,除了指令,就是数据,且都认为是十六进制的。在这里写程序,简单的几条指令,一般初学者多能操作。若是稍微复杂一些的程序,是需要有经验的程序员才能做得到。

指令MOV AL,45H,若用文本编辑器来书写是完全正确的,能够通过编译。在debug下,则肯定出错。错误原因:

十六进制数中,最大字母是“F”或“f”,“H”不是十六进制有效字母。

更正:
MOV AL,45
这样写就对了,这里的45,就是十六进制的,相当于十进制的69。

直接 mov al,45 就行
debug默认的是16进制,也只能是16进制的操作.相当于规定一个标准的调试进制位
如果你写成45h,就会与debug规则冲突