当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
计算机三级辅导:传送—填充指令(Move
发布时间:2010/4/5 17:53:12 来源:城市学习网 编辑:admin
  传送—填充指令
  传送—填充指令是把位数短的源操作数传送给位数长的目的操作数。指令格式如下:
  MOVSX/MOVZXReg/Mem,Reg/Mem/Imm ;80386+
  其中:80386+表示80386及其之后的CPU,其它类似符号含义类同,不再说明。
  指令的主要功能和限制与MOV指令类似,不同之处是:在传送时,对目的操作数的高位进行填充。根据其填充方式,又分为:符号填充和零填充。
  .MOVSX的执行效果
  .MOVZX的执行效果
  、符号填充指令MOVSX
  MOVSX的填充方式是:用源操作数的符号位来填充目的操作数的高位数据位。
  、零填充指令MOVZX
  MOVZX的填充方式是:恒用0来填充目的操作数的高位数据位。
  例5.1已知:AL=87H,指令MOVSXCX,AL,MOVZXDX,AL执行后,问CX和DX的值是什么?
  解:根据传送-填充指令的填充方式可知:
  指令MOVSXCX,AL执行后,=0FF87H,指令MOVZXDX,AL执行后,=0087H。
  从上例可看出,两条指令的源操作数完全一样,但因为它们的填充方式不同,所得到的结果而就不同。
  试比较下列指令,分析它们执行结果的相同和不同之处:
  MOV AX,87H MOVSX AX,87H MOVZX AX,87H
  3、交换指令XCHG
  交换指令XCHG是两个寄存器,寄存器和内存变量之间内容的交换指令,两个操作数的数据类型要相同。其指令格式如下:
  XCHGReg/Mem,Reg/Mem
  该指令的功能和MOV指令不同,后者是一个操作数的内容被修改,而前者是两个操作数都会发生改变。寄存器不能是段寄存器,两个操作数也不能同时为内存变量。
  例5.2已知:AX=5678H,BX=1234H,指令XCHGAX,BX执行后,AX和BX的值是什么?
  解:这是两个寄存器内容进行交换,指令执行后,有:=1234H,=5678H。
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved