在六进制数之前追加0

fud*_*din 0 assembly x86-16

我的老师已经指示我在编写指令0之前追加,hexa numbers因为一些编译器会0在指令编号之前搜索,以区别于标签.如果指令已经以0开头,我很困惑,在这种情况下该怎么办?

例如,

AND BL, 0FH
Run Code Online (Sandbox Code Playgroud)

是否需要0在该六进制数之前添加?请帮帮我.谢谢

编辑:

对不起,如果我以前不够清楚.我的意思是,在上面的例子中,0已经存在,我是否需要将其转换为,

AND BL, 00FH
Run Code Online (Sandbox Code Playgroud)

pax*_*blo 5

除了像0或的特殊情况1,我倾向于使用完整的数字编码我的十六进制数字,以便更容易看到意图是什么:

mov al, 09h
mov ax, 0123h
Run Code Online (Sandbox Code Playgroud)

等等.

对于数字以字母(如deadbeef)开头的情况,我在前面添加额外的字符0.

但不,如果您的十六进制数字已经以数字开头,通常不(a)必须这样做.

在任何情况下,我都会将大多数数字放在一个equ声明中,而不是在整个代码中添加幻数.你愿意看到:

mov ax, 80
Run Code Online (Sandbox Code Playgroud)

要么:

mov ax, lines_per_screen
Run Code Online (Sandbox Code Playgroud)

(a)当然,这取决于你的汇编程序,但是从记忆中,我用过的所有工作都是这样的.