**************************************************************************************************
2、传送—填充指令
**************************************************************************************************
传送—填充指令是把位数短的源操作数传送给位数长的目的操作数。指令格式如下:
MOVSX/MOVZX Reg/Mem, Reg/Mem/Imm
其中:80386+表示80386及其之后的CPU,其它类似符号含义类同,不再说明。
指令的主要功能和限制与MOV指令类似,不同之处是:在传送时,对目的操作数的高位进行填充。根据其填充方式,又分为:符号填充和零填充。
符号填充指令MOVSX
MOVSX的填充方式是:用源操作数的符号位来填充目的操作数的高位数据位
零填充指令MOVZX
MOVZX的填充方式是:恒用0来填充目的操作数的高位数据位
例如,AL=87H,指令MOVSX CX, AL;MOVZX DX, AL执行后,问CX和DX的值是什么?
根据传送-填充指令的填充方式可知:
指令MOVSX CX, AL执行后,(CX)=0FF87H,指令MOVZX DX, AL执行后,(DX)=0087H。
从上例可看出,两条指令的源操作数完全一样,但因为它们的填充方式不同,所得到的结果而就不同。
传送填充指令详解
本文介绍了计算机体系结构中的传送-填充指令,包括MOVSX(符号填充)和MOVZX(零填充)。通过具体示例展示了这两种指令如何处理不同位宽的数据,并填充高位数据位。
1万+

被折叠的 条评论
为什么被折叠?



