2第2章 指令系统

合集下载

第二章2 指令系统

第二章2 指令系统
(5)堆栈寻址
格式 操作码OP 堆栈指针SP
S =((SP))
堆栈向上生成 栈顶 SP自动减1,再存数。 压栈: -(SP),自减型间址。 先取数,SP再自动加1。 出栈: (SP)+,自增型间址。
SP 0070
M

... S ... ...

SP既可出现在指令中,也可隐含约定。
2.3.2.2 常见寻址方式
2.3.1.1
指令字长
• 指令字长与主存的编址单位及CPU的机器字长 有一定关系。
• 指令字长位数越多,所能表示的操作信息和地 址信息也就越多,指令的功能越丰富,但所占 空间和时间也越多。
定长指令格式
变长指令格式
便于控制 合理利用存储空间
2.3.1.2
操作码格式
操作码一般在指令格式的前面一个或几个字 节。根据它可以判明该指令的基本类型及相 应的字节数。
程序模块,有效利用存 储空间。
S ...
2.3.2.2 常见寻址方式
相关问题:
寻址方式如何表示? (1)指令中设置专门字段说明寻址方式
例.某机指令的每个地址字段中各设置一个 3位的寻址方式字段。 3位 3位 操作码OP 寻址方式 R 寻址方式 R
目的地址字段
源地址字段
2.3.2.2 常见寻址方式
D3
D4
结果 下条指 地址 令地址
功能:(D1)OP(D2) D3 (D4) 下条指令
2.3.1.3
2)三地址指令 格式:OP D1 D2
操作数 地址
地址结构
D3
结果 地址
(D1)OP(D2) 功能: (PC) + n
D3 PC
用指令计 数器PC指 示指令地 址。

第2章 指令系统与汇编语言基础(2.1--2.4)

第2章 指令系统与汇编语言基础(2.1--2.4)

1.Java 程序设计语言的特征
Java 程序设计语言与其他高级语言程序不同的是,它并 不需要编译成能被处理器所执行的机器码。而是被编译成 为一种称为字节码的格式。如图2.1所示: • 这种字节码被输进Java 虚拟机或称为JVM中,由JVM来 解释和执行这种代码。JVM可以是一个硬件芯片,但它本 身通常是一种程序,常常是Web浏览器的一部分。你可以 把字节码当成是JVM的机器码。 • 所谓“虚拟”其本意是“不符合或不一定符合事实的”。 在虚拟系统中,用户(程序员)看不到下一层级东西(见 图1.4)。但如果有需要的话,程序员是可以看到下一层 级虚拟机的东西,但看不到实际机器。
2.2 程序设计语言的级别
人们与计算机交换信息只能通过计算机语言,如果说 今天有各种各样计算机语言的话,归纳起来只有以下三大 类: 1. 机器语言(又称二进制机器语言、二进制数字化语言、 无符号计算机语言等) 2. 汇编语言:属于计算机最低级的符号语言,因为每一 条汇编语言指令(汇编语言伪指令除外)对应一条二进制 机器语言指令(又称机器指令)。具有平台专用性。 3. 高级语言:诸如VC++、Java、SQL和Fortran 之类 的语言都是高级语言,这类语言的特点是几乎每一条语句 都需要用一串的机器指令才能实现。这也可以说是“语句” 与“指令”的区别所在。具有平台无关性 以上三类计算机语言统称为程序设计语言。
问题:什么是数据表示? 什么是数据结构? 两者有何关系? 为什么要学习数据结构?
为什么要学习数据结构呢?
因为计算机(其实是CPU)只能够识别有限 的数据类型,而在自然界中存在着大量的CPU不 能直接识别的数据,因此要学习数据结构。 学习数据结构的目的是学习如何用数据结构 (典型的有:串、数组、向量、图、表、队列、 树等)的方法将原CPU无法直接识别、引用和处 理的数据转换为CPU能直接识别、引用和处理数 据类型,这样计算机才能解决这类问题。

第二章 80868088寻址方式和指令系统

第二章 80868088寻址方式和指令系统

(5)奇偶标志PF
用于反映运算结果中“1”的个数。如果“1”的个数为偶数,则OF被置1,否则OF被清0。
(6)辅助进位标志AF
在字节操作时,如发生低半字节向高半字节进位或借位;在字操作时,如发生低字节向高字 节进位或借位,则辅助进位标志AF被置1,否则AF被清0。
②状态控制标志
(1)方向标志DF
方向标志决定着串操作指令执行时,有关指针寄存器调整方向。 当DF为1时,串操作指令按减方式改变有关的存储器指针值, 当DF为0时,串操作指令按加方式 改变有关的存储器指针值。
其中:存储单元的物理地址是12345H, 标出的:两个重叠段的段值分别是:1002H和1233H, 在对应段内的偏移分别是2325H和0015H。
采用段值和偏移构成逻辑地址后,段值由段寄存器给出,偏移可由指令指针IP、堆栈指针SP 和其他可作为存储器指针使用的寄存器(SI、DI、BX和BP)给出,偏移还可直接用16位数给 出。
图中指令存放在代码段中,OP表示该指令的操作码部分 再例如: MOV AL,5 则指令执行后,(AL)=05H
MOV BX,3064H 则指令执行后, (BX)=3064H
2、寄存器寻址方式
操作数在CPU内部的寄存器中,指令指定寄存器号。
对于16位操作数数,寄存器可以是:
AX、BX、CX、DX、SI、DI、SP和BP等;
指令中不使用物理地址,而是使用逻辑地址,由总线接口单元BIU按需要根据段值和偏移自动 形成20位物理址。
3、段寄存器的引用
由于8086/8088CPU有四个段寄存器,可保存四个段值。所以可同时使用四个段值,但这四个 段有所分工。
在取指令的时候,自动引用代码段寄存器CS,再加上由IP所给出的16位偏移,得到要取指令 的物理地址。

计算机系统结构第2章

计算机系统结构第2章

计算机系统结构第2章第⼆章指令系统第⼀节指令系统设计概述⼀、指令系统概述1、指令系统的设计、应⽤及实现(1)指令系统的设计*机器指令:计算机硬件实现的运算或操作的命令;第i 种格式:OP i A 1A 2编码⽰例:00110 000~111 000~111功能⽰例:A 1←(A 1)+(A 2)第j 种格式:OP j A 编码⽰例:10110 000~111功能⽰例:A←(A)+1*指令系统设计:定义所有机器指令的格式(含编码)。

*指令系统:所有机器指令的集合;第1种:第2种:…第n 种:OP 1A 1A 2OP 2A OP n A 1A 2…(2)指令系统的应⽤第i种指令应⽤⽰例a:00110 000 001 功能AH←(AH)+(AL)⽰例b:00110 011 000 功能BL←(BL)+(AH)应⽤程序⽰例:从主存地址为2000H开始的100个元素累加求和机器指令格式机器指令程序汇编程序1011wreg data 1011001001100100 CX←1001011100100000000 00100000LP:BX←2000H1011000000000000 AL←0 0000000w mod reg r/m 0000000100000111AL←AL+[BX] 01000reg 01000001 BX←BX+1 11100010 disp 11100010 11111000 LOOP LP*指令系统应⽤:按指令格式要求,根据应⽤需要、编写程序中的指令(即指令格式的实例)。

(3)指令系统的实现指令功能实现步骤—ID 对IR 的OP 译码,⽤输出信号控制某⼀部件⼯作;ID 对IR 的A 译码,⽤输出信号控制相关REG 的读/写;信号有效时间由时序部件及该指令功能实现步骤决定。

指令操作或运算—部件功能实现及数据传递等的组合。

*指令系统实现:按指令格式要求,⽤硬件实现指令功能。

*设计/应⽤实现三者关系:类似C 语⾔设计、⽤C 语⾔编程、C 语⾔编译及执⾏平台!☆指令系统的实质—软件与硬件之间的界⾯(“约定”)!指令译码器ID I OP A 内部总线CPU ID D 功能部件1功能部件n …寄存器1寄存器m…指令寄存器IR :……存储总线MAR/MDR2、指令系统涉及内容(1)指令格式包含信息分析第i种指令格式:OP i A1A2②数据:(A1)=OP i⽀持类型的地址为A1的数据①操作:A1←(A1) OP i(A2) 或A 2←(A2) OP i(A1)硬件⽀持的数据类型(含数据长度)可存放数据部件类型、部件的编址⽅式部件中同⼀数据地址的表⽰⽅式(2)涉及内容*指令集结构:指令集总体框架,如存放部件、寄存器数量;*指令集功能:⽀持操作的类型;*数据表⽰:操作⽀持的数据类型、数据存储格式等。

计算机系统结构 第二章 数据表示与指令系统

计算机系统结构  第二章  数据表示与指令系统
优点:实现简单,增加 的硬件很少,最大误差 小,平均误差接近于0。
缺点:处理速度慢, 需要花费时间在数的浮 加位加1以及因此产生进 位的时间。
19
4)查表舍入法
其方法是基于存储逻辑思想 ,用ROM 或PLA存放下溢 处理表。
优点:集中了上述各种处理方 法的优点,避免了舍入法所需 的相加和进位传输时间。由于 ROM的读出时间比加法时间短, 所以这种查表的速度比较快。 该方法速度快,平均误差可调 节到趋于0
计算机系统结构
第二章数据表示与指令系统
刘超 中国地质大学计算机学院
第二章 数据表示与指令系统
2.1浮点数数据表示(尾数/基值选择、下溢处理) 2.2高级数据表示(自定义、向量、堆栈) 2.3寻址方式与指令格式优化(寻址/定位/优化) 2.4指令系统的两种风格(CISC和RISC)
3
2.1.2引入数据表示的原则
巨的、范大围、大中,个型数机多上,,运rm算宜速取度大快,;这而样小使、可微表型示机的由数 于可表示数范围不要求太大、速度也不要求太高, 尾 取数 值字小长些较。短如,:所以更注重于可表示精度,宜使rm
PDP-11/ Intel X86等,rm=2; IBM 370,rm=16; Burroughs B6700,rm=8
由于表示产生的误差大小就是数的表示精度。当 总的机器字长确定好之后,结构设计者就应该确 定好浮点数表示中p和m的位数,这主要示根据 数的表示范围和精度来定的。
8
阶码采用二进制p位, 尾在数非采负用阶、rm正进尾制数m、′位规, 格化条件下各种浮点数 特性参量的一般式
10
(1)可表示数的范围 随于p可着大以的rm减r的m少的增。大值,,可为表表示示数相的同范范围围增的大数,,换其句阶话码说的位,对数

51系列单片机指令系统

51系列单片机指令系统

MOV DPTR,#1000H MOVX A,@DPTR INC DPTR, MOVX @DPTR,A 7、程序存储器向累加器A传送指令 MOVC A,@A+DPTR MOV DPTR,#100H MOV A,R0 MOVC A,@A+DPTR ORG 0100H. DB 0,1,4,9,16,25 8、堆栈操作指令 PUSH direct POP direct 第一条指令称之为入栈指令,就是将direct中的内容 送入堆栈中,第二条指令称之为弹出指令,就是将堆栈 中的内容送回到direct中。
位寻址时,操作数是二进制数的某一位,其位地 址出现在指令中,例如指令 • SETB bit ;(bit) ← l • 51系列单片机可用于位寻址的空间是内部RAM的可 位寻址区和SFR区中的字节地址可以被8整除(即地址以 “0”或“8”结尾)的寄存器所占空间,寻址方式如表 2-2所示。
表2-2 寻址方式一览表
寻 址 方 式
寻 址 范 围
R0-R7 ,DPTR ACC,B,C(CY位)
内部RAM 00H-7FH 特殊功能寄存器 80H-FFH 内部RAM位寻址区 (20H-2FH): 位地址00H-7FH 可寻址的特殊功能寄存器: 位地址 80H-F7H 以数据指针表示操作数 内部RAM 00H-7FH 外部RAM或I/O端口 00H-FFH / 0000H-FFFFH
图2-3 寄存器间接寻址
图2-4 立即寻址
4、立即寻址

立即寻址时,指令中直接给出操作数。例如指令 MOV A,#76H ;数据76H送累加器 A。 • 立即数寻址过程如图2-4所示。
5、变址寻址

变址寻址时,指定的变址寄存器的内容与指令中 给出的偏移量相加,所得的结果作为操作数的地址。 例如指令MOVC A, @A+DPTR ;((A)+(DPTR))送 A。变址寻址过程如图2-5所示。 不论用DPTR或PC作为基址指针,变址寻址方式都 只适用于51系列单片机的程序存储器,通常用于读取 数据表也就是将程序存储器中的数送入A中。因此也称 为查表指令,常用此指令来查一个已做好在程序存储 器中的表格,这条指令采用变址寻址。

计算机系统结构 第 2 章 指令集结构

计算机系统结构 第 2 章 指令集结构
2014-3-8 9
2.1 指令系统结构的分类
• • • • • • 1. 指令系统分类的准则 ⑴ 在CPU中操作数的存放方法。 ⑵ 在每条指令中,显式指明的操作数个数。 ⑶ 操作数的寻址方式。 ⑷ 指令系统所提供的操作类型。 ⑸ 操作数的类型与大小。
2014-3-8
10
2.指令系统结构的分类
• • • • 按在CPU中操作数的存放方法可分为: ⑴ 堆栈型 ⑵ 累加器型 ⑶ 通用寄存器型
2014-3-8
21
4. 编址单位
• ⑴ 字编址:以访问一次设备所获得的信息量 为单位进行编址。 • ⑵ 字节编址:以字节为单位进行编址。 • ⑶ 位编址:按二进制位编址。
2014-3-8
22
按字节编址时需解决的问题
• ① 多字节数据的存放顺序 • 小端排序:将一个字中的低位字节存放在低地址 单元中。 • 大端排序:将一个字中的高位字节存放在低地址 单元中。 • 小端排序符合从右向左进位的硬件习惯;大端排 序符合程序员从左向右的编程习惯。
• 5. 按地址寻址方式(略,P47)
• 寻址方式的使用频度:
• R寻址->直接->变址->单字位移->自增->R间址->自减 • 高 -------------------------- 低
2014-3-8
26
2.2.2 按内容访问方式
• • • • • 1. 按内容访问方式 按照要访问的数据的内容访问内存。 2. 联想存储器(相联存储器、按内容访问存储器) 满足按内容访问方式的存储器。 联想存储器的主要特点:以并行方式在存储器中 查找所需信息的内容。 • 3. 按内容访问的方法 • 通过硬件将要访问的内容与存储单元的内容进行 比较,若相同,则进行访问。

微机原理第02章(指令系统)2

微机原理第02章(指令系统)2

加法指令:ADD, ADC和INC 减法指令:SUB, SBB, DEC, NEG和CMP 他们分别执行字或字节的加法和减法运算, 除 INC 和 DEC 不影响 CF 标志外,其他按定 义影响全部状态标志位 操作数组合:
运算指令助记符 reg, imm/reg/mem 运算指令助记符 mem, imm/reg
第2章:5. 求补指令NEG(negtive)
4.取补指令 格式:NEG OPRD (OPRAND ) 功能:OPRD取补 (取反加1) 相当0-操作数,所以算入减法; 且一般CF=1(0-肯定有借位), 只有OPRD=0时CF=0
第2章:例题2.9 求补运算
mov ax,0ff64h neg al ;AL=0-64H=9CH,AX=FF9CH ;OF=0, SF=1,ZF=0,PF=1,CF=1 sub al,9dh ;AL=9CH-9DH=FFH,AX=FFFFH ;OF=0,SF=1,ZF=0,PF=1,CF=1 neg ax ;AX=0-FFFFH=0001H ;OF=0,SF=0,ZF=0,PF=0,CF=1 dec al ;AL=01H-1=0,AX=0000H ;OF=0,SF=0,ZF=1,PF=1,CF=1 neg ax ;AX=0-0=0 ;OF=0,SF=0,ZF=1,PF=1,CF=0
第2章:例题2.10 符号扩展
mov al,64h
;AL=64H (机器数) ,表示10进制数100(真值)
cbw
;将符号0扩展,AX=0064H,仍然表示100
mov ax,0ff00h
;AX=FF00H,表示有符号10进制数-256
cwd
;将符号位“1”扩展,DX.AX=FFFFFF00H ;仍然表示-256

第02章单片机指令系统与汇编语言程序设计习题解答

第02章单片机指令系统与汇编语言程序设计习题解答

第02章单⽚机指令系统与汇编语⾔程序设计习题解答第02章单⽚机指令系统与汇编语⾔程序设计习题解答⼀、填空题1. MCS-51单⽚机指令系统中有 111 条指令。

2. MCS-51单⽚机指令中,Rn表⽰ R0、R1、R2、R3、R4、R5、R6、R7中的⼀个。

3. MCS-51单⽚机指令中,@表⽰间接寻址。

4. MCS-51单⽚机指令中,$表⽰当前指令的⾸地址。

5. MCS-51单⽚机寻址⽅式有⽴即数、直接地址、寄存器、寄存器间接、变址、相对、位寻址等七种寻址⽅式。

6. 指令MOVC A, @A+PC的功能是将A的内容与PC当前值相加作为程序存储器地址,再将该地址单元的内容传送到A 。

7. 指令JBC CY, LOOP是 3 字节、 2 个机器周期指令。

8. 指令DA A的功能是对A中当前值进⾏⼗进制调整。

9. 调⽤⼦程序时,将PC当前值保存到堆栈。

10. MCS-51单⽚机堆栈操作的基本原则是先进后出。

⼆、简答题1. MCS-51单⽚机指令⼀般由哪⼏个部分组成?各部分的功能是什么?答:MCS-51单⽚机指令⼀般由标号、操作码助记符、操作数、注释四部分组成。

标号是⼀条指令的标志,是可选字段,与操作码之间⽤“:”隔开;设置标号的⽬的是为了⽅便调⽤或转移。

标号的选择应遵从下列规定:标号由1~8个字母或数字组成,也可以使⽤⼀个下划线符号“_”。

第⼀个字符必须是字母。

指令助记符或系统中保留使⽤的字符串不能作为标号。

标号后⾯需要有⼀个冒号。

⼀条语句可以有标号,也可以没有标号,取决于程序中其它语句是否需要访问这条语句。

操作码规定指令的功能,是⼀条指令的必备字段,如果没有操作码,就不能成为指令。

它与操作数之间⽤“空格”隔开。

操作数是指令操作的对象。

分为⽬的操作数和源操作数两类,它们之间⽤“,”分隔。

操作数是可选字段。

⼀条指令可以有0、1、2、3个操作数。

注释是对指令功能的说明解释。

以“;”开始。

2. 程序中,伪指令ORG和END的作⽤是什么?答:ORG⽤于定义汇编语⾔源程序或数据块存储的起始地址。

第2章 指令系统及汇编语言程序设计答案

第2章 指令系统及汇编语言程序设计答案

第2章指令系统及汇编语言程序设计一.选择题1.(D) 2.(A) 3.(C) 4.(D) 5.(A) 6.(D)7.(C) 8.(C) 9.(C) 10.(D) 11.(D) 12.(C)13.(C) 14.(A) 15.(A) 16.(D) 17.(B) 18.(C)19.(C) 20.(C) 21.(D) 22.(D) 23.(D) 24.(C)25.(A) 26.(A) 27.(B) 28.(C) 29.(B) 30.(D)31.(B) 32.(C) 33.(C) 34.(A) 35.(C) 36.(D)37.(D) 38.(A) 39.(B) 40.(C) 41.(D) 42.(D)43.(B) 44.(C) 45.(C) 46.(B) 47.(B) 48.(D)49.(A) 50.(B) 51.(A) 52.(C)二、判断题1.× 2.× 3.× 4.√ 5.√ 6.√ 7.×8.× 9.×10.√ 11.× 12.× 13.× 14.× 15.× 16.√17.√18.√19.× 20.× 21.× 22.√ 23.× 24.√ 25.√26.√三、填空题1.53F30H2. 0 ; 0; 0; 13.操作码;操作数4. ZF=05.SS6. 1234H,0FFEH7.立即四、阅读程序1.38(或26H)2.将以10100H起始的50个单元的内容传送至以10200H起始的50个单元中3.将数据段中以2000H起始的100个单元中的内容清零4.统计以BUFFER为首址的100个单元中数字为1的个数存入ARRAY单元5.统计N字中0的个数6.将N的内容拆为两部分分别存入BH,BL中7.AX=0008H8.AL=34H9.AX=23H10.AX=0004H11.AX=0055H12.将从键盘接受到的两个字符拼在一起13.BH=0FFH,BL=0EH14.AX=000FH15.AL=15H,AF=1,BL=0FH16.90H17.向屏幕上依次输出0,1,…。

第2章 单片机的指令

第2章 单片机的指令

2.3.1 通用传送指令: MOV 通用传送指令:
• 4. 目的地址传送 • MOV DPTR , #data16 ;DPTR ←#data16 ; 直接/立即 • MOV DPTR,#2003H ;把16位立即常数装入数 据地址指针,其中DPTR的高八位(DPH)=20H, 低八位(DPL)=03H。 • 例如:若片外数据存储器单元(3007H)=60H, 执行 MOV DPTR, #3007H; DPTR存放的是数 据3007H,而执行 MOVX A,@DPTR; @DPTR 存放的是地址,结果A=60H.
例如:试编制根据累加器A中的数(0~9之间)查其平方表的子程序。 COUNT:PUSH DPH ;保护DPTR内容 • PUSH DPL • MOV DPTR,#TABLE ;赋表首址到DPTR • MOVC A,@A+DPTR ;据A中内容查表 • POP DPL ;恢复DPTR原内容 • POP DPH • RET ;返回主程序 TABLE: DB 00 • DB 01 • DB 04 • DB 09 • DB 16 • DB 25 • DB 36 • DB 49 • DB 64 • DB 81
2.2.2 寻址方式 5. 变址寻址 MOVC A,@A十 DPTR ; A←((A)十(DPTR)), 累加器/变址。 在变址寻址时,由指令指定的偏移量寄存器中 的内容和变址寄存器PC或DPTR中的内容相加所得 的结果作为操作数的地址, A为偏移量寄存器,内容为无符号位数,它和 DPTR中的内容相加,得到操作数地址。 不论用DPTR或PC作为基址指针,变址寻址方 式都只适用于MCS-51的程序存贮器,通常用于读 取数据表格寻址方式
7. 位寻址 SETB bit ; bit ←l,位寻址。 • 在位寻址时,操作数是二进制数的某一 位 其位地址出现在指令中, • 可用于位寻址的空间是,内部RAM的可 寻址区和SFR区中的字节地址可以被8整除 (即地址以“0”或“8”结尾)的寄存器所占空 间。

南京理工大学《微机原理与接口技术》第二章 指令系统(1)PPT课件

南京理工大学《微机原理与接口技术》第二章 指令系统(1)PPT课件
2009年
28.07.2020
1
标题添加
点击此处输入相 关文本内容
前言
点击此处输入 相关文本内容
标题添加
点击此处输入相 关文本内容
点击此处输入 相关文本内容
第二章 8086/8088 指令系统
2.1 概述
2.2 寻址方式
2.3 数据传送指令
2.4 算术运算指令
2.5 逻辑运算指令
2.6 串操作指令
MOV AX, 0102H
;AX←0102H
28.07.2020
11
立即数寻址方式
28.07.2020
12
例:
• 将立即数0102H送至AX寄存器
• 汇编指令: MOV AX,0102H ; • 指令功能: AX←0102H ; • 指令代码:B8 02 01
28.07.2020
13
28.07.2020
与机器指令一一对应,需要翻译成机器指令才能运

10110000 00000001
28.07.2020
MOV AL, 1 4
一、指令的组成
操作码 操作数
指令由操作码和操作数两部分组成
• 操作码说明计算机要执行哪种操作,如传送、运算、 移位、跳转等操作,它是指令中不可缺少的组成部 分
操作数是指令执行的参与者,即各种操作的对象
15
2 寄存器寻址方式
• 操作数存放在CPU的内部寄存器reg中:
– 8位寄存器r8: AH、AL、BH、BL、CH、CL、DH、DL – 16位寄存器r16: AX、BX、CX、DX、SI、DI、BP、SP – 4个段寄存器seg: CS、DS、SS、ES
• 寄存器名表示其内容(操作数)

第二章 MCS-51指令系统及汇编语言程序设计

第二章  MCS-51指令系统及汇编语言程序设计

XCH A, direct 1 1 0 0 0 1 0 1
6.半字节交换指令
助记符 XCHD A, @Ri 机器码 1101011r 功能 ; (A3~0)((Ri)3~0), i=0,1
数据传送类指令
数据传送类指令的助记符有: MOV、MOVX、MOVC XCH、XCHD PUSH、POP
寄存器C MCS-51 传送指令 示意图 寄存器 R7~R0 直接地址 direct 直接地址 direct 寄存器 DPTR 立即数 #data
例:设外部数据存储器2097H单元中内容 为80H,在执行下列指令后,则A中的内容 为80H。 MOV P2, #20H MOV R0, #97H MOVX A, @R0
Ⅱ.由Ri内容指示外部数据存储器地址 (2)累加器内容送外部数据存储器
助记符 MOVX @Ri, A 目标 源 机器码 11110011 功能 ; ((Ri)+(P2))←A, i=0,1
二、直接寻址
紧跟在操作码后的是操作数的直接地址。 该方式中操作数存储的空间有三种:
1.内部数据存储器的低1 ; (70H)→A 2.位地址空间 例:MOV C, 00H ; 直接位00H内容→ 进位位 MOV 00H → 3.特殊功用功能寄存器 *只能用直接寻址方式进行访问。 例: MOV IE, #85 ; 立即数85H →中断允许寄存器
执行该指令时: 1.P3.6引脚上输出WR有效信号 2. Ri包含的低8位地址由P0口输出,高8位地址信息 由P2口输出。 3.累加器A的内容由P0口输出。 4.P0口作分时复用。
3.程序存储器内容送累加器
该类指令常用于查表。 (1)PC作基址寄存器
助记符 MOVC A, @A+PC 目标 源 机器码 10000011 功能 ; PC←PC+1 A ←((A)+(PC))

第2章 Linux操作系统指令及Eather工作系统简介

第2章 Linux操作系统指令及Eather工作系统简介

,KOffice
vi,gedit,Kedit,AbiWord Mozilla,netscape Evolution,KMail BitTorrent,WebDownloader, gFTP gaim
多媒体ቤተ መጻሕፍቲ ባይዱ放器
图像查看与处理软件 刻录软件
XMMS,MPlayer,RealOne
九天软件设计流程
2.2.2 Aether的安装
没有安装程序,只需解压文件到指定路径下, 配置 好环境变量即可。 第一步:%tar zxvf empyrean_aether_2011 xxxx <platform>_flic.tar.gz 相当于gzip –d + tar –xvf *.tar 第二步:设置LM_license_file and Empyrean_ home 第三步:source setup.csh or bash file

Linux与Windows的优缺点
在易用性方面,Windows仍然处于优势 在灵活性方面,Linux则占据上风 在对客户端软件和多媒体软件的支持方面,一
直是 Windows 的强项
2.1.2 Linux的各组成部分
(1) 内核(Kernel) 内核是一个操作系统的核心,它负责管理系统 的进程、内存、设备驱动程序、文件和网络系 统,决定着系统的性能和稳定性。


Vi的界面可以分为两个部分:编辑区和状态/命 令区。状态/命令区在屏幕的最下一行,用于输 入命令,或者显示出当前正在编辑的文件名称, 状态,行数和字符数。 其他区域都是编辑区,用于进行文本编辑。
(3)编辑文件
a. 输入文本
要输入文本必须首先将工作模式转换为文本编辑模式, 在命令模式下键入i, I, a, A, o, O命令中的任意一个即 可。此时在状态/命令区出现“---INSERT---”字样。 i I a A o O 从当前的光标位置开始输入字符 光标移动到当前行的行首,开始输入字符 从当前光标的下一个位置,开始输入字符 光标移动到当前行的行尾,开始输入字符 在光标所在行之下新增一行 在光标所在行之上新增一行
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例如: MOV C,20H
;20H位的内容送CY标志位,C称为位累加器。
MOV A,20H
寻址方式与操作数有关
;字节寻址,将内部 RAM区20H单元中的内容送A
以上两条指令的寻址方式是位寻址还是字节
寻址,根据两操作数类型一致的原则,由另一个
操作数决定。
2.2 数据传输与交换指令
1、内部RAM、SFR之间的传送MOV指令 数据在A、dir 、#data、 Rn和@Ri之间传输 任何一个可到A或dir; #data可到任何一个; Rn和@Ri除了不能互达,其他均可达; 只有dir可自达。
0102H
ADD A,#3 ;修正偏移量
0104H
MOVC A,@A+PC ;查表求Y=X2
0105H
MOV 21H,A ;存结果
0107H
RET
;子程序结束
0108H TAB: DB 00,01,04 ;平方表
010BH
DB 09,…,225
3、堆栈操作指令
入栈指令:PUSH dir ;SP←SP+1,(SP) ←(dir )
绝对转移:转移的目的地址用地址指示,通常为无条件转 移。
相对转移:转移的目的地址用相对于当前PC的差值(偏 移量)指示,通常为条件转移。
长转移或长调用:目的地址距当前PC 64KB地址范围内。 短转移或短调用:目的地址距当前PC 2KB地址范围。
1.长调用 LCALL addrl16 ;addr16→PC0~15
地址
内容
2000H
X
… 2100H
x
片外数据存储器不能直接寻址。下列为非法指令:
MOVX A,2000H ×
MOVX 2100H,2000H ×
方法二:利用@Ri
使用P2口和8位寄存器Ri间址: MOV P2,#20H ;高位地址 MOV R0,#00 ;低位地址 MOVX A,@R0 ;读片外RAM(2000H) MOV P2,#21H ;改变高位地址 MOVX @R0,A ;写片外RAM(2100H)
只能是@R0 、@R1 、@DPTR,例如: MOV R0,#20H MOV @R0,A ;A→(20H) 地址的内部RAM
MOVX A,@R1 ;外部RAM(高8位地址:P2)的 内容→A
MOVX @DPTR,A ;A→以DPTR内容为地址的 外部RAM
5、变址寻址 -- 用来访问ROM 以DPTR或PC寄存器内容为基地址,与A的内容
第二章 指令系统
内容提要
寻址方式 传送与交换指令 算术运算、逻辑运算指令 控制转移指令 位操作指令
MCS-51单片机汇编语言指令格式: 操作符 目的操作数,源操作数
指令中的常用符号
Rn: n=(0~7),表示当前工作寄存器R0~R7中 的一个。
Ri: i=(0、1),代表R0和R1寄存器中的一个,用 于寄存器间接寻址。
#data
或 ORL
dir
Rn
#data
异或 XRL
以dir为目的操作数逻辑运算指令(6条)
A
与 ANL
A
dir
或 ORL dir ,
#data 异或 XRL
#data
加 1 指令:
A Rn INC @Ri dir DPTR
减 1 指令:
A DEC Rn
@Ri dir
dir
@Ri
+- 1
A
+- 1
利用MOVC指令 实现查表功能 注:①只能从程序存储器读取数据到A累加器。
②只能使用变址寻址方式
多用于查常数表,直接求取常数表中的值 1)DPTR为基址寄存器
MOVC A,@A+DPTR ;A←(A+DPTR) 查表范围为 64KB 程序存储器任意空间。
2)PC为基址寄存器 MOVC A,@A+PC ;A← (A+PC)
常数表只能在MOVC指令后 256B 范围内。(因为 PC的值我们不能改变)
例 查表法求 Y=X2。设 X(0≤X≤15)在片内 RAM 20H单
元,查表求 Y,存入片内 RAM 21H单元
1)用DPTR作基址寄存器
ORG 0100H
SQU: MOV DPTR,#TAB ;确定表首地址
MOV A,20H
出栈指令:POP dir ;(dir )←(SP),SP←SP-1
例:设 A=02,B=56H,执行下列指令序列后,SP = ?
A = ? ,B = ?
SBR:MOV SP,#30H ;设栈底
PUSH ACC ;保护现场
PUSH B
MOV A,#0
MOV B,#01

POP B
;恢复现场
POP ACC
RET
堆栈操作示意:
片内 RAM
34H × 33H × SP→ 32H ×56 SP→ 31H 0×2 SP→ 30H ×
பைடு நூலகம்
4、 交换指令 实现片内RAM区的数据双向传送
1. 字节交换指令 XCH A,Rn ;A←→Rn XCH A,@Ri ;A←→(Ri) XCH A,dir ;A ←→(dir)
相对转移指令中
bit :位地址,在位地址空间中。 $: 表示当前指令的地址。
2.1 寻址方式 1、立即寻址
指令中直接给出操作数的寻址方式。在51 系列单片机的指令系统中,立即数用一个 前面加 “#“号的8位数(#data,如#30H) 或16位数(#data16,如#2052H)表示。 例如
内部RAM、SFR之间的传送MOV指令
dir
@Ri
A
Rn
MOV @Ri,
#data
A dir #data
Rn
MOV A , #data dir
@Ri A Rn
MOV dir , @Ri
#data
dir A MOV Rn , dir
#data
例 判断下列指令的正误:
MOV 29H,R7 √ MOV 25H,P1 √
操作数存放在通用寄存器中。
寻址对象:A,B,DPTR,R0~R7 。 B 仅在乘除法指令中为寄存器寻址,在其他指令中为 直接寻址。
A 可以寄存器寻址又可以直接寻址,直接寻址时写作 ACC。
例如:MOV A,R0 ;R0→A,A、R0均为寄存器寻址,机器码E8
MUL AB ;A*B→BA,A、B为寄存器寻址,机器码A4
;取 X
MOVC A,@A+DPTR ;查表求 Y=X2
MOV 21H,A
;保存Y
RET
;子程序结束

;其它程序段
ORG 0200H
;常数表格首地址
TAB: DB 00,01,04,09,…,225 ;平方表
2)用PC作基址寄存器
指令地址
源程序
ORG 0100H ;程序起始地址
0100H SQU: MOV A,20H ;取X
A 00101101
CY
A 11001011 0
CY
CY
A 00101101 1
2.4 控制转移指令
这一类指令的功能是改变指令的执行顺序,转到指令 指示的新的地址执行。
MCS-51单片机的控制转移指令有以下三类分类: 无条件转移:无需判断,执行该指令就转移到目的地址。
条件转移:需判断标志位是否满足条件,满足条件转移到 目的地址,否则顺序执行。
MOV B,R0 ;R0→B,R0为寄存器寻址,B为直接寻址 ;机器码 88F0,其中 F0为B的字节地址 ;等价指令 mov F0H,R0 PUSH ACC ;A的内容压入堆栈,机器码C0E0
寄存器寻址的好处:指令短,速度快
4、寄存器间址 -- 用来访问RAM(外部、内部) 操作数存放在以寄存器内容为地址的单元中。
MOV R3,A
只有dir可自达
2、外部存储器和累加器A之间的传送
A 外部数据 MOVX 存储器
MOVC
程序 存储器
MOVX
@Ri , A @DPTR , A
A , @Ri A , @DPTR
A , @A+PC MOVC
A , @A+DPTR
MOVX指令举例 例: 实现片外数据存储器数据传送 (2000H)→(2100H)。
dir : 8 位直接字节地址(片内 RAM 和 SFR ) #data: 8位立即数,即8位常数。可以为2进制
(B)、 10进制、 16进制(H)、 字符 (‘ ’)、
#data16: 表示16位立即数,即16位常数, 取值范围为#0000H~#0FFFFH
addr16 : 表示16位地址 addr11 : 表示11位地址 rel : 相对偏移量(为一字节补码)用于
相加形成操作数的地址。只能作为源操作数。 例如: MOVC A, @A+DPTR
6、相对寻址 -- 访问ROM,用于跳转类指令
相对寻址是将程序计数器PC的值与指令第二字节 给出的偏移量相加,从而形成转移的目标地址。
例如:JZ 10H
寻址方式与指令有关
7、位寻址
对片内RAM中20H~2FH中的128个位地址及 SFR中的可位寻址的位地址区寻址。
MOV 56H,#70H √ MOV 34H,28H √
MOV R3,R7 × MOV @R3,R7 ×
MOV R3,#0D2H√ MOV #34H,28H ×
MOV A,#280H × MOV P3,P1

编程将R7的内容送R3。 任何一个可到A或dir,
MOV A ,R7
#data可到任何一个 Rn和@Ri除了不能互达,其他均可
2.3 算术运算和逻辑运算指令
算术运算 add、addc、subb 、inc 、dec 、 mul ab 、div ab
相关文档
最新文档