网站大量收购独家精品文档,联系QQ:2885784924

指令系统课件与部分习题.pptx

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

;Review:指令格式(小结);;指令寻址;;

;7.3、指令的寻址方式;特点:不需作任何寻址运算,简单直观便于硬件实现;

指令执行过程中,访问一次存储器;

但是,A的位数决定了操作数的寻址范围;

寻找不同操作数必须通过编程改变A。

用于:顺序程序设计中涉及到的单独变量或数值。

例如:写出求5+7程序

MOVAL,A;AL←(A)

ADDAL,B;AL←(AL)+(B)

MOVC,AL;

HLT;3)寄存器直接寻址(操作数在寄存器中)

操作数的有效地址EA=Ri(Ri为操作数地址)

;4)隐含寻址;5)间接寻址(操作数在内存中)

操作数的有效地址EA=(A)(A为操作数地址的地址)

特点:指令执行过程中,需要两次访存,指令执行速度慢;

扩大了操作数的寻址范围;

便于编程。;主要用于:查表

通过间接寻址方式,我们可以写一个程序去访问一个有效的地址表,

地址表的每一项实际上就是间接指示器。

在程序执行前可以对这个表的每一项进行修改,这样无论哪种执行情

况,程序本身不必修改。

;多重间址

;6)寄存器间接寻址(操作数地址在寄存器中,操作数在内存中)

操作数的有效地址EA=(Ri)(Ri为操作数地址的地址)

特点:这种寻址方式指令短,只需一次访存;

便于循环程序编程。;用于:解决循环程序设计的问题

例如:求SUM=1+2+3+…+100

XORAX,AX;//AX清0

MOVCX,N;//CX=100设循环次数

MOVBX,OFFSETNUM1;

//BX=第一个数地址

OK:ADDAX,[BX];//寄存器间接寻址

INCBX;//BX=BX+1

LOOPOK;//条件判断CX-1=0?

MOVSUM,AX;//AX送到SUM存储单元

HLT//结束

通过修改寄存器BX(操作数的地址),

使它形成数组元素的连续地址,

加第1个后加第2个…最后实现循环程序。;;;

例如:SUM=1+2+3+…+100(大数组进行快速???复计算)

程序:XORAX;//AX=0

MOVCX,100;//CX计数器=100

MOVIX,0;//IX变址寄存器=0

START:ADDAX,NUM1[IX];

//变址寻址:NUM1+(IX)

INCIX;//IX=(IX)+1

LOOPSTART;//判断CX-1=0?

MOVSUM,AX;

HLT

;例如:将DA1单元起100个数据传送到DA2单元起的存储区中。

程序:

MOVCX,100

MOV IX,0

MOV DI,0

LOP: MOVAL,DA1[IX]

//DA1+(IX)

MOVDA2[DI],AL

//DA2+(DI)

INC IX//IX=(IX)+1

INC DI//DI=(DI)+1

LOOP LOP//判断CX-1=0?

HLT

;;用于:

基址寻址方式,主要用来解决程序的动态定位问题

您可能关注的文档

文档评论(0)

183****7931 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档