指出下列各指令中寻址方式的错误,并说明错误的原因

(1)MOV100H,AX(5)MOVAH,1000(2)MOV[CX],AH(6)POPCL(3)ADDAX,BL(7)ADDAX,[DL](4)MOV[BX+BP],... (1) MOV 100H , AX (5) MOV AH , 1000
(2) MOV [CX] , AH (6) POP CL
(3) ADD AX , BL (7) ADD AX , [DL]
(4) MOV [BX+BP] , AL
展开
 我来答
ser0326
2020-04-21 · TA获得超过1.4万个赞
知道答主
回答量:30
采纳率:100%
帮助的人:7161
展开全部

1、MOV 100H , AX ,立即数不能当做目的地。

2、MOV AH , 1000,AH 容纳不下1000。

3、MOV [CX] , AH CX,不能当做地址指针。

4、 ADD AX , BL 参加加法运算的数字位数,必须相同,现在AX、BL位数不同。

如:MOV AX,#5678H 注意:立即数只能作为源操作数,不能作为目的操作数。

指令的地址字段指出的不是操作数的地址,而是操作数本身,这种寻址方式称为立即寻址。立即寻址方式的特点是指令执行时间很短,因为它不需要访问内存取数,从而节省了访问内存的时间。 

扩展资料:

各指令中寻址方式的原理:

1、顺序寻址方式

由于指令地址在内存中按顺序安排,当执行一段程序时,通常是一条指令接一条指令地顺序进行。也就是说,从存储器取出第1条指令,然后执行这条指令;接着从存储器取出第2条指令,再执行第二条指令;接着再取出第3条指令。

这种程序顺序执行的过程,称为指令的顺序寻址方式。为此,必须使用程序计数器(又称指令计数器)PC来计数指令的顺序号,该顺序号就是指令在内存中的地址。

2、跳跃寻址方式

当程序转移执行的顺序时,指令的寻址就采取跳跃寻址方式。所谓跳跃,是指下条指令的地址码不是由程序计数器给出,而是由本条指令给出。注意,程序跳跃后,按新的指令地址开始顺序执行。因此,程序计数器的内容也必须相应改变,以便及时跟踪新的指令地址。

注意是否跳跃可能受到状态寄存器的操作数的控制,而跳跃到的地址分为绝对地址(由标记符直接得到)和相对地址(对于当前指令地址的偏移量),跳跃的结果是当前指令修改PC程序计数器的值,所以下一条指令仍是通过程序计数器PC给出。

参考资料来源:百度百科-寻址方式

做而论道
高能答主

推荐于2016-05-23 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.1亿
展开全部
(1) MOV 100H , AX 立即数不能当做目的地
(5) MOV AH , 1000 AH 容纳不下 1000
(2) MOV [CX] , AH CX 不能当做地址指针
(6) POP CL 堆栈操作是16位数的,CL仅有8位数
(3) ADD AX , BL 参加加法运算的数字位数,必须相同,现在AX、BL位数不同
(7) ADD AX , [DL] 用DL指出地址,不可,应该用16位数的,如DX。
(4) MOV [BX+BP] , AL BX、BP,不可合用
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式