我的任务是将AX和BX加到AX,而不使用“MOV”或“LEA”操作数。 我有点被困在这里,你能帮帮我吗?
PersonBuilder
我做错了什么?对不起我的错误,我是新手。
答案 0 :(得分:4)
今天16位寻址模式中关于lea
的不太明显的事情是,任何寄存器都不能用作src
操作数。如果我没记错,您只能将基指针(bp
)或索引(bx
)添加到源或目标索引(si
或di
)寄存器中。 dest
操作数可以是任何通用寄存器。
允许以下内容:
lea ax, [si + bx]
lea ax, [di + bx]
lea ax, [si + bp]
lea ax, [di + bp]
此时我相信你已经掌握了如何完成任务:
mov si, ax ; si = ax
lea ax, [si + bx] ; ax = ax + bx