3-1-指令系统-CPU寄存器

合集下载

第3章C28xDSP的CPU与指令系统

第3章C28xDSP的CPU与指令系统

第3章 TMS320C28x DSP的CPU与指令系统 本章主要内容:Ø 中央处理器(Central Processing Unit)・CPU结构(CPU Structure)・CPU的寄存器(CPU Registers)Ø 寻址方式(Addressing Modes)・寻址方式概述(Introduction to Addressing Modes )・直接、堆栈、间接、寄存器、立即寻址 (Direct, Stack, Indirect, Register and Immediate Addressing)Ø C28x DSP指令系统(Instruction Set for C28x DSP) 3.1中央处理器 3.1.1 CPU结构 C28x DSP的中央处理器(CPU)结构包括三个部分:CPU内核、仿真逻辑单元和CPU信号,如图3-1所示。

图3-1 C28x CPU组成概念框图 仿真逻辑单元的主要功能是监视和控制CPU以及其他外设的工作情况,并实现对设备的测试和调试功能。

用户通过CCS的调试器工具以及硬件JTAG仿真器来访问和操作仿真逻辑单元。

调试器通过仿真逻辑单元可以直接控制存储器接口以获得寄存器或存储器的内容或者对存储器的内容进行修改。

仿真逻辑单元还能够响应多重调试事件,如用于调试的两条指令ESTOP0或ESTOPl产生的软件断点,对程序空间和数据空间指定单元的访问,以及来自调试器或其他硬件的请求,这些调试事件都能够在程序的执行过程中产生一个断点,使得C28x进入调试停止状态。

CPU的信号是指由CPU发出或者输入到CPU的工作信号,主要包括4种:①存储器接口信号,这些信号是指CPU通过并行总线对存储器进行读写访问的时序信号,包括地址信号、数据信号和读写控制信号等。

C28x的CPU是32位的,但它能根据不同存储器字段的长度(16位或32位)来区分不同的存取操作(16位或32位)。

习题1——指令系统 参考答案

习题1——指令系统 参考答案

《汇编语言》习题1——指令系统参考答案习题1-1 在8086CPU中,如果SS的内容设置为1A4BH,堆栈的长度为100H字节,问SP寄存器的初始化值为多少?SP初始指向哪个主存物理地址?答:SP寄存器的初始化值为:100HSP初始指向的主存物理地址是:1A5B0H习题1-2 分别说明下述8086指令中的源操作数和目的操作数的寻址方式。

指令目的操作数源操作数(1) MOV ES, AX 寄存器寻址寄存器寻址(2) ADD DS:[12H],AL 直接寻址寄存器寻址(3) SUB BX,1200H 寄存器寻址立即寻址(4) SHR AX,1 寄存器寻址立即寻址(5) AND -28H[BP][DI], AX 基址变址寻址寄存器寻址(6) MOV CX,LAB1[BX] 寄存器寻址基址/变址寻址(7) SBB AX, [BX] 寄存器寻址寄存器间接寻址(8) OR DX,-360H[SI] 寄存器寻址基址/变址寻址(9) ADC VAR1,CX 直接寻址寄存器寻址(10) XOR [DI],AX 寄存器间接寻址寄存器寻址习题1-3分别说明下述指令语句的语法正确与否,如果有错,说明其错误。

指令正误(1)MOV DS, 1234H 错误,立即数不能直接传送到段寄存器中(2)ADD AH,AL 正确(3)SUB CS,AX 错误,不能对CS直接操作(4)MOV BX,[BX][SI] 正确(5)ADC VAR1,[BP][DI] 错误,两个操作数不能同时都在存储器中(6) SBB [BX][BP],AX 错误, 基址变址寻址方式中不能两个寄存器都是基址寄存器(7)PUSH 5678H 错误,立即数不能作为源操作数直接压入堆栈(8)SHL [BP][SI],CL 错误,目的操作数没有明确指明是字还是字节(9)ROR AX,2 错误,移位次数大于1时,需将其提前存入CL中(10)NEG AX,BX 错误,操作数个数错误(11)LEA CS,AX 错误,目的操作数只能是16位通用寄存器(12)MOV AL,BX 错误, 操作数位数不一致(13)ADD DS:200H,AX 正确(14)AND [BX][BP],AH 错误, 基址变址寻址方式中不能两个寄存器都是基址寄存器(15)OR BH,-16H[BP] 正确(16)CLC AX 错误,操作数个数错误(17)MUL AX,BX 错误,操作数个数错误(18)DIV 12H 错误,源操作数不能是立即数习题1-4 在8086中,如果(DS)=1A26H,(SS)=20B0H,(BX)=1200H,(SI)=0034H, (BP)=5700H(1B484H)=1234H,(26200H)=5678H,给出下面各指令或指令组执行后相应寄存器/存储单元的结果。

计算机系统原理13015习题答案

计算机系统原理13015习题答案

习题解答第1章计算机系统概述1. 给出以下概念的解释说明1. 中央处理器(CPU)通常把控制部件、运算部件和各类寄存器互联组成的电路称为中央处理器(Central Processing Unit,CPU),简称处理器。

2. 算术逻辑部件(ALU)用来进行算术逻辑运算的部件,即算术逻辑部件(Arithmetic Logic Unit)。

3. 通用寄存器临时存放从主存取来的数据或运算的结果。

4. 程序计数器(PC)在执行当前指令的过程中,自动计算出下一条指令的地址并送到PC(Program Counter,PC)中保存。

5. 指令寄存器(IR)从主存取来的指令需要临时保存在指令寄存器(Instruction Register,IR)。

6. 控制器用于自动逐条取出指令并进行译码的部件,即控制元件(Control Unit,CU),也称控制器。

7. 主存储器用来存放指令和数据。

8. 总线CPU为了从主存取指令和存取数据,需要通过传输介质和主存相连,通常把连接不同部件进行信息传输的介质称为总线。

9. 主存地址寄存器(MAR)CPU送到地址线的主存地址应先存放在主存地址寄存器(Memory Address Register, MAR)中。

10. 主存数据寄存器(MDR)CPU发送到或从数据线取来的信息存放在主存数据寄存器(Memory Data Register,MDR)中。

11. 机器指令计算机能理解和执行的程序称为机器代码或机器语言程序,其中的每条指令都由0和1组成,称为机器指令。

12. 存储程序13. 指令操作码操作码字段指出指令的操作类型,如取数、存数、加、减、传送、跳转等。

14. 高级程序设计语言高级程序设计语言简称高级编程语言,是指面向算法设计的、较接近于日常英语书面语言的程序设计语言,如BASIC、C/C++、Java等。

15. 汇编语言通过用简短的英文符号和机器指令建立对应关系,以方便程序员编写和阅读程序。

3 指令系统

3 指令系统
单字节指令(49条)、双字节指令(46条)和三字节 指令(16条)
按指令执行时间分类:
单机器周期指令(64条)、双机器周期指令(45条) 和四机器周期指令(2条)
按功能分类
数据传送指令(29条)、算术操作指令(24条)、逻 辑操作指令(24条)、控制转移指令(17条)和位操 作指令(17条)
指令系统概述
AB ROM地址 指令 机器码 0000H LJMP 0100H ; 02H,01H,00H …… 0100H MOV A,#63H; 74H,63H 0102H ADD A,#20H; 24H,20H……
MCS-51存储器
片内RAM:
数据缓冲区:内 RAM中 工作寄存器区:有专用于工 从广义上讲, MCS-51 内RAM 作寄存器操作的指令,读写 30H ~7FH为数据缓冲区,用 (00~07H )和SFR(80~FFH) 速度比一般内 RAM 要快,指 于存放各种数据和中间结果, 均属于片内RAM 空间,读写 令字节比一般直接寻址指令 起到数据缓冲的作用。 指令均用MOV指令。但为加 要短,还具有间址功能。 以区别,内RAM通常指 00H~7FH的低128B空间。 位寻址区:存放各种位数据。 注意事项: 位地址与字节地址 编址相同,容易混淆。 区分方法:位操作指令中的地 址是位地址;字节操作指令 中的地址是字节地址。
寄存器B
标志寄 存器 PSW
内ROM
20H 20h 24h 24h 63h 63h 74h 74h 00h 00H 01h 01h 02h 02h
指令寄 存器IR
运算逻辑单元ALU 83h 63h+20h=83h
指令译 码器ID
0103H 0102h 0101h 0100h
内RAM 内部 外设 并行 I/O接 口

指令系统

指令系统
g = g + 4; lw $t0, 0($s3) add $s1,$s1,$t0 # $t0=4 # g=g+4 (in MIPS)
注释
(in C) $s3=Address(4)
立即数相加指令
addi $s3,$s3,4
指令 实例
add $s1,$s2,$s3
sub $s1,$s2,$s3
原始C代码: Loop:g = g + A[i]; i = i + j; if (i != h) goto Loop;
-19-
do-while语句举例
3 { 0x00401334 push %ebp 0x00401335 mov %esp,%ebp 0x00401337 and $0xfffffff0,%esp 0x0040133A sub $0x10,%esp 0x0040133D call 0x401910 <__main> 4 int i=0; 0x00401342 movl $0x0,0xc(%esp) 5 do 6 { 7 i++; 0x0040134A incl 0xc(%esp) 8 }while(i>0); 0x0040134E cmpl $0x0,0xc(%esp) 0x00401353 jg 0x40134a <main+22> 9 } 0x00401355 leave 0x00401356 ret #include <stdio.h> int main ( ) { int i=0; do { i++; }while(i>0); }
Can reference low-order 4 bytes (also low-order 1 & 2 bytes)

计算机组成原理-第4章_指令系统

计算机组成原理-第4章_指令系统

7. 段寻址方式(Segment Addressing)
方法:E由段寄存器的内容加上段内偏移地址而形成。
应用:微型机采用段寻址方式,20位物理地址为16位 段地址左移四位加上16位偏移量。
分类:① 段内直接寻址; ② 段内间接寻址; ③ 段间直接寻址; ④ 段间间接寻址;
9 堆栈寻址方式
堆栈:是一组能存入和取出数据的暂时存储单元。
*** 指令字长度
概念 指令字长度(一个指令字包含二进制代码的位数) 机器字长:计算机能直接处理的二进制数据的位数。 单字长指令 半字长指令 双字长指令
多字长指令的优缺点
优点提供足够的地址位来解决访问内存任何单元的寻址问题 ; 缺点必须两次或多次访问内存以取出一整条指令,降低了CPU的运 算速度,又占用了更多的存储空间。
*** 指令系统的发展与性能要求
*** 指令系统的发展
指令:即机器指令,要计算机执行某种操作的命令。
指令划分:微指令、机器指令和宏指令。
简单
复杂
指令系统:一台计算机中所有指令的集合;是表征
计算机性能的重要因素。
系列计算机:基本指令系统相同、基本体系结构相同 的一系列计算机。
*** 对指令系统性能的要求
(2)立即数只能作为源操作数,立即寻址主要用来给寄存 器或存储器赋初值。以A~F开头的数字出现在指令中时,前 面要加0。
(3)速度快(操作数直接在指令中,不需要运行总线周期)
(4)立即数作为指令操作码的一部分与操作码一起放在代 码段区域中。
(5)指令的长度(翻译成机器语言后)较长,灵活性较差。
【例】MOV AX, 10H 执行后(AX)=? 其中:这是一条字操作指令,源操作数为立即寻址 方式,立即数为0010H,存放在指令的下两个单元。

CPU寄存器的功能和说明

CPU寄存器的功能和说明

CPU寄存器的功能和说明4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI)2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器(EIP)1个标志寄存器(EFlags)1、数据寄存器数据寄存器主要⽤来保存操作数和运算结果等信息,从⽽节省读取操作数所需占⽤总线和访问存储器的时间。

32位CPU有4个32位的通⽤寄存器EAX、EBX、ECX和EDX。

对低16位数据的存取,不会影响⾼16位的数据。

这些低16位寄存器分别命名为:AX、BX、CX和DX,它和先前的CPU中的寄存器相⼀致。

4个16位寄存器⼜可分割成8个独⽴的8位寄存器(AX:AH-AL、BX:BH-BL、CX:CH-CL、DX:DH-DL),每个寄存器都有⾃⼰的名称,可独⽴存取。

程序员可利⽤数据寄存器的这种”可分可合”的特性,灵活地处理字/字节的信息。

寄存器AX和AL通常称为累加器(Accumulator),⽤累加器进⾏的操作可能需要更少时间。

累加器可⽤于乘、除、输⼊/输出等操作,它们的使⽤频率很⾼;寄存器BX称为基地址寄存器(Base Register)。

它可作为存储器指针来使⽤;寄存器CX称为计数寄存器(Count Register)。

在循环和字符串操作时,要⽤它来控制循环次数;在位操作中,当移多位时,要⽤CL来指明移位的位数;寄存器DX称为数据寄存器(Data Register)。

在进⾏乘、除运算时,它可作为默认的操作数参与运算,也可⽤于存放I/O的端⼝地址。

在16位CPU中,AX、BX、CX和DX不能作为基址和变址寄存器来存放存储单元的地址,但在32位CPU中,其32位寄存器EAX、EBX、ECX和EDX不仅可传送数据、暂存数据保存算术逻辑运算结果,⽽且也可作为指针寄存器,所以,这些32位寄存器更具有通⽤性。

2、变址寄存器32位CPU有2个32位通⽤寄存器ESI和EDI。

微机原理第3章-指令系统

微机原理第3章-指令系统

▲按给出偏移地址方式的不同,分为以下5种: 寄存器间接寻址 寄存器相对寻址 基址加变址寄存器 相对基址加变址寄存器 MOV AL, [ BX ] MOV AL, [ BX + 10H ] MOV AL, [ BX + SI ] MOV AL, [ BX + SI + 10H ]
(1)寄存器间接寻址
寄存器寻址方式的操作数是寄存器的值,指令中直接 使用寄存器名,包括8位或16位通用寄存器和段寄存器。可 使用的16位寄存器:AX、BX、CX、DX、SI、DI、SP、 BP;其中:AX、BX、CX、DX可分成两8位使用。
例: MOV AX,CX
;(AX)
(CX)
INC CX
;(CX)
(CX)+1
3.直接寻址(Direct Addressing)
0002
AH
AL
默认段寄存器的关系: ① 使用BX、SI、DI,默认段寄存器为DS
(BX)
PA = ( DS )×10H + (SI) (DI)
② 使用BP,默认段寄存器为SS PA = ( SS )×10H + ( BP )
使用BX、SI、DI的寄存器寻址,默认段寄存器为DS
寄存器组 AH AL BH BL CH CL DH DL SI DI BP SP AX BX CX DX DS ES SS CS IP 地 址 加 法 器
运 算 器
控制总线CB


PSW标志 寄存器
执行部件控制电路
CPU
总线
内存
例: MOV AX , [ BX + SI ]
若 ( DS ) = 4000H
( BX ) = 2000H ( SI ) = 100H 则内存操作数的物理地址为:

3CPU-1

3CPU-1
25
2)第2组进位逻辑式 ) 组进位逻辑式
组内: 组内: C5 = G5 + P5CI C6 = G6 + P6G5 + P6P5CI C7 = G7 + P7G6 + P7P6G5 + P7P6P5CI
GⅡ 组间: 组间: C8 = G8 + P8G7 + P8P7G6 + P8P7P6G5 + P8P7P6P5CI PⅡ
4
DO 乘商寄存器
4
移位器
4
G、P 、 Cn+4
控制信息 4
ALU
4 多路选择器 4
Cn
多路选择器
用多路选择器作输入 逻辑, 逻辑,不需暂存操作 数; ALU增加乘、除功能, ALU增加乘、除功能, 增加乘 用乘商寄存器存放乘 乘积或商。 数、乘积或商。
15
DA
4
4
DB
4
A 地址
RAM
4
B 地址
Di
所以 CⅢ = GⅢ + PⅢ CⅡ
27
4)第4组进位逻辑式 ) 组进位逻辑式
组内: 组内: C13 = G13 + P13CⅢ C14 = G14 + P14G13 + P14P13CⅢ C15 = G15 +P15G14 +P15P14G13 +P15P14P13CⅢ
GⅣ 组间: 组间: C16 = G16 +P16G15 +P16P15G14 +P16P15P14G13 + P16P15P14P13CⅢ PⅣ
4
(2)暂存器 )
暂存器对编程者来说是透明的,即在程序 中不会出现。 作用:暂时存放CPU处理过程中的临时信息, 避免破坏通用寄存器的内容。 例如,实现从内存的单元A传送数据到另一个 单元B。从单元A读出的数据先送到CPU中的 一个暂存器,然后再从暂存器送入单元B。

第3章答案指令系统1-40

第3章答案指令系统1-40

第3章指令系统1,简述下列基本概念:指令,指令系统,机器语言,汇编语言,高级语言。

1、指令:CPU根据人的意图来执行某种操作的命令指令系统:一台计算机所能执行的全部指令集合机器语言:用二进制编码表示,计算机能直接识别和执行的语言汇编语言:用助记符、符号和数字来表示指令的程序语言高级语言:独立于机器的,在编程时不需要对机器结构及其指令系统有深入了解的通用性语言2,什么是计算机的指令和指令系统?2、见第1题。

3,简述89C51汇编指令格式。

3、操作码[目的操作数] [,源操作数]4,简述89C51寻址方式和所能涉及的寻址空间。

5,要访问特殊功能寄存器和片外数据寄存器,应采用哪些寻址方式?5、SFR:直接寻址,位寻址,寄存器寻址;片外RAM:寄存器间接寻址6,在89C51片内RAM中,已知(30H)=38H, (38H)=40H, (40H)=48H, (48H)=90H, 请分析下面各是什么指令,说明源操作数的寻址方式以及按顺序执行每条指令后的结果。

6、MOV A,40H ;直接寻址(40H)→AMOV R0,A ;寄存器寻址(A)→R0MOV P1,#0F0H ;立即数寻址0F0→P1MOV @R0,30H ;直接寻址(30H)→(R0)MOV DPTR,#3848H ;立即数寻址3848H→DPTRMOV 40H,38H ;直接寻址(38H)→40HMOV R0,30H ;直接寻址(30H)→R0MOV P0,R0 ;寄存器寻址(R0 )→P0MOV 18H,#30H ;立即数寻址30H→18HMOV A,@R0 ;寄存器间接寻址((R0)) →AMOV P2,P1 ;直接寻址(P1)→P2最后结果:(R0)=38H,(A)=40H,(P0)=38H,(P1)=(P2)=0F0H,(DPTR)=3848H,(18H)=30H,(30H)=38H,(38H)=40H,(40H)=40H,(48H)=38H 注意:→左边是内容,右边是单元7,对89C51片内RAM的高128字节的地址空间寻址要注意什么7、用直接寻址,位寻址,寄存器寻址8,指出下列指令的本质区别。

3-1、80X86寻址方式

3-1、80X86寻址方式

指明CPU要执行什么样的操作。 要执行什么样的操作。 指明 要执行什么样的操作 是一条指令必不可少的部分,用助记符表示。 是一条指令必不可少的部分,用助记符表示。
数据传送 算术运算 逻辑运算 串操作 控制转移 处理机控制
按功能 指令分六类
(2) 操作数 指明参与操作的数据或数据所在的地方。 指明参与操作的数据或数据所在的地方。
例1
MOV
AX , 2056H
执行后: 执行后:(AX)=2056H
例2
MOV
BL , AH
执行前: 执行前:(BL) = ??H, (AH) = 78H 执行后: 执行后:(BL) = 78H , (AH) = 78H
▲ 立即数寻址、寄存器寻址的操作数, 立即数寻址、寄存器寻址的操作数, 不用在取完指令后再到内存中取数。 不用在取完指令后再到内存中取数。 CPU 总线
寄存器组 AH AL BH BL CH CL DH DL SI DI BP SP AX BX CX DX DS ES SS CS IP 地 址 加 法 器
内存
地址总线AB 地 数据总线DB 址 译
、、、 指令1 指令 指令2 指令 指令3 指令 指令4 指令 、、、 数据1 数据 数据2 数据 数据3 数据 、、、
单操作数
指令中给出一个操作数。 指令中给出一个操作数。 有两种可能: 有两种可能: ▲有些操作只需要一个操作数 如 INC AL ; (AL) ← (AL)+ 1 ) )
▲有些操作将另一个操作数隐含在指令中 如 MUL BL ; (AX) ← (AL)×(BL) ) ) )
双操作数
指令中给出两个操作数。 指令中给出两个操作数。
内存 00H ….
若定义value 为字类型 : 若定义 则 MOV value , 0 是一个字操作。 value 是一个字操作。 00H 00H

第3章答案指令系统1-40..

第3章答案指令系统1-40..

第3章指令系统1,简述下列基本概念:指令,指令系统,机器语言,汇编语言,高级语言。

1、指令:CPU根据人的意图来执行某种操作的命令指令系统:一台计算机所能执行的全部指令集合机器语言:用二进制编码表示,计算机能直接识别和执行的语言汇编语言:用助记符、符号和数字来表示指令的程序语言高级语言:独立于机器的,在编程时不需要对机器结构及其指令系统有深入了解的通用性语言2,什么是计算机的指令和指令系统?2、见第1题。

3,简述89C51汇编指令格式。

3、操作码[目的操作数] [,源操作数]4,简述89C51寻址方式和所能涉及的寻址空间。

5,要访问特殊功能寄存器和片外数据寄存器,应采用哪些寻址方式?5、SFR:直接寻址,位寻址,寄存器寻址;片外RAM:寄存器间接寻址6,在89C51片内RAM中,已知(30H)=38H, (38H)=40H, (40H)=48H, (48H)=90H, 请分析下面各是什么指令,说明源操作数的寻址方式以及按顺序执行每条指令后的结果。

6、MOV A,40H ;直接寻址(40H)→AMOV R0,A ;寄存器寻址(A)→R0MOV P1,#0F0H ;立即数寻址0F0→P1MOV @R0,30H ;直接寻址(30H)→(R0)MOV DPTR,#3848H ;立即数寻址3848H→DPTRMOV 40H,38H ;直接寻址(38H)→40HMOV R0,30H ;直接寻址(30H)→R0MOV P0,R0 ;寄存器寻址(R0 )→P0MOV 18H,#30H ;立即数寻址30H→18HMOV A,@R0 ;寄存器间接寻址((R0)) →AMOV P2,P1 ;直接寻址(P1)→P2最后结果:(R0)=38H,(A)=40H,(P0)=38H,(P1)=(P2)=0F0H,(DPTR)=3848H,(18H)=30H,(30H)=38H,(38H)=40H,(40H)=40H,(48H)=38H 注意:→左边是内容,右边是单元7,对89C51片内RAM的高128字节的地址空间寻址要注意什么7、用直接寻址,位寻址,寄存器寻址8,指出下列指令的本质区别。

3 指令系统

3 指令系统

MOVC MOVC
A,@A+DPTR A,@A+PC
;A ←((A)+(DPTR)) ;A←((A)+(PC))
说明:两条指令同常用于查找程序中的数据表格 四.堆栈操作指令 堆栈是建立在内部 RAM 中,通过堆栈指示器 SP 进行 读写操作。指令格式为:
PUSH direct ;SP←(SP)+1, (SP)←(direct) POP direct ;direct←((SP)), (SP)←(SP)-1
北京交通大学 21
练习:指出下列指令中操作数的寻址方式。
(1)MOV A,#20H (2)MOV P0,@R0 (3)ADD A,40H
立即 寄存器 寄存器间接 直接寻址 直接 寄存器
;A ;P0
20H ((R0)) (A)+(40H)
;A ;P1
(4)MOV P1,#0FFH
立即
FFH
((A)+(PC))
北京交通大学 29
说明: MOVC A,@A+DPTR寻址范围64K
MOVC A,@A+PC寻址范围256B, 以PC+1为基址,从PC+1H到PC+100H
例:从1000H单元存放0—9平方值
MOV DPTR,#1000H MOV A,#09H MOVC A,@A+DPTR
若MOVC指令地址PC为0FF0H, 偏移量=1000H-(0FF0H+1)=0FH MOV A,#09H ADD A,#0FH MOVC A,@A+PC
操作数低八位00H
7
北京交通大学
二、指令分类
数据传送类指令; 算术运算类指令; 逻辑运算类指令; 控制转移类指令; 位操作指令 在上述111条指令中,64条指令执行时间为一个机器周 期,45条指令执行时间为两个机器周期,只有乘、除法指 令执行时间为四个机器周期。当主频为12MHz时,典型指令 执行时间为1us

微型计算机基本原理与接口技术(第二版)教学课件ppt作者陈红卫主编第三章

微型计算机基本原理与接口技术(第二版)教学课件ppt作者陈红卫主编第三章
AH←AH+调整所产生的进位值。 对标志位的影响:AF、CF 例: MOV AX,0435H
MOV BL,39H ADD AL,BL AAA
微机原理
② AAS 减法的ASCII码调整指令 指令格式: AAS 执行操作:AL←把减法结果AL的内容调整到 非压缩的BCD码格式 AH←AH - 调整所产生的借位值 标志位的影响:AF、CF
微机原理
3.1.6 转移类指令的寻址方式 1.段内相对转移寻址 有效地址EA为当前IP寄存器内容与指令中指定 的8位或16位有符号数之和 例:JZ DISP 其中DISP是符号地址 2.段内间接转移寻址 有效地址EA为寄存器或存储器单元的内容,这种 寻址方式不能用于条件转移指令。 例:JMP CX
微机原理
3.1.3 寄存器寻址方式 寄存器寻址:操作数存放在CPU内部的寄存器中 例 :MOV AX,DX ; AX←DX 3.1.4 寄存器间接寻址 寄存器间接寻址:有效地址包含在基址寄存器 BX、BP或变址寄存器SI、DI中直接寻址 例 MOV AX,[BX]
MOV AX,[BP] 3.1.5 寄存器相对寻址 寄存器相对寻址方式:有效地址在SI、DI、BX 或BP之一,加上指令中8位或16位相对地址 例 MOV AL,ADDR[SI]
3.2 8086/8088 CPU的指令系统 微机原理
3.2.2 算术运算指令
1.加法指令 ⑴ ADD 不带进位加法指令 指令格式:ADD DST,SRC 执行操作:(DST)←(SRC)+(DST)。 对标志位的影响:OF、SF、ZF、AF、PF、CF。
存储器 通用寄存器 立即数
存储器 通用寄存器 立即数
OR AL,20H 执行上述指令后AL=?
⑶逻辑非NOT 指令 指令格式:NOT OPR 执行操作: (OPR)←(OPR) 影响的标志位:无

第3章 MCS-51单片机指令系统1

第3章  MCS-51单片机指令系统1

2.操作码:指明指令功能,是指令功能的英文缩写。 汇编语句格式中唯一不能空缺的部分。
MOV__move传送 XCH__exchange交换 ANL__and logic与逻辑运算 XRL__exclusive or异或运算
MUL__Multiply乘法
RR__rotate right右循环 SJMP__short jump短跳转 RET__return 子程序返回 操作码助记符
MCS-51系列单片机指令系统分类
按寻址方式分为以下七种 1、立即寻址 2、直接寻址 3、寄存器寻址 按功能分为以下五种: 1、数据传送指令 2、算术运算指令 3、逻辑运算指令
4、寄存器间接寻址指令
5、相对寻址
4、控制转移指令
5、位操作指令
6、变址寻址
7、位寻址
3.3 指令系统的寻址方式
我的信在她 那!找信去!
快件
目的地
MOV A,#30H
30H
A
这类指令大都是双字节指令,仅有指令:MOV DPTR,#DATA16是三字节指令,它提供两字节立即 数。 第一位数字
是A~F时在 其前加0
对立即数的书写要求:对于单字节立即数,若 数值大于等于A0H,则要在其前面加一个0,如指令 “MOV A,#0A0H”,该指令含义是把立即数A0H送 累加器;对于双字节立即数,若数值大于等于 A000H,则要在其前面加一个0。对于直接地址和偏 移量也按相同方法书写。
1.标号:指令的符号地址 一般由字母和数字组成,第一位必须为字母,冒 号 “ :” 结 束 。 字 符 个 数 不 能 超 过 8 个 。 AD5 、 Q555、BB5D、pat、loop等为合法标号;5P、PA、10AD、+A等为非法标号。 不能用汇编语言已定义的符号作标号。如助记符、 伪指令、寄存器名称等。 同一标号在一个程序中只能定义一次。 标号在语句中的有无取决于本语句是否被访问。

计算机组成原理-填空期末考题

计算机组成原理-填空期末考题

1、计算机的硬件包括运算器、控制器、存储器、输入设备和输出设备五部分。

2、总线一般可分为三类,它们分别是地址总线、数据总线和控制总线。

3、将二进制数01100100转换成十进制数是 100 ,转换成八进制数是 144 ,转换成十六进制数是 64H 。

4、在一个8位的机器系统中,补码表示数的范围从 -128 到 +127 。

5、CPU能直接访问主存和 Cache ,但不能访问外存和 I/O设备。

6、Cache的映射方式有直接映像、全相联映像和组相联映像三种。

其中组相联映像方式,适度地兼顾了前两者的优点又尽量避免其缺点,比较理想。

7、磁盘的寻址信息格式由驱动器号、盘面号、磁道号、扇区号四部分组成。

8、目前的CPU包括运算器,控制器和CACHE(一级)。

9、在程序执行过程中,控制器控制计算机的运行总是处于取指令、分析指令和执行指令的循环之中。

10、微程序入口地址是译码器根据指令的操作码产生的。

11、微程序控制器的核心部件是控制存储器,它一般用只读存储器构成。

16、计算机中各功能部件是通过总线连接的,它是各部件间进行信息传输的公共通路。

和共享。

21、一个定点数由符号位和数值域两部分组成。

根据小数点位置不同,定点数据有23、码距的定义是编码系统中任两个合法码之间的最少二进制位数的差异。

24、8421码用二进制求和时,当和超过 9 时,需要做加6调整修正。

25、有二进制数D4D3D2D1,奇偶校验值用P表示,则奇校验为 P=D4+D3+D2+D1,偶校验为P=D4+D3+D2+D1,奇偶校验只能检测奇数个错,无法检测偶数个错。

26、在浮点加减法运算中,当运算结果的尾数的绝对值大于1时,需要对结果进行向右规28、一个完整的磁盘存储器由三部分组成,其中磁盘驱动器又称磁盘机或磁盘子系统,是独立于主机的一个完整的设备,磁盘控制器是磁盘机与主机的接口部件,磁记录介质用于保存信息。

29、CPU中保存当前正在执行的指令的寄存器为指令寄存器IR,保存下一条指令地址的寄存器为程序计数器PC。

3-03 指令系统分类

3-03 指令系统分类

(X) 表示X地址单元或寄存器中的内容。
((X)) 表示以X单元或寄存器中的内容作为地址间接寻址单元的内容。

箭头右边的内容被箭头左边的内容所取代。
4
- 助记符中用到的符号
指令系统介绍之前,先介绍指令中用到的符号。
Rn
当前寄存器区的8个工作寄存器R0~R7(n=0~7)。
Ri
当前寄存器区中可作为间接寻址寄存器的2个寄存器R0、R1
(i=0,1)。
பைடு நூலகம்
Direct 直接地址,即8位内部RAM单元或特殊功能寄存器的地址。
#data 指令中的8位立即数。
#data16 指令中的16位立即数。
rel
偏移量,8位的带符号补码数。
DPTR 数据指针,可用作16位数据存储器单元地址的寄存器。
3
指令系统分类
- 助记符中用到的符号
bit 内部RAM或特殊功能寄存器中的直接寻址位。
C或Cy 进位标志位或位处理机中的累加器。
addr11 11位目的地址。
addr16 16位目的地址。
@
间接寻址寄存器前缀,如@Ri,@A+DPTR。
指令系统分类
Harbin Institute of Technology
1
指令系统分类
- 指令的功能划分
AT89S51指令系统111条,按功能分为五类: (1)数据传送类(28条) (2)算术运算类(24条) (3)逻辑操作类(25条) (4)控制转移类(17条) (5)位操作类(17条)
2
指令系统分类
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

WIRELESS DIGITAL FULL-DUPLEX VOICE TRANSCEIVER 无线数字全双工语音收发器
SW-438
CPU
CC1020
WIRELESS DIGITAL FULL-DUPLEX VOICE TRANSCEIVER 无线数字全双工语音收发器
TPA4861D
Speaker DriverБайду номын сангаасTPA4861D
指令系统学习方法
汇编指令的一般格式 操作码
寻找 寻址方式
标号:操作码 操作数 //注释 CPU寄存器 内存单元(sfr、地址) 指针 常数 标号、特殊符号 伪运算符构成的表达式
操作数
操作码115个
ASL BHS
ASLA ASLX BLO
一共120个操作码
指令系统基本要领
CPU寄存器 寻址模式 指令系统及其分类学习 编程练习 RAM
▪目标代码完全向上兼容M68HC05和M68HC08家族
▪所有寄存器和存储器映射在单块64 Kbyte地址空间 ▪16位堆栈指针SP(64 Kbyte地址空间中的任意大小堆栈)
▪16位索引寄存器(H:X)的强大的寻址索引模式
▪多种寻址模式 ▪8位累加器(A) ▪支持存储器到存储器的数据传送 ▪高效的位操作指令
LDHX TXS
#ramlast+1
;RAM最高地址的下一位 ;HX-1----->SP
SP
一般情况下,RAM 被定义在通用寄存器或者它的头文件 中,在实际应用中被认为是特定的HCS08 芯片。RamLast+1 使 RAM 高端的下一高地址放入H:X 中,因为TXS 指令在传送时会 自动调整它的值(自减1)。调整使得SP 指向堆栈中的下一个可用 的位置。这样,SP 当前指向RAM 的最后位置(最高地址值),并 且将它作为堆栈的第一个位置。当有值进栈时,堆栈指针会向低 地址方向移动。
▪快速的8位乘8位和16位除以 8位指令
▪STOP和WAIT指令唤醒低功耗运行状态
CPU寄存器
CPU寄存器
A
这个通用的8 位寄存器是HCS08 主要的数据寄存器。数据可以通过LDA 指令从存储器或 通过PULA 指令从堆栈读入到A。数据通过存数指令STA 存入存储器中或通过堆栈指令 PSHA 将A 进栈到累加器A。多种寻址方式给存储器的存取指令带来了更大的灵活性。传 送指令可以将数据从累加器A 传送到寄存器X 中(TAX),或者从寄存器X 传送到累加器A 中(TXA),或者从累加器A 传送到CCR 中(TAP),或者从CCR 传送到累加器A 中(TPA)。 TAP 和TPA 中的P 表示处理机状态。A 半交换指令(NSA)使A 中数据的高四位和低四位对 调。 通常对A 中的值通过ADD、SUB、ASLA、RORA、INCA、DECA、AND、ORA、 EOR 等指令执行算术、移位和逻辑操作。其中有些指令如INCA 和ASLA,对A 中的内容 进行操作后放回A 中。另外一种情况如ADD 和AND,它们有两个操作数:一个操作数在A 中,另一个操作数在存储器中。算术和逻辑操作的结果都是替代累加器内的值。 乘法和除法指令使用A 作为一个操作数,并且保存部分值到A 中。MUL 指令将X 和A 中的无符号数相乘并将16 位结果的高低字节分别存储在X 和A 中。DIV 指令将H、A 中的 16 位无符号数除以X 中8 位无符号数,再将商储存在A 中,余数放入H 中。 在进行两个BCD 码数的ADD 或ADC 操作时,需执行十进制调整指令DAA 来纠正A 中的值,使其变为有效的BCD 码2 位数。关于指令的详细解释请查阅BCD 算术运算。 显然,累加器是个非常忙的寄存器,因此如果能够避免使用累加器是很有益的。例 如,从存储器到存储器的传送指令(MOV)就很有用。DBNZ 也很有用,因为它允许循环计 数器工作在内存变量中而不是在累加器中。X 寄存器在许多情况下被当作另一个通用的8 位数据寄存器。有些算术运算操作如清零、加、减、取反、求补和移位也可以使用X 寄存 器。
H:X
这个16 位的变址寄存器事实上是两个独立的8 位寄存器(H 和X) 的合并。变址寻址方式使用H:X 作为16 位的基本参考点,且允许有 16 位偏移量、8 位偏移量和无偏移量的指令,另外一些变址寻址寄 存器在变址用于存取存储器操作时自动增加到16 位变址寄存器。关 于变址寻址方式的详细描述请查阅变址寻址方式。 8 位X 寄存器(H:X 中的低8 位)也被当作一个通用的数据寄存 器。修改类指令(如ASLX、ASRX、CLRX、COMX、DECX、 INCX、LSLX、LSRX、NEGX、ROLX、RORX 和TSTX)允许能被 累加器所执行的ALU 操作的子集。要注意的是,当要改变整个16位 H:X 变址寄存器时,不要用这些指令,因为这些指令只影响X。下 面的指令序列给出了在X 上的16 位形式的8 位操作实例。

A
#opr
CPU
CCR
H:X
SP
HCS08 CPU 简介

HCS08 CPU与M68HC08 CPU的指令系统完全 相同,且目标代码与M68HC08完全兼容。 同时增加了一些指令和增强了寻址模式以 增加C编译器效率,且支持一个新的背景调 试系统,能够代替早期M68HC08微处理器 的监测模式。
HCS08 CPU的特点包括:
Load、store、push 和pull 指令可用于X 中,其寻址方式与用于A 中的变址寻址相同。在16 位H:X 寄存器中也有取数和存数指令,但 没有提供多种不同的寻址方式。进栈(PSHH)和出栈(PULH)指令可 用于H 中,并且这两个简单的指令可将16 位变址寄存器(H:X)进栈 和出栈。
H:X
有时堆栈指针值需要被传送到HX 寄存器中,因此H:X 在堆栈中能当作信息 指针使用。堆栈指针总是指向堆栈中的下一个可用的位置,但是一般情况下变址 寄存器应该直接指向数据。因此,堆栈的16 位值是通过TSX 指令传送到H:X 中, 并加一。因为这个调整,TSX 执行后HX 指向堆栈数据的最后一个字节。当使用 TXS 指令时求补调整就会发生(通过使用TXS 这个值会自减1)。可以认为,当16 位地址在SP 中,它指向下一个有用堆栈位置,若在H:X 中,则它指向最后一个 字节信息。
H:X
为了与早期的M08HC05 系列兼容,中断不在堆栈中保存H 寄 存器。一种好的做法是在中断服务例程中将PSHH 指令作为第一个 指令(保护H)并且在程序结束RTI 之前加上PULH 指令作为最后一个 指令(恢复H)。可以不要这些指令,如果确信H 已经不在中断服务例 程中被用到,并且确信没有AIX 指令或没有变址寻址方式中的自增 指令,因为这些指令能够使H 发生改变。如果能容许两个字节的额 外程序空间、一个在堆栈中额外的临时空间和运行期间五个总线周 期的开销,那么更安全的做法就是把PSHH 和PULH 包含进去作为 一种习惯。 乘除指令把X 作为操作数,且MUL 将一部分乘积存储在X 中 。MUL 将无符号数A 和X 相乘,并把16 位结果存于X:A 中。DIV 指 令将H、A 中16 位无符号数与X 中的8 位无符号数相除,商放入A 中,余数放入H 中。
A
指令类型 指令名称 LDA/STA A与别人的数据交换 PULA/PSHA TAX/TXA TPA/TAP NSA 折腾A ASLA 大部分X也行 RORA INCA DECA DAA ADD A与存储器的数据进行 SUB 运算后放回A中 AND ORA EOR A*X=XA MUL H A/X = A……..H DIV 作用 与存储器进行数据交换 与堆栈进行数据交换 与X进行数据交换 与CCR进行数据交换 将A中数据的高四位和低四位对调 算术左移位 循环右移位 加1 减1 十进制调整 加 减 逻辑与 逻辑或 逻辑异或 乘法 除法
M/A-COM GaAs RF Switch
SW-438
Freescale 8位单片机指令系统
HC08 CPU有5个寄存器、16种寻址方式、140条基 本指令(加上寻址方式可形成270条具体指令),这是学习 08汇编语言的基础。 08汇编语言是学习08系列MCU的重要基础之一,学 好汇编语言有助于进行底层编程、有助于理解编程结构、 有利于理解单片机内部结构。 基本要领: 1〉掌握CPU内部5个寄存器的使用方法; 2〉理解16种寻址方式; 3〉记住常用指令; 4〉进行编程实践
SP
这个16 位地址指针寄存器用于自动维护CPU 的一个后进先 出(LIFO)堆栈。当CPU 执行绝对转移调用(JSR)或相对转移调用 (BSR)指令时,它会自动保存返回地址到堆栈中。当子程序最后 执行返回指令(RTS)时,该返回地址会自动从堆栈中恢复,并由 此继续执行先前暂停的地方,在那里子程序被调用。SP 是一个 满16 位寄存器,所以堆栈可以寻址存储映射区的任何地方,且 它可取不超过芯片可用RAM 空间大小的任意大小。 堆栈指针总是指向堆栈中下一个可用位置。当一个数值要 进栈时,它会被写到SP 指向的地址中,随后SP 会自动减少而 指向下一个可用位置。当一个数值要出栈时,SP 首先会自增以 指向堆栈中最近进栈的数据,然后从刚被SP 指向的地址中读出 数据。需要注意的是SP 指向的数据,在出栈的过程中不会被改 变。如果SP 指向当前内存的下一个位置,即指向之前最近存储 的数据,当新的数据进栈时,会覆盖该位置的数据。如果在复位 初始化期间,堆栈的RAM 区被清空,那么堆栈扩充时,可以通 过观察哪些存储单元仍然为空来确定最大深度。
H:X使用总结
指令类型 指令名称 作用 LDX/STX 与存储器进行数据交换 HX/X 与别人的数 PULX/PSHX 与堆栈进行数据交换 据交换 TAX/TXA 与A进行数据交换 TSX/TXS 与SP进行数据交换 LDHX/STHX HX整体与存储器进行数据交换 ASLX/ASRX 算术左、右移位 折腾X LSLX/LSRX 逻辑左、右移位 被认为是 ALU 操 ROLX/RORX 循环左、右移位 作的子集 CLRX 清0 16位形式 LDHX #0 INCX 加1 AIX #1 DECX 减1 AIX #-1 COMX、NEGX 求反、求补运算 TSTX 测试是否为0,影响标志位 CPHX #0 IX2 最本质作用 变址寻址方式使用H:X 作为16 位的基本 参考点,且允许有16 位偏移量、8 位偏 IX1 移量和无偏移量的指令。 IX A*X=XA MUL 乘法 H A/X = A…….H DIV 除法 特别注意点 中断时H没有自动进栈,需要手工压栈与出栈
相关文档
最新文档