汇编语言——传送指令
2016-11-02 23:15
1071 查看
一.传送指令
1.通用传送指令MOV
MOV DST,SRC;将SRC传送到DST中
imm是立即数,reg是寄存器,seg是段寄存器,mem是主存单元
注意:
①两个操作数的类型要一致
②两个操作数不能都是mem
③段寄存器操作的限制
不允许立即数传送给段寄存器
不允许直接改变CS值
不允许段寄存器之间的直接数据传送
2.堆栈操作指令
PUSH/POP
PUSH SRC
POP DST
;SP←(SP)-2 ;DST←((SP))
;(SP)←(SRC) ;SP←(SP)+2
注意:DST不能为CS
交换指令XCHG,把两个位置的数据进行互换
XCHG DST,SRC ;
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)
1.通用传送指令MOV
MOV DST,SRC;将SRC传送到DST中
DST | SRC | 操作位数 |
mem/reg | imm | 8/16 |
mem/reg/seg | reg | 8/16 |
reg/seg | mem | 8/16 |
mem/reg | seg | 8/16 |
注意:
①两个操作数的类型要一致
②两个操作数不能都是mem
③段寄存器操作的限制
不允许立即数传送给段寄存器
不允许直接改变CS值
不允许段寄存器之间的直接数据传送
2.堆栈操作指令
PUSH/POP
PUSH SRC
POP DST
;SP←(SP)-2 ;DST←((SP))
;(SP)←(SRC) ;SP←(SP)+2
SRC/DST |
SEG |
REG16 |
MEM16 |
交换指令XCHG,把两个位置的数据进行互换
XCHG DST,SRC ;
DST | SRC | 操作位数 |
mem/reg | reg | 8/16 |
reg | mem | 8/16 |
输入输出寻址方式
直接寻址:只用于寻址前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)
相关文章推荐
- 汇编语言学习笔记 第二节:数据传送指令
- 汇编语言:浮点数传送指令
- 汇编语言基础教程-指令:传送,交换,取地址
- 32位汇编语言学习笔记(2)--数据传送指令
- 关于汇编语言中传送指令存在一些限制的理解
- 32位汇编语言学习笔记(11)--条件传送指令
- 汇编语言一 利用移位,传送和相加指令实现AX的内容扩大十倍。
- 汇编语言中的串传送指令
- (2011.11.06)汇编语言第03章习题(数据传送指令)
- 利用汇编语言编程实现:将mov ax,4c00h之前的指令复制到内存0:200处,上机调试,跟踪运行结果。
- 汇编语言实验4-利用跳转指令构造循环
- 读王爽老师汇编语言笔记---int指令、端口、外中断以及键盘的输入
- int指令03 - 零基础入门学习汇编语言66
- 汇编(五)——数据传送指令一
- 汇编语言-第二章 寄存器(CPU工作原理)之执行指令过程(二)
- 汇编基础教程(二)——常用汇编指令之传送指令
- 《汇编语言(王爽)》第五章([bx]和loop指令)、第六章(包含多个段的程序)【总结】
- 汇编语言中伪指令assume的作用
- 8086汇编语言自学经验分享 push,pop指令执行时,sp怎么变
- 汇编语言中常用的伪指令