下列指令中格式错误的原因同样是BP和BX是16位寄存器,不能直接进行指针运算。在移动数据时,需要使用有效地址来计算内存地址。此外,此指令中目的操作数是一个通用寄存器,应该使用MOV reg,mem的形式,即将内存中的数据移动到指定的寄存器中。因此,应该像下面这样来写指令:
MOV reg,mem
MOV CX, [BP+BX]
这样就可以正确地将BP和BX中的值相加,并将结果作为CX指向的内存地址的偏移量,计算出内存地址,将该地址中的数据读取到CX寄存器中。
发布 问题
在线 客服
回到 顶部