微机原理==第二章16位和32位微处理器(4)

(1)通用传送指令MOV

MOV DST,SRC;(SRC)→DST

mov al,4      
mov si,200h   
mov byte ptr [si],0ah       
mov word ptr [si+2],0bh  
mov al,’1mov ax,bx   
mov ah,al
mov dx,[bp] 
mov es,[si] 
mov ds:[bp],dl
mov ds,ax

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

(2)堆栈操作指令PUSH/POP

PUSH SRC
;SP←(SP)-2
;(SP)←(SRC)

POP DST
;DST←((SP))
;SP←(SP)+2

(3)交换指令XCHG

把两个位置的数据进行互换
XCHG DST,SRC;
(DST)→(SRC)

(4)输入/输出指令IN/OUT

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

输入指令IN

将外设数据传送给CPU内的AL/AX

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

输出指令OUT

将CPU内的AL/AX数据传送给外设
OUT port,AL
OUT port,AX
;port←(AL)/(AX)
OUT DX,AL
OUT DX,AL
;(DX)←(AL)/(AX) (DX间接寻址)

(5)换码指令XLAT

将(BX)为首址(AL)为位移量的字节存储单元中的数据送AL寄存器。

(6)地址传送指令LEA/ LDS/ LES /LSS

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

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

(7)标志寄存器传送指令

传送标志寄存器FLAGS的内容,方便进行对各个标志位的直接操作
低8位传送:LAHF和SAHF
16位传送:PUSHF和POPF

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值