汇编8086:仅将2个寄存器与MOV和LEA相加

时间:2016-10-01 23:35:23

标签: assembly x86-16 mov

我的任务是将AX和BX加到AX,而不使用“MOV”或“LEA”操作数。 我有点被困在这里,你能帮帮我吗?

PersonBuilder

我做错了什么?对不起我的错误,我是新手。

1 个答案:

答案 0 :(得分:4)

今天16位寻址模式中关于lea的不太明显的事情是,任何寄存器都不能用作src操作数。如果我没记错,您只能将基指针(bp)或索引(bx)添加到源或目标索引(sidi)寄存器中。 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