永发信息网

汇编中直接寻址与扩展寻址的区别

答案:2  悬赏:50  手机版
解决时间 2021-01-29 18:07
如题,最好能举例说明
最佳答案
(3) 直接寻址方式(DIR,Direct addressing mode)

直接寻址指令,字长二字节,它可以对存储器的起始256个地址($0000~$00FF),叫内存直接页(或内存第0页)进行访问。指令的第一个字节是操作码,第二个字节是操作数地址。在直接寻址中,CPU自动把$00作为操作数高位地址,第二个字节作为操作数的低位地址,其寻址范围为$0000~$00FF。下述指令属于DIR寻址方式。
LDA $60 //将存储单元$60中的数取至累加器A
BRSET和BRCLR是2条很特别的3字节指令,它们用直接寻址方式取得操作数,用相对寻址方式指明转移目的地址。例如:
BRCLR #3,$50, A1 //若存储单元$50的第3位=0则转至标号A1处
BRSET #3,$50, A1 //若存储单元$50的第3位=1则转至标号A1处
(4) 扩展寻址方式(EXT,Extended addressing mode)

扩展寻址指令是三字节指令,可访问存储器中的任何地址。在这种指令中,第一个字节是操作码,第二个字节是操作数的高字节地址,第三个字节是低字节地址。扩展寻址是相对于直接寻址方式而言的,其寻址范围为$0000~$FFFF,比直接寻址范围大得多。下述指令属于EXT寻址方式,因为它的地址已经超过了 DIR寻址方式的范围。
LDA $023D //将存储单元$023D中的数取至累加器A
特别说明:实际编程时,程序员不必考虑是直接寻址还是扩展寻址,汇编程序会自动识别,主要区别在于汇编产生的指令长度不一样。
全部回答
一、直接寻址方式
指令所要的操作数存放在内存中,在指令中直接给出该操作数的有效地址,这种寻址方式为直接寻址方式。

在通常情况下,操作数存放在数据段中,所以,其物理地址将由数据段寄存器ds和指令中给出的有效地址直接形成,但如果使用段超越前缀,那么,操作数可存放在其它段。

如
mov bx, [1234h]

二、寄存器间接寻址方式
操作数在存储器中,操作数的有效地址用si、di、bx和bp等四个寄存器之一来指定,称这种寻址方式为寄存器间接寻址方式。

在不使用段超越前缀的情况下,有下列规定:

若有效地址用si、di和bx等之一来指定,则其缺省的段寄存器为ds;
若有效地址用bp来指定,则其缺省的段寄存器为ss(即:堆栈段)。

如
mov bx,[di]
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我的一个好朋友很粘人怎么办?
支付宝往微信上赚钱,需要多长时间
属虎得人起名字可以用"恒"字吗?
吃小龙虾过敏症状
Next,what should i do?语法对吗
一个煎锅一把锤子一道光一颗钻石打一成语
珠江市广生市场在什么位置
四个马叠加在一起念什么
来禽青李的意思是什么啊?知道的请说下!
有白裤袜小女孩照片吗?
下列属于工程造价控制的技术措施的是()。A.通
如何评价2013年的黑色星期五?
新还珠剧照上有一张晴儿坐在萧剑怀里接吻是在
每年几月份收割藜麦?
伪善的意思是什么啊?知道的请说下!
推荐资讯
洺品汇地址好找么,我有些事要过去
远遁的意思是什么啊?知道的请说下!
C语言中对指针变量的直接和间接引用怎么区别
人在国外工作五险一金最低标准
新华印务中心地址有知道的么?有点事想过去
用双截棍会打死人吗?
宏碁tmp238 13.3英寸轻薄笔记本电脑 可以自己
为什么将一个正数开平方,关键是找出它的算术
说服的意思是什么啊?知道的请说下!
肇庆市端州区注射狂犬疫苗要多少钱
西晋的衣着和三国时期有什么不同
星潮台球地址好找么,我有些事要过去
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?