概述
数据传送类指令
作用:把数据、地址或立即数传送到寄存器或存储单元中
通用传送指令
传送指令MOV
- 格式:MOV 目的操作数,源操作数
功能:将源操作数的内容传送给目的操作数,源操作数不变
- 注:MOV指令不改变标志位。
操作数的位数需要匹配。即8位配8位,16位配16位
两个操作数不能同时为段寄存器,也不能为存储器
CS不能作为目的操作数
IP不能做目的操作数和源操作数
立即数不能直接传送给段寄存器
对于存储器单元与立即数同时作为操作数的情况,必须显式指明;byte ptr指示字节类型,word ptr指示字类型、 - 例子
MOV AX, 1010H
MOV BL, 58H
MOV BYTE PTR [BX], 10H
MOV WORD PTR [BX], 2255H
MOV BYTE PTR [SI+20H], 10H
数据交换指令XCHG
- 格式:XCHG 寄存器,存储器操作数/寄存器
- 功能:实现源操作数和目的操作数之间的的内容互换
- 注:不能存储器与存储器之间交换
XCHG指令不影响标志位
mov ax,1234h ;ax=1234h
mov bx,5678h ;bx=5678h
xchg ax,bx
;ax=5678h,bx=1234h
xchg ah,al ;ax=7856h
表转换指令XLAT (了解)
- 格式 XLAT 或XLAT 首地址
- 功能:将AL与BX寄存器内容之和作为偏移地中,将其所对应的存储单元的内容送入AL寄存器。
- 执行前:在内存建立一个字节表格,内含要转换成的目的代码
BX——存放表格首地址
AL——存放相对表格首地址的偏移量 - 执行后:将AL寄存器的内容转换为目标代码
堆栈存储指令(字操作 2个字节)
- 堆栈:后进先出FILO,位于堆栈段;SS段寄存器记录其段地址
- 堆栈只有一个出口,即当前栈顶;用堆栈指针寄存器SP指定
进栈指令PUSH
- PUSH:进栈指令先使堆栈指针SP-2,然后把一个字操作数存入堆栈顶部
- 格式: PUSH r16/m6/seg;sp<-sp-2(高地址向低地址)
;SS:【SP】<-r16/m16/seg
出栈指令POP
- POP:出栈指令把栈顶的一个字传送至指定的目的操作数,然后堆栈指针SP+2
- POP r16/m16/seg ;r16/m16/seg<-SS:[SP]
;SP<-SP+2
- 堆栈操作的单位是字,进栈和出栈只对字量
字量数据从栈顶压入和弹出时,都是低地址字节送低字节,高地址字节送高字节 - 堆栈操作遵循先进后出原则,但可用存储器寻址方式随机存取堆栈中的数据
- 作用:临时存放数据,传递参数,保存和恢复寄存器
地址传送指令
功能:地址传送指令将存储器单元的逻辑地址送至指定的寄存器
有效地址传送指令LEA
- 特点:传送的是存储器操作数的地址(偏移地址,段地址),而不是内容源操作数必须是存储器操作数,目的操作数是16位通用寄存器。
OPD可为一个16位的通用寄存器,通常为:BX、BP、SI、DI。OPS可为变量名、标号或地址表达式。 - LEA r16,mem
功能:将源操作数的有效地址传送至指定的16通用寄存器
MOV BX,0400H
MOV SI,3CH
LEA BX,[BX+SI+0F62H] ;BX=0400h+003ch+0f62h=139EH
- 例子
设BX=0100H,DI=0030H,DS:[0030H]=2436H, 变量DATA的有效地址为0050H
LEA BP, [3000H] ;执行后 BP=3000H
LEA BX, [BX+DI] ;执行后 BX=0130H
LEA SI, DATA ;执行后 SI=0050
LEA SI, [DI] ;执行后 SI=0030H
MOV SI, [DI] ;执行后 SI=2436H
指针传送指令LDS,LES
- LDS r16,mem;r16←mem, DS←mem+2
LDS指令将主存中mem指定的字送至r16,并将mem的下一字送DS寄存器 - LES r16,mem;r16←mem, ES←mem+2
LES指令将主存中mem指定的字送至r16,并将mem的下一字送ES寄存器
MOV WORD PTR [3060H],0100H
MOV WORD PTR [3062H],1450H
LES DI,[3060H] ;DI=0100H,ES=1450H
LDS SI,[3060H] ;SI=0100H,DS=1450H
最后
以上就是机灵猎豹为你收集整理的汇编语言——数据传送类指令数据传送类指令的全部内容,希望文章能够帮你解决汇编语言——数据传送类指令数据传送类指令所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复