有关汇编语言指令的问题

来源:百度知道 编辑:UC知道 时间:2024/05/31 07:43:06
MOV AL,[EBX]
MOV EAX,table[BX]
MOV AX,[EBX+ESI]
MOV [EDI],[ESI]
请问以上四个汇编语言的指令是什么意思啊?请解释一下
还有两个
MOV EAX,[Table+ESI]
MOV EAX,Table[ESI]
谢谢了

MOV AL,[EBX] 将EBX为地址中的内容放到AL中,其中EBX为32位元暂存器,只使用低16位
MOV EAX,table[BX] 应该是talbe:[BX]吧,就是把段地址为table,偏移地址为BX的内容放到EAX中,同上,只使用低16位
MOV AX,[EBX+ESI] 将偏移地址EBX与变址ESI相加,这个和为地址的内容放入AX中
MOV [EDI],[ESI] 将偏移地址为ESI的地址的内容覆盖EDI为地址为地址的内容(与DI和SI不同在于都是32位的寄存器)

MOV AL,[EBX] 将EBX为地址中的内容放到AL中

MOV EAX,table[BX] 这个是寄存器相对寻址,table是符号地址,,将偏移地址为table+[BX]的内存单元的两个字的内容送到eax
MOV AX,[EBX+ESI] 将有效地址为[EBX+ESI]的内容送到ax
MOV [EDI],[ESI]这条指令应该不对吧?两个操作数中必须有一个是寄存器
MOV EAX,[Table+ESI]
MOV EAX,Table[ESI]
这两条指令一样的table是符号地址

我也是刚学汇编的不知道对不对。

楼上错了 table[bx]那个没错,应该就是这样,类似数组的表达方法,表达就是[Table+bx]的意思