在汇编级编程中使用db定义一个字节后增加一个值

时间:2012-10-29 06:24:19

标签: assembly nasm

嗨,有人可以帮我解决这个问题吗?我是装配级编程的新手。

在我的alp代码中,我用代码定义了一个字节:

count db 0

在程序的另一部分我试图将值提取到ah寄存器中并像这样添加1:

mov ah,count
add ah,1

现在,如何使用 ah 寄存器中的新值和增量值更新 count 识别的内存位置,以便我可以将其用作循环计数器或任何其他目的?

1 个答案:

答案 0 :(得分:3)

mov ah, count无效。在Nasm语法中,这会尝试将count的地址移动到啊......并且它不适合。你想要“[内容]”。

mov ah, [count]
inc ah
mov [count], ah

你也可以......

inc byte [count]
; and perhaps...
cmp byte [count], MAXCOUNT
jb looptop

(当然定义了MAXCOUNTlooptop)使用寄存器比使用内存更快,但你可以做到。正如马特所说,不要犹豫“尝试”!