第六章_寻址方式和指令系统
- 格式:pdf
- 大小:1.88 MB
- 文档页数:25
微机原理及应⽤答案参考答案第⼀章计算机中的数制和码制第⼆章计算机概述⼀、填空题1.82. 23.10244.25.5、11001.1、00100101.0101B5.1000010B、42H、66H6.41.625、29.AH7.10001101B8.11001001、110010109.-128 ~ +12710.系统软件、应⽤软件11.电⼦管、超⼤规模集成电路⼆、单选题1. A 2. C 3. D4. C 5. A 6. C三、分析简答题1.8086 CPU的总线根据其中信息传送的类型可分为⼏种?哪⼏种?答:8086 CPU的总线根据其中信息传送的类型可分为三种种,分别是:数据总线、地址总线和控制总线2.写出-25的原码、反码、补码,并将补码转换成⼗六进制数(设机器字长为8位)。
答:X=-25=-11001B X原码:10011001BX反码:11100110BX补码:11100111B = E7H3.举例说明什么是机器数,什么是真值?答:将符号数值化了的数称为机器数。
如:-18=-10010B(真值);机器数为:10010010B第三章半导体存贮器⼀、填空题1.ROM、RAM2.6个3.8、4⼆、单选题1. A 2. B 3. D 4. B5. C 6. C 7. B三、分析简答题1.在对存储器芯⽚进⾏⽚选时,全译码⽅式、部分译码⽅式和线选⽅式各有何特点?答:①全译码⽅式:存储器芯⽚中的每⼀个存储单元对应⼀个唯⼀的地址。
译码需要的器件多;②部分译码⽅式:存储器芯⽚中的⼀个存储单元有多个地址。
译码简单;③线选:存储器芯⽚中的⼀个存储单元有多个地址。
地址有可能不连续。
不需要译码。
四、硬件接⼝设计题1.答:(1)(2) 存储器类型为RAM 总容量为 4K×8地址范围: 0#2000H-27FFH1# 2800H-2FFFH2.答:(9分)(1)存储器类型:RAM该系统的存储器容量为:6K×8位(或:6K字节)(2)1#芯⽚的地址范围:1000H ~ 17FFH2#芯⽚的地址范围:0800H ~ 0FFFH3#芯⽚的地址范围:0000H ~ 07FFH3.1)1K×42)2K×8或2KB3)地址分配范围第⼀组: A19~ A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0最⼩地址 0 ~ 0 0 0 0 0 0 0 0 0 0 0 00000H~最⼤地址 0 ~ 0 1 1 1 1 1 1 1 1 1 1 003FFH第⼆组: 0 ~ 1 0 0 0 0 0 0 0 0 0 0 00400H~0 ~ 1 1 1 1 1 1 1 1 1 1 1 007FFH第四章微型计算机及微处理器的结构和组成⼀、填空题1.BIU、EU、指令的译码和指令执⾏2.4、16、16、6、203.8、164.1、2⼆、单选题1. B 2. B三、分析简答题1.8086/8088微处理器内部有那些寄存器,它们的主要作⽤是什么?答:执⾏部件有8个16位寄存器,AX、BX、CX、DX、SP、BP、DI、SI。
寻址方式及指令系统习题与解答计算机科学与工程学院黄洪波2012年3月一、单项选择题1.设BX=2000H,SI=3000H,指令MOV AX,[BX+SI+8]的源操作有效地址为()。
A.5000H B.5008H C.23008H D.32008H2.设DS=1000H,ES=2000H,BX=3000H,指令ADD AL,[BX]的源操作数的物理址为()。
A.13000H B.23000H C.33000H D.3000H3.设DS=2000H,ES=3000H,SI=200H,指令MOV ES:[SI],AL的目的操作数的物理地址为()。
A.20200H B.30200H C.50200H D.200H4.指令MOV MEM[BX],AX中的MEM是()。
A.原码B.反码C.补码D.移码5.用来作为寄存器间接寻址的寄存器有()个。
A.8 B.6 C.5 D.46.指令MOV [BX+SI],AL中的目的操作数使用()段寄存器。
A.CS B.DS C.SS D.ES7.指令MOV BX,[BP+5]中的源操作数使用()段寄存器。
A.CS B.DS C.SS D.ES8.段内间接寻址只改变()中的内容。
A.CS B.IP C.CS和IP D.PSW9.段间间接寻址只改变()中的内容。
A.CS B.IP C.CS和IP D.PSW10.下述指令中不改变PSW的指令是()。
A.MOV AX,BX B.AND AL,0FHC.SHR BX,CL D.ADD AL,BL11.下述指令中不影响CF的指令是()。
A.SHL AL,1 B.INC CXC.ADD [BX],AL D.SUB AX,BX12.两个整数补码9CH和7AH相加运算后,会产生()。
A.无溢出且无进位B.无溢出但有进位C.有溢出且有进位D.有溢出但无进位13.指令JMP WORD PTR [BX]属于()寻址。
A.段内直接B.段内间接C.段间直接D.段间间接14.指令MOV AX,[BX+SI+8]的源操作数属于()寻址。
计算机体系结构试题及答案12008年01月23日22:211、计算机高性能发展受益于:(1)电路技术的发展;(2)计算机体系结构技术的发展。
2、层次结构:计算机系统可以按语言的功能划分为多级层次结构,每一层以不同的语言为特征。
第六级:应用语言虚拟机-> 第五级:高级语言虚拟机-> 第四级:汇编语言虚拟机-> 第三级:操作系统虚拟机-> 第二级:机器语言(传统机器级) ->第一级:微程序机器级。
3、计算机体系结构:程序员所看到的计算机的属性,即概括性结构与功能特性。
For personal use only in study and research; not for commercial use4、透明性:在计算机技术中,对本来存在的事物或属性,从某一角度来看又好像不存在的概念称为透明性。
5、Amdahl提出的体系结构是指机器语言级程序员所看见的计算机属性。
6、经典计算机体系结构概念的实质3是计算机系统中软、硬件界面的确定,也就是指令集的设计,该界面之上由软件的功能实现,界面之下由硬件和固件的功能来实现。
7、计算机组织是计算机系统的逻辑实现;计算机实现是计算机系统的物理实现。
8、计算机体系结构、计算机组织、计算机实现的区别和联系?答:一种体系结构可以有多种组成,一种组成可以有多种物理实现,体系结构包括对组织与实现的研究。
9、系列机:是指具有相同的体系结构但具有不同组织和实现的一系列不同型号的机器。
10、软件兼容:即同一个软件可以不加修改地运行于系统结构相同的各机器,而且它们所获得的结果一样,差别只在于运行时间的不同。
11、兼容机:不同厂家生产的、具有相同体系结构的计算机。
12、向后兼容是软件兼容的根本特征,也是系列机的根本特征。
13、当今计算机领域市场可划分为:服务器、桌面系统、嵌入式计算三大领域。
14、摩尔定律:集成电路密度大约每两年翻一番。
15、定量分析技术基础(1)性能的评测:(a)响应时间:从事件开始到结束之间的时间;计算机完成某一任务所花费的全部时间。
简答题1.什么是指令系统?指令系统:计算机所能执行的全部指令的集合,它描述了计算机内全部的控制信息和“逻辑判断”能力。
不同计算机的指令系统包含的指令种类和数目也不同。
一般均包含算术运算型、逻辑运算型、数据传送型、判定和控制型、输入和输出型等指令。
2.什么是指令指令是指示计算机执行某种操作的命令,它由一串二进制数码组成。
3.什么是汇编语言?答:汇编:汇编语言源程序在交付计算机执行之前,需要先翻译成目标程序,这个翻译过程叫汇编。
4.什么是寻址方式答:寻址方式:寻址方式就是寻找指令中操作数或操作数所在地址的方式。
也就是如何找到存放操作数的地址,把操作数提取出来的方法。
5.什么是堆栈答:堆栈是在片内RAM中专门开辟出来的一个区域,数据的存取是以"后进先出"的结构方式处理的。
实质上,堆栈就是一个按照"后进先出"原则组织的一段内存区域。
6.什么是指令周期指令周期:指执行一条指令所占用的全部时间。
通常一个指令周期含1~4个机器周期。
7.串行数据传送的主要优点和用途是什么?答:串行数据传送的主要优点是硬件接口简单,接口端口少(2个)。
主要用于多个单片机系统之间的数据通信。
8.MC S一51指令集中有无“程序结束”指令?怎样实现“程序结束”功能?答:没有这样的指令。
但实现“程序结束”至少可以借助4种办法:①用原地踏步指令SJMP $ 死循环。
②在最后一条指令后面设断点,用断点执行方式运行程序。
③用单步方式执行程序。
④在末条指令之后附加一条LJMP监控显示器程序首地址或LJMP 0000H,返回监控状态。
9.中断服务子程序与普通子程序有哪些异同之处?2.中断服子程序与普通子程序的执行和返回有什么异同之处?答:中断服务子程序与普通子程序都是一种能完成某一特定任务的程序段。
其资源要为所有调用程序共享。
因此,子程序在结构上应具有独立性和通用性。
子程序的第一条指令的地址称为子程序的入口地址。
【计算机组成原理】指令系统-寻址⼀、指令和数据的寻址⽅式操作数或指令在存储器中的地址:某个操作数或某条指令存放在某个存储单元时其存储单元的编号在存储器中,操作数或指令字写⼊或读出的⽅式,有地址指定⽅式、相联存储⽅式和堆栈存取⽅式。
寻找⽅式:当采⽤地址指定⽅式时,形成操作数或指令地址的⽅式。
寻址⽅式分为两类:指令寻址和数据寻址。
1)指令寻址:确定下⼀条预执⾏指令的指令地址a、顺序寻址:(PC)+1->PC 程序计数器⾃动加1b、跳跃寻址:由转移指令指出2)数据寻址:确定本条指令的操作数地址指令中所给出的地址码,并不⼀定是操作数的有效地址。
寻址过程就是把操作数的形式地址,变换为操作数的有效地址。
例如:⼀种单地址指令的结构如下所⽰,其中⽤X I D各字段组成该指令的操作数地址。
⼆、寻址⽅式1、隐含寻址(操作数在累加寄存器中)在指令中不明显的给出⽽是隐含着操作数的地址例如:单地址的指令格式,没有在地址字段指明第⼆操作数地址,⽽是规定累加寄存器AL或AX作为第⼆操作数地址,AL或AX对单地址指令格式来说是隐含地址eg: MOV AL ,LSRC_BYTEMUL RSRC_BYTEADD寻址特征A操作数地址隐含在操作码中,(寻址特征指明寻址类型)。
另⼀个操作数隐含在ACC中先在内存中地址为A的地⽅找到⼀个操作数,另⼀个操作数隐含在寄存器ACC⾥,从ACC⾥取出另外⼀个操作数,然后和给出的A 地址中的数相加暂存在ACC中。
2、⽴即寻址形式地址A就是操作数本⾝OP⽴即寻址特性 #A指令执⾏阶段不访存A的位数限制了⽴即数的范围3、直接寻址EA=A直接根据读内存找到操作数,形式地址不需要经过任何处理。
执⾏阶段访问⼀次存储器A的位数决定了该指令操作数的寻址范围MOV AX,[2222H]:将有效地址为2222H的内存单元的内容读到累加器AX中4、间接寻址EA=(A)有效地址由形式地址间接提供,形式地址是操作数的地址的地址OP间接寻址标识 A根据A的内容到内存中寻找到的是操作的数地址,再根据这个地址去找操作数。
寻址⽅式和指令系统《微机原理》复习思考题第3章 8086的寻址⽅式和指令系统3.1 8086汇编语⾔指令的寻址⽅式有哪⼏类?⽤哪⼀种寻址⽅式的指令执⾏速度最快?3.2 直接寻址⽅式中,⼀般只指出操作数的偏移地址,那么,段地址如何确定?如果要⽤某个段寄存器指出段地址,指令中应如何表⽰?3.3 在寄存器间接寻址⽅式中,如果指令中没有具体指明段寄存器,那么,段地址如何确定?3.4 ⽤寄存器间接寻址⽅式时,BX,BP,SI,DI分别针对什么情况来使⽤?这四个寄存器组合间接寻址时,地址是怎样计算的?举例进⾏说明。
3.5 设DS=2100H,SS=5200H,BX=1400H,BP=6200H,说明下⾯两条指令所进⾏的具体操作:MOV BYTE PTR [BP], 2000MOV WORD PTR [BX], 20003.6 使⽤堆栈操作指令时要注意什么问题?传送指令和交换指令在涉及内容操作数时分别要注意什么问题?3.7 下⾯这些指令中哪些是正确的?哪些是错误的?如果是错误的,请说明原因。
XCHG CS, AXMOV [BX], [1000]XCHG BX, IPPUSH CSPOP CSIN BX, DXMOV BYTE[BX], 1000MOV CS, [1000]3.8 8086系统中,当对SS和SP寄存器的值进⾏修改时,有什么特殊规定?这样做的原因是什么?[解答] 凡是遇到给SS寄存器赋值的传送指令时,系统会⾃动禁⽌外部中断,等到本条指令和下条指令执⾏之后,⼜⾃动恢复对SS寄存器赋值前的中断开放情况。
这样做是为了允许程序员连续⽤两条指令分别对SS和SP寄存器赋值,同时⼜防⽌堆栈空间变动过程中出现中断。
3.9 以下是格雷码的编码表0——0000 1——0001 2——0011 3——0010 4——01105——0111 6——0101 7——0100 8——1100 9——1101请⽤换码指令和其他指令设计⼀个程序段,实现格雷码往ASCII的转换。
MCS-51单片机指令系统的寻址方式1、寄存器寻址寄存器寻址方式可用于访问选定寄存器区的8个工作寄存器R0~R7。
由指令操作码的低3位指示所用的寄存器,寄存器A、B、DPTR和C 位(位处理机的累加器)也可作为寻址的对象。
2、直接寻址直接寻址是访问特别功能寄存器的唯一方法。
它也用于访问内部RAM(低128个字节)。
采纳直接寻址方式的指令是双字节指令,其中第一个字节是操作码,其次个字节是内部RAM或特别功能寄存器的直接地址。
3、寄存器间接寻址寄存器间接寻址方式可用于访问内部RAM或外部数据存储器。
这种寻址方式是由指令指定某一寄存器的内容作为操作数的地址。
访问内部RAM或外部数据存储器的低256个字节时,可采纳R0或R1作为间址寄存器。
4、马上寻址采纳马上寻址方式的指令是双字节的。
第一个字节是操作码,其次字节就是操作数。
因此,操作数就是存放在程序存储器内的常数。
5、基址寄存器加变址寄存器间址寻址这种寻址方式用于访问程序存储器的一个单元,该单元的地址是基址寄存器(DPTR或PC)的内容与变址寄存器A的内容之和。
例如指令“MOVC A,@A+DPTR”,其中A的原有内容为05H,DPTR的内容为4000H,该指令执行的结果是把程序存储器4005H单元的内容传送给累加器A。
6、相对寻址相对寻址用于访问程序存储器,它只消失在相对转移指令中。
相对寻址是将程序计数器PC中的当前值与指令其次字节所给出的数据(该数据也称为偏移量)相加,其和为跳转指令的转移地址。
转移地址也称为转移目的地址。
偏移量是一有符号数,其取值范围为-128~+127。
7、位寻址位寻址是指对片内RAM的位寻址区(20H~2FH)和可以位寻址的专用寄存器进行位操作时的寻址方式。
这种寻址方式与直接寻址方式的形式和执行过程基本相同。
在进行位操作时,借助于进位C作为操作的位累加器,操作数直接给出该位的地址,然后依据操作码的性质对其进行位操作。
单片机指令系统-第3讲寻址方式单片机指令系统第 3 讲寻址方式在单片机的世界里,指令系统就如同它的语言规则,而寻址方式则是这套规则中至关重要的一部分。
简单来说,寻址方式决定了单片机如何找到操作数,也就是数据在存储器中的位置。
就好像我们在图书馆找一本书,需要知道它在哪个书架、哪一排,这就是“寻址”。
在单片机中,常见的寻址方式有以下几种:1、立即寻址立即寻址是最简单直接的一种方式。
在这种寻址方式中,操作数直接包含在指令中。
比如说,指令“MOV A, 50H”,这里的“50H”就是操作数,它直接跟在指令后面,单片机一看就知道要把 50H 这个值送到累加器 A 中。
这种方式的优点是指令执行速度快,因为操作数就在指令中,不需要再去别的地方找。
但缺点也很明显,就是能表示的操作数范围有限,通常只能是 8 位或 16 位的数值。
2、直接寻址直接寻址就稍微复杂一点了。
在这种方式下,操作数的地址直接出现在指令中。
例如,指令“MOV A, 30H”,这里的 30H 是操作数所在的地址,单片机通过这个地址就能找到存储在 30H 单元中的数据,并把它送到累加器 A 中。
直接寻址可以访问片内 RAM 的 00H 7FH 单元以及特殊功能寄存器(SFR)。
但要注意的是,对于 SFR,只能使用直接寻址方式进行访问。
3、寄存器寻址寄存器寻址就是操作数在寄存器中。
比如指令“MOV A, R0”,就是把寄存器 R0 中的内容送到累加器 A 中。
这种方式的优点是指令短,执行速度快,因为寄存器的访问速度通常比内存快得多。
在 8051 单片机中,寄存器寻址可以使用工作寄存器 R0 R7 以及部分特殊功能寄存器。
4、寄存器间接寻址寄存器间接寻址与寄存器寻址有点类似,但操作数的地址在寄存器中。
比如指令“MOV A, @R0”,这里的 R0 中存放的不是操作数,而是操作数的地址,单片机先从 R0 中取出地址,再根据这个地址找到操作数并送到累加器 A 中。
单片机指令系统-第1讲寻址方式单片机指令系统第 1 讲寻址方式在单片机的世界里,指令系统就像是它的“语言规则”,而寻址方式则是这门语言中至关重要的一部分。
简单来说,寻址方式决定了单片机如何找到它需要操作的数据或指令的位置。
让我们先来了解一下什么是寻址。
当单片机执行一条指令时,它需要知道从哪里获取操作数,这个确定操作数位置的过程就是寻址。
就好像你要在书架上找一本书,你得知道它在哪个架子、哪一层,这就是寻址的概念。
常见的寻址方式有很多种,下面我们来一一探讨。
第一种是立即寻址。
在立即寻址方式中,操作数直接包含在指令中。
比如说,指令“MOV A, 50H”,这里的“50H”就是一个立即数,单片机直接使用这个数值进行操作。
这种方式的优点是简单直接,执行速度快,因为操作数就在指令里面,不需要再去别的地方找。
接下来是直接寻址。
直接寻址是指指令中直接给出操作数所在的内部数据存储器地址。
例如,“MOV A, 30H”,这里的“30H”就是内部数据存储器的一个地址,单片机通过这个地址就能找到对应的操作数。
直接寻址方式可以访问片内 RAM 的低 128 个字节和特殊功能寄存器。
然后是寄存器寻址。
这种方式下,操作数存放在寄存器中。
比如“MOV A, R0”,操作数就在寄存器 R0 里面。
由于寄存器的访问速度通常比内存快,所以寄存器寻址方式能够提高指令的执行效率。
寄存器间接寻址也很常见。
在这种方式中,操作数的地址存放在寄存器中。
以“MOV A, @R0”为例,单片机先从寄存器 R0 中取得操作数的地址,然后再根据这个地址去获取操作数。
这种方式可以访问片内RAM 的 00H FFH 地址空间。
变址寻址则稍微复杂一些。
它通过基址寄存器和变址寄存器的内容相加来得到操作数的地址。
比如说,在 8051 单片机中,“MOVC A, @A +DPTR”就是变址寻址的一个例子。
这种方式常用于访问程序存储器中的数据表格。
相对寻址主要用于跳转指令。
参考答案第一章计算机中的数制和码制第二章计算机概述一、填空题1.82. 23.10244.25.5、11001.1、00100101.0101B5.1000010B、42H、66H6.41.625、29.AH7.10001101B8.11001001、110010109.-128 ~ +12710.系统软件、应用软件11.电子管、超大规模集成电路二、单选题1. A 2. C 3. D4. C 5. A 6. C三、分析简答题1.8086 CPU的总线根据其中信息传送的类型可分为几种?哪几种?答:8086 CPU的总线根据其中信息传送的类型可分为三种种,分别是:数据总线、地址总线和控制总线2.写出-25的原码、反码、补码,并将补码转换成十六进制数(设机器字长为8位)。
答:X=-25=-11001BX原码:10011001BX反码:11100110BX补码:11100111B = E7H3.举例说明什么是机器数,什么是真值?答:将符号数值化了的数称为机器数。
如:-18=-10010B(真值);机器数为:10010010B第三章半导体存贮器一、填空题1.ROM、RAM2.6个3.8、4二、单选题1. A 2. B 3. D 4. B5. C 6. C 7. B三、分析简答题1.在对存储器芯片进行片选时,全译码方式、部分译码方式和线选方式各有何特点?答:①全译码方式:存储器芯片中的每一个存储单元对应一个唯一的地址。
译码需要的器件多;②部分译码方式:存储器芯片中的一个存储单元有多个地址。
译码简单;③线选:存储器芯片中的一个存储单元有多个地址。
地址有可能不连续。
不需要译码。
四、硬件接口设计题1.答:(1)(2) 存储器类型为RAM 总容量为4K×8地址范围: 0#2000H-27FFH1# 2800H-2FFFH2.答:(9分)(1)存储器类型:RAM该系统的存储器容量为:6K×8位(或:6K字节)(2)1#芯片的地址范围:1000H ~ 17FFH2#芯片的地址范围:0800H ~ 0FFFH3#芯片的地址范围:0000H ~ 07FFH3.1)1K×42)2K×8或2KB3)地址分配范围第一组:A19~ A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0最小地址0 ~ 0 0 0 0 0 0 0 0 0 0 0 00000H~ 最大地址0 ~ 0 1 1 1 1 1 1 1 1 1 1 003FFH 第二组:0 ~ 1 0 0 0 0 0 0 0 0 0 0 00400H~0 ~ 1 1 1 1 1 1 1 1 1 1 1 007FFH第四章微型计算机及微处理器的结构和组成一、填空题1.BIU、EU、指令的译码和指令执行2.4、16、16、6、203.8、164.1、2二、单选题1. B 2. B三、分析简答题1.8086/8088微处理器内部有那些寄存器,它们的主要作用是什么?答:执行部件有8个16位寄存器,AX、BX、CX、DX、SP、BP、DI、SI。
1
第 6章 寻址方式和汇编指令 第6章
6.1、寻址方式 6.2、汇编语言指令集 6.3、汇编源程序
第 6章 寻址方式和汇编指令 第6章
6 . 1 寻址方式
▲ 汇编指令是可执行指令,每条指令对应一条机器 码,用以控制处理器中的执行部件进行各种操 作。
▲ TMS320F281X系列的汇编指令有150多条。
▲ 它们支持各种信号处理运算,同时也提供了应用 中所需要的多级处理和过程控制功能。
▲ 寻址方式是指寻找指令中操作数地址的方式。
第 6章 寻址方式和汇编指令 第6章
6 . 1 寻址方式
TMS320C28x指令集采用7种存储器寻址方式: ▲ 直接寻址方式 ▲ 堆栈寻址方式 ▲ 间接寻址方式 ▲ 寄存器寻址方式 ▲ 数据/程序/IO空间立即寻址方式 ▲ 程序空间间接寻址 ▲ 字节寻址方式
第 6章 寻址方式和汇编指令 第6章
6 . 1 寻址方式
F2812 的大多数指令利用操作码中的8位字段来选择寻 址方式和对寻址方式进行修改.在 F2812 指令系统中,这个8 位字段用于以下寻址方式: (1)loc16 。
为16位数据访问选择直接/堆栈/间接/寄存器寻址方
式。
(2)loc32 。
为32位数据访问选择直接/堆栈/间接/寄存器寻址方
式。
以上7种寻址方式都与“loc16/loc32”组合起来使用。
第 6章 寻址方式和汇编指令 第6章
6 . 1 寻址方式
寻址方式选择位
由 于 F2812 提 供 了 多 种 寻 址 方 式 , 因 此 用 寻 址 方 式 选 择 位 ( AMODE )来选择8位字段( loc16/loc32 )的解码。
该 位属于状态寄存器ST1。
寻址方式可以大致归类如下: ▲ AMODE=0——该方式是复位后的默认方式,也是F2812的C/C++编译
器使用的方式。
这种方式与C2xLP CPU的寻址方式不完全兼容。
数据页指针 偏移量是6位(在C2xLP CPU中是7位),并且不支持所有的间接寻址方式。
▲ AMODE=1——该方式包括的寻址方式完全与C2xLP 器件的寻址方式
兼容。
数据页指针的偏移量是7位并支持所有C2xLP 支持的间接寻址方式。
对与loc16或者loc32字段,其可用的寻址方式总结如P375所示
第 6章 寻址方式和汇编指令 第6章
6 . 1 寻址方式
在F2812间接寻址方式中,使用哪个辅助寄存器指针在指令中并不被明确 指出。
而在 C2xLP的间接寻址方式中,3位长度的辅助寄存器指针被用 来选择当前使用哪个辅助寄存器以及下次操作将使用哪个辅助寄存器。
汇编器/编译器对AMODE位的追踪
编译器总是假定AMODE=0,所以它只使用对AMODE=0 有效的寻址模式。
而汇编器可以通过设置命令行选项实现默认 AMODE=0或者AMODE=1。
√ – v28 ;假定AMODE=0(C28x寻址方式) – v28 – m20 ;假定AMODE=1(与C2xLP全兼容的寻址方式) √ 在文件中使用内嵌伪指令
. c28_amode ;告诉汇编器后面的代码段都假定AMODE=0(C28x寻址方式) . lp_amode ;告诉汇编器后面的代码段都假定AMODE=1(与C2xLP全兼容的
寻址方式)
第 6章 寻址方式和汇编指令 第6章
6 . 1 寻址方式
直接寻址方式
▲ 该寻址方式,16位的DP寄存器被当作一个固定的页指针,在指令中提供
6位或者7位的偏移量,将这些偏移量与DP寄存器中的值相连接构成完 整的地址.当访问固定寻址的数据结构(比如外围寄存器和C/C++中的 全局或静态变量) 时是一种很有效的方法.(P325 表7-1-2)
堆栈寻址方式
▲ SP(堆栈指针):在该方式下,16位的SP指针被用于访问软件堆栈
的信息.F2812的堆栈从存储器的低地址变化到高地址,SP指针总是指 向下一个空单元.当需要访问堆栈中的数据时,由程序提供6位偏移 量,SP的值减去这6位的偏移量就是被访问的数据的地址,然后修改堆 栈指针SP. (P378 表4-1-3)
第 6章 寻址方式和汇编指令 第6章
6 . 1 寻址方式
间接寻址方式
XAR0到XAR7(辅助寄存器指针):在这种寻址方式 下,32位的XARn寄存器被当作一般性数据指针.可以通 过指令实现对辅助寄存器XARn加1,(操作前/后)减1 和变址操作.
寄存器寻址方式
在该寻址方式下,寄存器可以是访问的源操作数,也 可以是目标操作数,这样在F2812中就能实现寄存器到寄存 器的操作.这一方式包括对32位和16位寄存器的寻址。
第 6章 寻址方式和汇编指令 第6章
6 . 1 寻址方式
数据/程序/IO空间立即寻址方式
在该寻址方式下,存储器操作的地址就存在于指令中。
程序空间间接寻址方式
某些指令可以通过使用间接指针对程序空间中的存储器 进行访问。
因为F2812 CPU的存储器是标准一致的,这就使 在一个机器周期中进行两次读操作成为可能。
字节寻址方式
第6章
32位操作的定位
由于使用定位于偶数地址的
对存储器的32位读写操作都被定位于存储器接口的偶数地址
第6章
汇编语言包括:汇编指令、伪指令和宏指令▲汇编指令——即是指令系统,其在汇编时产生一一对应的目标代码。
▲伪指令——仅在汇编和连接时提供控制信息和数据,并不产生目标代码。
▲宏指令——用户创建的“指令”,在汇编时将其展开并汇编为对应的目标代码。
第6章
6 .2 汇编语言指令集指令集概述
28x 指令按功能可分为
▲寄存器XARn
第6章
6 .2 汇编语言指令集指令集概述
▲16×16乘法操作
▲32×32乘法操作
一些符号描述6 .2 汇编语言指令集
XAR0ARnH
XAR0ARn ,Arm
XAR0XARn
第6章
一些符号描述6 .2 汇编语言指令集
16位地址单元的内容[loc16]
按位求反码~
第6章
8位立即数,零扩展0:8bit
8位立即数8bit
一些符号描述
第6章
一些符号描述
最低有效字节LSB
最低有效位LSb
第6章
第6章
6 .2 汇编语言指令集指令句法描述
ARn n为数值
ind选择以下
*,*+,
#
第6章
6 .2 汇编语言指令集指令集
▲按照字母的顺序对
6 . 3 汇编源程序
汇编语言源程序由源语句(汇编指令、伪指令、宏指令)组成。
源语句语法:
[标号] [ :] 助记符[操作数1,操作数2,…][;注释] 标号域助记符域操作数域注释域注:“[ ]”表示该项可缺省。
例6·1
SYM1 ·set 2 ;符号SYM1等于2
begin :LDP SYM1 ;将2装入DP
·word 016H ;初始化一个字为16H
第6章
第6章
6 . 3 汇编源程序
▲标号域——标号域是任选域,可有可无。
若使用必须从源语句的第一列开始书写。
标号包含1~32个字母、数字、字符,可识别符号的
大小写,且第一个字符不能是数字。
标号可以后随冒号。
如果
不使用标号,则第一个字必须是空格或分号或星号。
▲助记符域——是关键部分,不能缺省,它表示本指令的操作类型。
助记
符不能从源语句的第一列开始。
它包括下列操作码之一:√汇编指令(例如ABS, MPY, SPH);
√伪指令(例如.data, .list, .set);
√宏指令(例如.macro, .mexit)。
▲操作数域——是跟在助记符域后面的操作数列表,可缺省。
如果多于两
个操作数,则用逗号隔开。
它可以是常数、符号和表达式。
▲注释域——可以从源语句行的任一列开始并直至本行的末尾,即仅包括注释的源语句是有效的。
如果它从第一列开始则可以用分号或星
号开始;在行的其他地方开始的注释,必须以分号开始。
上述各个域必须用一个或多个空格分开。
第6章
常数、字符串和符号
▲常数——支持六类类型的常数。
√二进制整数
第6章
常数、字符串和符号
▲字符串——字符串是包含在双引号内的一串字符,双引号是字符串的一
部分。
字符串用于下列场合:
.
表达式由运算符、常数和符号组成。
有效表达式值的范围是表达式与运算符
运算符组
6 . 3 汇编源程序
第6章。