汇编语言——传送指令

一.传送指令

1.通用传送指令MOV

MOV  DST,SRC;将SRC传送到DST中

DSTSRC操作位数
mem/regimm8/16
mem/reg/segreg8/16
reg/segmem     8/16
mem/regseg       8/16

imm是立即数,reg是寄存器,seg是段寄存器,mem是主存单元
注意:

①两个操作数的类型要一致
②两个操作数不能都是mem
③段寄存器操作的限制
不允许立即数传送给段寄存器
不允许直接改变CS值
不允许段寄存器之间的直接数据传送


2.堆栈操作指令

PUSH/POP                                    

PUSH  SRC  POP DST
;SP←(SP)-2 ;DST←((SP))
;(SP)←(SRC) ;SP←(SP)+2

SRC/DST
SEG
REG16
MEM16
注意:DST不能为CS


交换指令XCHG,把两个位置的数据进行互换

XCHG DST,SRC ;

DST SRC操作位数
mem/regreg8/16
regmem8/16

3.输入/输出指令IN/OUT

输入输出寻址方式
直接寻址:只用于寻址前256个(00H~FFH) 端口,操作数port表示端口号
间接寻址:可用于寻址全部64K个端口,DX寄存器的值为端口号
对大于FFH的端口只能采用间接寻址方式

(1)输入指令IN       将外设数据传送给CPU内的AL/AX

IN AL,port
IN AX,port  
;AL或AX←(port)
IN AL,DX
IN AX,DX  
;AL或AX←((DX))(DX间接寻址)


(2)输出指令OUT 将CPU内的AL/AX数据传送给外设

OUT port,AL
OUT port,AX
;port←(AL)/(AX) 
OUT DX,AL 
OUT DX,AL
;(DX)←(AL)/(AX) (DX间接寻址)


4.换码指令XLAT  将(BX)为首址(AL)为位移量的字节存储单元中的数据送AL寄存器。

XLAT ;((BX)+(AL))→AL


5.地址传送指令LEA/ LDS/ LES /LSS


(1)取有效地址指令LEA 将存储器操作数的有效地址传送至指定的寄存器中

LEA reg,mem
;reg←mem的有效地址EA

(2)取段地址和偏移地址指令LDS/LES/LSS 将主存中指定字单元数据送入指定寄存器,下一字单元数据送段寄存器

LDS Reg,mem
;Reg←(mem),
;DS←(mem+2)


  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值