- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第三章指令集结构;3.1程序设计语言的级别;3.1.2编译和汇编程序;图3.1高级程序的编译过程装载器包含在计算平台中;4.汇编器和汇编过程;1.什么是指令?
指令:指示计算机执行某种操作的命令。
机器语言:计算机硬件实体直接表示控制信息的语言。
〔计算机硬件能直接理解并执行的语言〕
指令集:一台计算机能执行的全部指令的集合。
〔计算机程序员接触到的计算机的所有功能〕
一条指令就是机器语言的一个语句,用来说明机器
硬件应完成的操作。;指令集表征着计算机的根本功能和使用属性,是计算机系统设计中的核心向题。是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也直接影响到系统软件,影响到机器的适用范围。;操作码;3.2机器语言指令;3.2.1.2数据运算指令;◆移位指令
实现对操作数的左、右移位。
移位操作指令分为算术移位、逻辑移位和
循环移位三种,可以实现对操作数左移或右移
一位或几位。;3.2.2数据类型;3.2.3寻址方式;3.2.3.1直接寻址
指令字中直接给出操作数的有效地址。;◆例:Intel8086指令
MOVAX,[2000H]
将有效地址为2000H的内存单元的内容读入累加器AX中。
◆例如:LDAC5
从内存单元5读取数据并且把数据存储在CPU的累加器中。
◆这种方式简单直观,便于硬件实现。但随着存储器容
量不断扩大,要寻址整个主存空间,将造成指令长度
加长。另外程序位置受到限制。
;3.2.3.2间接寻址;例如:LDAC@5或LDAC〔5〕;◆间接寻址的特点
①间接寻址比直接寻址灵活,可扩大寻址范围,以短
的地址码访问大的存储空间。
②采用间接寻址,当操作数地址需要改变时,可不必
修改指令,只要修改地址指示字中内容(即存放有效
地址的单元内容)即可。
③间接寻址需屡次访存才能取得操作数,因而降低了
指令的执行速度。;3.2.3.3存放器直接寻址和存放器间接寻址;例如:假设存放器R中存储了数值5,那么:
LDAC(R)或LDAC@R
;相当于LDAC5,从存放器R中获取地址;3.2.3.4立即值寻址;3.2.3.5隐含寻址;堆栈及堆栈操作
◆一种按“后进先出”存取顺序进行存取的存储结构
◆堆栈操作指令是一种特殊的数据传送指令
◆堆栈有两种生成方式
自底向上生成方式:栈底占最高地址,栈顶为较低地
址,压入数据时,按由高地址向低地址顺序进行,弹出
数据(即取出数据)时,由低地址向高地址顺序进行。
自顶向下生成方式:与自底向上生成方式顺序相反。
;;自底向上生成堆栈的工作过程;
◆堆栈操作有两种
①压入〔进栈〕指令:把指定的操作数送入栈顶。
SP←SP减量,(SP)←数据
②弹出〔退栈、出栈〕指令:从栈顶弹出数据,送到
指令指定的目的地址中。
目的←(SP),SP←SP增量;例:8086的指令系统中
进栈指令:PUSHAX
SP←SP-1,(SP)←AH,SP←SP-1,(SP)←AL
出栈指令:POPAX
AL←(SP),SP←SP+1,AH←(SP),SP←SP+1;3.2.3.6相对寻址
将程序计数器PC的当前内容与指令中给出的形式地址相加形成操作数的有效地址。
有效地址E=(PC)+Disp;◆程序计数器PC的内容一般为现行指令的下一条指令的
地址。
◆形式地址是操作数地址相对于PC当前内容的一个相对
位移量〔Disp〕,位移量可正可负,一般用补码表示。
◆在相对寻址中,只要保持位移量不变,就可实现指令
带着数据在存储器中浮动,有利于实现程序再定位。;例:8086指令JNC03H的功能为,如果进位为0,那么
转移到目标地址为(PC)+03H处进行执行。
设指令为双字节指令,本条指令地址为1000H。
本条指令取指后,PC=1002H
转移目标地址为
1002H+0003H=1005H
假设指令为JNC0FDH
那么转移目标地址为
1002H+FFFDH=0FFFH;3.2.3.7变址寻址方式和基址寻址;例如:Intel8086指令
MOVAL,[BX+4]
设BX=2000H,BX+
您可能关注的文档
最近下载
- 压铸件毛坯质量检验标准规范.doc VIP
- 平车运送法操作流程与考核评分标准.docx VIP
- 八年级物理上册第三章《物态变化》测试题-人教版(含答案) .pdf VIP
- 单轨吊司机岗位知识考试试题及答案.pdf VIP
- 财务共享服务中心核算手册.pdf VIP
- 广东某银行2025年支行清收条线人员绩效薪酬分配指引.docx VIP
- 49.织袜操作规程.doc VIP
- 蠕变模型下波形弹簧弹力衰减特性与寿命预测分析.docx VIP
- 外研版(2021)中职英语基础模块1 Unit 5 We Have Only One Earth Listening&Speaking 教案.docx VIP
- 费思超大功率电子负载FT68200AALENNZ系列用户手册 V4.4 202405.pdf VIP
文档评论(0)