【0401】寻址方式

第五章 寻址方式和基本指令系统

汇编语言有汇编指令、伪指令、宏指令

汇编指令由 操作码+操作数1+操作数2 组成,操作数字段由寄存器、内存单元地址、端口地址和立即数(一个十进制数,例如’5’)

双操作数指令\单操作数\无操作数

push AX,AX必须是2个字节 单操作数

NOP:空操作指令,什么操作也不做

CLC:进位标志CF清零

HAL:停机指令

两个指标:指令执行时间,指令占用空间

寻址方式

立即数寻址方式:所要找的操作数直接写在指令中,这种操作数叫立即数.指令中有立即数的寻址方式叫立即寻址.这个立即数在代码段地址CS里

注意:立即寻址只能用于源操作数字段;立即数的数据类型必须与目的操作数的类型一致,都是字或字节

**寄存器寻址方式:**寄存器可以是8位,16位.CPU在寄存器中得到数据不用访问内存

**存储器寻址方式:**CPU必须经过系统总线访问存储器,存储器的地址以逻辑地址形式表示,因此这一类寻址方式在指令中要表示出有效地址EA.双操作数不允许都是存储单元

(1)直接寻址方式

操作数存放在内存中,指令形如:MOV AX, DS:[2000H] 有效地址EA=2000H直接写在指令里,如果没有DS标记,默认是DS

存储器读/写操作

写操作:把MOV指令的目的操作数变为存储单元,源操作数为CPU的存储器

读操作:把MOV指令的源操作数变为存储单元,目的操作数为CPU的存储器

符号地址

为存储单元定义一个名字,改名字就是符号地址.符号地址可以加括号也可以是不加括号.

段超越:操作数在其他段地址中

(2)寄存器间接寻址方式

MOV AX ,[BX]

操作数的EA在基址寄存器BX,BP或变址寄存器SI、DI中,操作数的段地址在数据段DS[BX +SI/DI]或堆栈段SS[BP+SI/DI]中,也可以用段超越

(3)寄存器相对寻址方式

操作数存放在内存中。指令形如:MOV AX,[BX +1234H]

MOV AX,COUNT[DI] 注释:前面的COUNT是一个符号地址,如果是BP的话要用段地址SS

(4)基址变址寻址方式

MOV AX,[BX+SI]

操作数的EA是一个基址寄存器和一个变址寄存器的内容之和

DS【BX+SI、BX+DI】 SS【BP+SI,BP+DI】========?

(5)相对基址变址寻址方式

MOV AX,[BX+SI+1243H]

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值