mov ax,[si+di]为什么错了
在x86汇编语言中,MOV指令的操作数有一些限制。在这种情况下,[SI+DI]不是一个合法的操作数。MOV指令只能直接将数据从内存加载到寄存器中,或者将数据从寄存器存储到内存中。如果要使用[SI+DI]地址作为操作数,需要先将其计算出的结果存储到一个通用寄存器中,然后再使用MOV指令进行加载。例如:
add bx, si ; 将SI与BX相加,将结果保存到BX寄存器中
mov ax, [bx] ; 将[BX]地址处的数据加载到AX寄存器中
请注意,在使用MOV指令时,操作数的格式和可用的寄存器有一定的限制,具体取决于指令的编码和CPU架构。
AI智能问答网
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用创作工场,更聪明、更完整、更原创!