- 1、本文档共212页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第十二章8086/8088小汇编的设计与实现
第十二章8086/8088小汇编的设计与实现
12.1汇编指令系统的分析
12.28086/8088小汇编的设计实现
12.38086/8088小汇编实验
12.48086/8088小汇编程序
第十二章8086/8088小汇编的设计与实现
12.1汇编指令系统的分析
12.1.1引言
编译的过程是将源程序编译成可在具体机器上执行的机
器指令程序的过程。所以,实现编译的首要任务就是了解目
标机器的指令系统及其特点,只有这样才能设计好编译程序。
任何一种微处理器(CPU)在设计时,就已规定好自己特
定的指令系统,这种指令系统的功能也就决定了由该微处理
器构成的计算机系统及其基本功能。指令系统中所设计的每
一条指令都对应着微处理器要完成的一种规定功能操作,即
这些指令功能的实现都是由微处理器中的物理器件完成的。
第十二章8086/8088小汇编的设计与实现
要使计算机完成一个完整的任务,就需要执行一组指令,这
一组指令通常称为程序。计算机能够执行的各种不同指令的
集合就称为处理器(CPU)的指令系统。
第十二章8086/8088小汇编的设计与实现
一台计算机只能识别由二进制编码表示的指令,称之为
机器指令。一条机器指令应包括两部分内容:一部分给出
该指令应完成何种操作,称为指令操作码部分;另一部分给
出参与操作的操作数的值,或指出操作数存放在何处、操作
的结果应送往何处等,这一部分称为指令的操作数部分。处
理器可根据指令中给出的地址信息求出存放操作数的地址—
—称为有效地址EA(EffectiveAddress),然后对存放在有效
地址中的操作数进行存取操作。指令中关于如何求出存放操
作数有效地址的方法称为操作数的寻址方式。计算机按照指
令给出的寻址方式求出操作数有效地址进行存取操作数的过
程,称为指令的寻址操作。
第十二章8086/8088小汇编的设计与实现
由于计算机的主要工作是进行数据处理,故计算机指令
系统中的多数指令是与操作数有关的。这些操作数可以在寄
存器中,也可以在内存或I/O端口中,还可以隐含于指令码
中。对于不同的操作数有不同的方法来存取它们,特别是对
于存放于存储单元的操作数,可以采用多种不同的方式来寻
找地址以便进行数据存取。寻址方式越多,CPU的指令功能
就越强,灵活性也就越大。但是,寻址方式多也会造成指令
编码的复杂化。因此,在设计指令系统的寻址方式时主要考
虑以下问题:
(1)能够满足CPU所寻址的最大地址空间,否则将存在
无法访问的地址。
第十二章8086/8088小汇编的设计与实现
(2)从速度和存储角度考虑,地址码不能占用太多的字
节。为减少地址码占用的字节数,就应采用多种寻址方式。
(3)尽量满足高级语言中各种数据结构的寻址需要。以
数组元素A[I]为例,位移量对应数组A的开始地址,变址
I(表示数组A的第I个元素)的位距值存放在寄存器(如SI)中,
则对数组元素A[I]的访问地址应是“寄存器(SI)+位移”;有
时位移量是在基址寄存器(如BX)中,则A[I]的访问地址是
“寄存器(BX)+寄存器(SI)”;如果A[I]出现在递归子程序调
用中,则数据是以堆栈形式来逐层存储的,故访问数组元素
A[I]时还需由堆栈指针(如BP)来指示是哪一层子程序调用中
的A[I],其地址应为“寄存器(BP)+寄存器(SI)+位移”。由
此可见,至少要有如上所述的几种寻址方式才能满足程序语
言的特殊使用(数组、递归子程序)要求。
第十二章8086/8088小汇编的设计与实现
通常一条指令被分为若干字段(每个字段为几个二进制
位),其中一个字段称为操作码,说明计算机该做什么,其
余字段称为操作数,指出该指令在执行中所需要的信息。一
个操作数可以是一个具体数据,也可以是存储数据的寄存
器或存储器地址。一般指令格式如下:
第十二章8086/8088小汇编的设计与实现
指令可以含有若干个操作数,但操作数越多指令的长度
也就越长,所占用的存储空间就越大,指令送入CPU所花
费的时间也越多。为了减少指令的长度,一般指令都只允
许有一个或两个操作数,而且双操作数指令中的一个操作数
必须存放在寄存器中。这是由于存储器和I/O空间相当大,
表示其地址必须占用较多的二进制位,因而就势必引起指令
长度的增加。而一个计算机所具有的寄存器很少(
您可能关注的文档
最近下载
- 职业素养测试-含答案.doc VIP
- 药物相互作用PPT演示课件.ppt
- 文物保护及修复计划书.pptx
- 母猪的饲养与管理 .pdf VIP
- VDA 2 EN 6th 2020 供应商管理标准 Securing the Quality of Supplies Production process and product approval PPA AIAG QMC vda2.pdf
- 2024年高中物理教学年终工作总结5篇.docx
- 从C2-C4烯烃/烷烃六组分混合物中分离乙烯的方法.pdf VIP
- 2025届大湾区普通高中毕业年级联合模拟考试(一) 生物试卷.docx
- Pfeiffer普发CCR371&372&373&374&375 电容式真空计操作手册.pdf
- 《生姜姜瘟病综合防治种植技术规程》.pdf VIP
文档评论(0)