传输类汇编指令的使用

传输类汇编指令的使用

1 数据传输指令

把数据、地址或立即数传送到寄存器或存储单元中

1.1 MOV

格式:MOV  目的操作数,源操作数

功能:将源操作数的内容传送给目的操作数,源操作数不变

例如:

MOV AX,2000H ;将16位数据2000H传送到AX寄存器。

MOV AL,20H ;将8位数据20H传送到AL寄存器。

MOV AX,BX ;将BX寄存器的16位数据传送到AX寄存器。

MOV AL,[2000H] ;将2000H单元的内容传送到AL寄存器。

1.2 XCHG

格式:XCHG  寄存器,存储器操作数/寄存器

功能:实现源操作数和目的操作数之间的的内容互换

例如:

MOV AX, 1234H ; AX=1234H

MOV BX, 5678H ; BX=5678H

XCHG AX,BX ; AX=5678H,BX=1234H,AX和BX寄存器内的值发生了交换

注意:存储器与存储器之间不能发生交换

1.3 POP

格式:POP 寄存器/段寄存器/内存单元

功能:让数据出栈,并用一个寄存器/段寄存器/内存字单元接收出栈的数据(POP 指令首先把 ESP 指向的堆栈元素内容复制到一个 16 位或 32 位目的操作数中,再增加 ESP 的值)

例如:

MOV AX,1000H  

MOV DS,AX  ; 内存单元的段地址要放在DS中

PUSH [0]  ; 将1000:0处的字压入栈中

POP[2]  ; 出栈,出栈的数据送入1000:2处

1.4 PUSH

格式:PUSH 寄存器/段寄存器/内存单元

功能:将一个寄存器/段寄存器/内存字单元中的数据入栈(PUSH 指令首先减少 ESP 的值,再将源操作数复制到堆栈)

例如:

MOV AX,1000H  

MOV DS,AX  ; 内存单元的段地址要放在DS中

PUSH [0]  ; 将1000:0处的字压入栈中

POP[2]  ; 出栈,出栈的数据送入1000:2处

1.4 XLAT

格式:XLAT

或XLAT 首地址

功能:将AL与BX寄存器内容之和作为偏移地址,将其所对应的存储单元的内容送入AL寄存器。

执行前:在内存建立一个字节表格,内含要转换成的目的代码

BX——存放表格首地址

AL——存放相对表格首地址的偏移量

执行后:将AL寄存器的内容转换为目标代码

2 输入输出端口传送指令

2.1 IN

格式:IN 寄存器名,端口号

功能:通过指定的端口号输入数据到寄存器当中

例如:

IN AL,21H ;表示从21H端口读取一字节数据到AL

2.2 OUT

格式:OUT 端口号,寄存器名

功能:把CPU寄存器中存储的数据输出到指定端口号的端口

例如:

OUT 21H,AL;将AL的值写入21H端口

注意:输入输出端口由立即方式指定时, 其范围是 0-255; 由寄存器 DX 指定时,

其范围是 0-65535.

3 目的地址传送指令

3.1 LEA

格式:LEA 寄存器,内存单元

功能:LEA指令将存储器内的偏移地址送到指定的寄存器

例如:

LEA DX, [SI] ;把偏移地址存到DX

3.2 LDS

格式:LDS 寄存器,内存单元

功能:传送目标指针,把指针内容装入DS

例如:

LDS SI, 1000H ;把段地址:偏移地址存到DS:SI

3.3 LES

格式:LES 寄存器,内存单元

功能:传送目标指针,把指针内容装入ES

例如:

LES DI, 1000H ; 把段地址:偏移地址存到ES:DI

3.3 LFS

格式:LFS 寄存器,内存单元

功能:传送目标指针,把指针内容装入FS

例如:

LFS DI, 1000H ; 把段地址:偏移地址存到FS:DI

3.3 LGS

格式:LGS 寄存器,内存单元

功能:传送目标指针,把指针内容装入GS

例如:

LGS DI, 1000H ; 把段地址:偏移地址存到GS:DI

3.3 LSS

格式:LSS 寄存器,内存单元

功能:传送目标指针,把指针内容装入SS

例如:

LSS DI, 1000H ; 把段地址:偏移地址存到SS:DI

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值