微机原理第三章
物理地址
每个存储单元都有一个物理地址。而逻辑地址 由段地址和偏移地址两部分组成。 段地址和偏移地址都是无符号的 16 位二进制数 (4位16进制)。 逻辑地址的表示格式:段地址:偏移地址。 物理地址=段地址×10H+偏移地址 8086BIU中加法器用来完成物理地址的计算。
分段存储示意图
举例
例如:某指令在代码段中逻辑地址为:段首址CS= 2000H.段内偏移地址IP=5F62H,则 其物理地址为(CS)x16+IP=200Hx16+5F62H=25F62H
控制标志
• DF(Direction Flag)方向标志。可用 指令预置,字符串操作时, DF=0 ,递增; DF=1,地址递减。 • IF ( Interrupt Enable Flag )中断允许 标 志 。 IF=1 , CPU 响 应 可 屏 蔽 中 断 , IF=0,CPU不响应可屏蔽中断。 • TF(Trap Flag)陷阱标志,TF=1,CPU 处于单步执行方式。
8086的IO端口
• 8086地址总线的低16位用来对8位I/O端 口寻址,可寻址65536个8位I/O口。 • 连续的两个8位I/O端口可作为一个16位 端口。 • I/O端口寻址分为直接寻址和间接寻址。
3.6 8086的寻址方式
• 机器语言的一条指令包含操作码(OP) 和操作数,操作码指明该指令进行什么 操作,操作数指出该指令在执行规定操 作时所需的信息。规定操作数的方法, 即指令中用于说明操作数所在地址的方 法称为寻址方式. • 寻址方式可分为:数据寻址方式和转移 地址寻址方式。
(2)寄存器寻址
• • • • • 数据寄放在指令规定的寄存器中。 16位:AX,BX,CX,DX,SI,DI,SP,BP 8位:AL,AH,BL,BH,CL,CH,DL,DH 注意: 1) 寄存器寻址方式的指令操作在 CPU 内部执行。 不需要执行总线周期,执行速度快。 • 2) 寄存器寻址方式既适用于指令的源操作数, 也适用于目的操作数,可同时用于源操作数和 目的操作数。
逻辑段
• 8086把1MB的存储器空间分成若干个逻 辑段,每段最多64KB。 • 各逻辑段的起始地址必须是能被16整除 的地址,即低4位地址为0。 • 一个段的起始地址的高16位被称为该段 的段地址。
段内偏移地址
• 在1MB的存储器地址中可以有216个段地 址。 • 每个段内的偏移地址称为有效地址EA, 偏移地址也为16位。 • 一个段最大可以包括64BK的空间,相邻 两个段的段地址最小相距16个字节,段 与段可互相覆盖。
若该指令的段基址为CS=2200H,而IP=3F62H其 物理地址仍为25F62H
3.4.3寄存器的关系信息的分段存储与段 • 程序区:存储程序的指令代码; • 数据区:存储原始数据、中间结果和最 后结果; • 堆栈区:存储需要压入堆栈的数据或状 态信息。
• 代码段寄存器CS划定并控制程序区; • 数据段寄存器DS和附加段寄存器ES控制 数据区; • 堆栈段寄存器SS对应堆栈存储区。
数据存储格式
• 8086CPU数据总线16位,对于访问(读 或写)字节的指令,需要一个总线周期, 对于访问一个偶地址的字的指令,也需 要一个总线周期,而对于访问一个奇地 址的字的指令,需要两个总线周期 (CPU自动完成)。
3.4.2 存储器的分段和物理地址的形成 •8086的地址总线20条,可寻址空间为1MB。 •BX、IP、SP、ALU等都是16位,只能直 接处理16位地址(64KB)。 •8086CPU采用地址分段方法,将寻址空间 扩大到1MB。
3.3.3 控制寄存器
• (1)指令指针IP(Instruction Pointer) IP相当于程序计数器PC。保存下一条 要执行的指令的偏移地址。在用户程序 中不能使用该寄存器,但可用DEBUG来 • 就是处理器状态字寄存器( PSW ),一 共两个字节, 9 个标志。其中 6 个反映前 一次ALU操作结果涉及的状态标志,3个 是控制CPU操作特征的控制标志。
3.6.1 数据寻址方式
(1)立即寻址
• 数据直接放在指令本身的最后一个( 8 位)或两 个字节(16位)。 • 注意: • 1) 立即数寻址方式只能用于源操作数。主要用于 给寄存器赋值。 • 2) 立即数寻址方式不执行总线周期,执行速度快。 • 3) 立即数为 16 位时。低位字节存放在存储器低地 址单元,高位字节存放在存储器高地址单元。该 存储器在CS段中
各种类型访问存储器时的地址成分
注意点
• (1)段寄存器 • 访问存储器时,必须要有段寄存器,段 寄存器可指定,也可以是默认的。 • (2)重置段寄存器 • DS 、 ES 和 SS 内容可用传送指令通过寄 存器置入,但不能向CS置数。 • (3)段内偏移地址来源
3.5 8086的I/O组织
• 一般外部设备的速度比 CPU 低得多,因 此必须通过I/O接口与CPU连接,I/O接口 是保证信息和数据在 CPU 与 I/O 设备之间 正常传送的电路。 • I/O接口与CPU之间的通信是利用称为I/O 端口的寄存器来完成的。 • 一个I/O端口有一个唯一的I/O地址与之对 应。
微机原理
第3章微机系统中的微处理器
3.1微处理器的一般结构
3.1.1 微处理器的内部结构 CPU的基本功能: (1) 进行算术和逻辑运算 (2) 的能力 具有接收存储器和I/O接口来的数据和发送数据给存储器和I/O接口
(3) 可以暂存少量数据 (4) (5) (6) 能对指令进行寄存、译码并执行指令所规定的操作 能提供整个系统所需的定时和控制信号 可响应I/O设备发出的中断请求。
BIU的具体工作
执行总线周期。
完成CPU与存储器和IO设备之间的信息传送 --从存储器取指令--》指令队列 --根据EU命令对存储器或IO设备存取数据
执行单元EU的组成
1.算术逻辑运算单元ALU 2.暂存器 3.标志寄存器(PSW) 4.通用寄存器组和EU控制器构成。
执行单元EU的任务
1. 2. 3. 4. 执行指令 进行全部算术逻辑运算 完成偏移地址的计算 向总线接口单元BIU提供指令执行 结果的数据和偏移地址,并对通用 寄存器和标志寄存器进行管理。
(4)寄存器间接寻址
• 操作数在存储单元中,其有效地址在指令码指明 的基址寄存器BX或变址寄存器S I或DI之中。 • (BX) • EA= (SI) • (DI) • 当使用寄存器 BX 、 SI 、 DI 时,操作数所在存 储单元的段地址存在数据段寄存器 DS 中。物理 地址的计算方法为: • 物理地址=16×(DS)十(BX) (寄存器SI、DI类 同)
1. 8086CPU有20条地址线,可直接寻址能力达 1MB。 2. 8086CPU具有16条数据总线,内部总线和 ALU均为16位,可进行8位和16位操作,是 16位微处理器。
3. 8086CPU由总线接口单元BIU(Bus Interface Unit)和执行单元EU(Execution Unit)组成。
3.3 8086的寄存器结构
8086CPU内 部具有14个
16位寄存器
。
3.3.1通用寄存器
• (1)数据寄存器 • 数据寄存器包括AX、BX、CX、DX。可 寄存操作数和操作结果。每一个由可分 成高8位和低8位两个独立的8位寄存器来 使用。 16 位数据寄存器主要用来存放数 据,也可存放地址, 8 位寄存器( AH 、 AL、BH、BL、CH、CL、DH、DL)只 能寄放数据。
3.4 8086的存储器组织
3.4.1 存储器地址空间和数据存储 格式
存储器地址空间
• 8086的存储器是以字节(8 bit)为单位组 成的。共有20条地址总线,可寻址的存 储器地址空间为220Byte(1MB)。每个 字节对应一个唯一的地址,地址范围0--220-1(00000—0FFFFFH)。 • 存储器内两个连续的字节定义为一个字 (WORD)。每个字的低字节(低8位) 存放在低地址中,高字节(高8位)存放 在高地址中。字的地址指向低字节的地 址。
(2)地址指针和变址寄存器
• SP(Stack Pointer)堆栈指针 • BP(Base Pointer)基址指针 • SI(Source Index)和DI(Destination Index)变址寄存器 • 以上寄存器主要用来存放地址,也可存 放数据。
3.3.2 段寄存器组
访问存储器的地址码有段地址和段内偏移地址两 部分组成。段寄存器用来存放段地址。
(3)直接寻址
• 操作数放在存储单元中,段内偏移地址(16位 有效地址)在指令码中。有效地址(EA)也称为 偏移地址,它代表操作数所在存储单元距离段 首址的字节数。有效地址是一个无符号的16位 二进制数。 • 注意: • 1) 直接寻址方式的操作数所在存储单元的段地 址一般在数据段寄存器DS中。 • 2)如果操作数在其他段,则需要在指令中用段 超越前缀指出相应的段寄存器名
总线接口单元BIU
1. 4个16位段寄存器(:CS,SS,DS,ES)
2. 16位指令指针IP(PC)
3. 指令队列寄存器、 4. 完成与EU通讯的内部寄存器 5. 由段寄存器保存的段地址和IP或EU部件提供的偏移地 址(16位)形成20位物理地址的20位物理地址加法器和 总线控制逻辑。对外提供16位双向数据和20位物理地址 总线,它的任务是执行总线周期,完成CPU与存储器和 I/O设备之间信息的传送。 主要完成对外工作。
状态标志(六个)
PF ( Parity Flag )奇偶标志 , 低 8 位中含有偶数 个1,PF=1 • AF(Auxiliary Carry Flag)辅助进位标志, 加法或减法运算时, D3 位有进位或借位时 AF=1,主要用于BCD运算。 • ZF(Zero Flag)零标志,结果为0, ZF=1 • CF(Carry Flag)进位标志 • SF(Sign Flag)符号标志,D7或D15=1,SF=1, 表示负数
微机原理与接口技术第3章
27256引脚图
Vpp 1 A12 2
A7 3 A6 4 A5 5 A4 6 A3 7 A2 8 A1 9 A0 10 D0 11 D1 12 D2 13 GND 14
28 Vcc 27 A14 26 A13 25 A8
24 A9 23 A11 22 OE 21 A10 20 CE 19 D7 18 D6 17 D5 16 D4 15 D3
按使用属性
随机存取存储器RAM:可读可写、断电丢失 只读存储器ROM:正常只读、断电不丢失
详细分类,请看图示
图 半导体存储器的分类
半导体 存储器
随机存取存储器 (RAM)
静态RAM(SRAM) 动态RAM(DRA膜式ROM 一次性可编程ROM(PROM) 紫外线擦除可编程ROM(EPROM) 电擦除可编程ROM(EEPROM)
书图3-9是4×4位MOS型掩膜ROM的结构示 意图 。
2、EPROM
顶部开有一个圆形的石英窗口,用 于紫外线透过擦除原有信息
一般使用专门的编程器(烧写器) 进行编程
编程后,应该贴上不透光封条 出厂未编程前,每个基本存储单元
都是信息1 编程就是将某些单元写入信息0
二、常用ROM芯片2716
每个存储单元存放多位(4、8、16等) 每个存储单元具有一个地址
一、RAM的结构(续)
2、DRAM:
DRAM的基本存储单元是单个场效应管 及其极间电容
必须配备“读出再生放大电路”进行刷新 每次同时对一行的存储单元进行刷新 每个基本存储单元存储二进制数一位 许多个基本存储单元形成行列存储矩阵 DRAM一般采用“位结构”存储体:
并允许用户多次擦除和编程 EEPROM(E2PROM):采用加电方法在
线进行擦除和编程,也可多次擦写 Flash Memory(闪存):能够快速擦写的
微机原理03第三章
对16位操作数,寄存器可以是AX、BX、CX、DX、SI、
DI、SP、BP等
对8位操作数,寄存器可以是 AH、AL、BH、BL、CH、
CL、DH、DL
SRC 和 DST的字长一致 CS不能用MOV指令改变
? MOV AH, BX ? MOV CS, AX
MOV AX,BX
将BX中的内容送入AX中,BX中的内容保持不变
?
MOV AX, VALUE
MOV AX, WORD PTR VALUE
PTR是类型运算符,用来说明某个变量、标号或
地址表达式的类型属性,或者使它们临时兼有与原定 义所不同的类型属性,但保持它们原来的段属性和偏 移地址属性不变。 直接寻址可以方便地访问存储器中某一数据存储单 元,被访问的存储单元一般由变量或含变量的地址 表达式给出地址
(AX) = 3050H
AH AL
30
50
32000
50 30
MOV AX,[1000H] 将DS段的1000H和1001H两个单元的内容送入AX寄存器中 MOV EAX,ES:[2000H]
将ES段的2000H~2003H四个单元的内容送入EAX寄存中, 其中ES为段超越前缀 MOV AX,BUF 将DS段内以有效地址BUF(符号地址)起始的两个单 元的内容送入AX寄存器中
例
MOV
AX,[BX][DI]
或
MOV
AX,[BX+DI] (DI)=10A5H
(DS)=2100H
(BX)=0158H
则
EA=0158H+10A5H=11FDH 物理地址 PA=21000H+11FDH=221FDH
例 基址变址寻址,假定(DS)=2000H,(SS)=3000H, (BX)=1800H,(BP)=2080H ,(DI)=1000H,(SI)=0800H, (22800H)=80CFH,(32880H)=067AH
微机原理 第三章 微处理器
青岛理工大学琴岛学院
表3.1 通用寄存器的特定用法
寄存器 操作 寄存器 操作 在移位指令中作 移位次数计数器
AX
字乘,字除,字I/O
CL
AL
字节乘,字节除,字节I/O, 查表转换,十进制运算
字节乘,字节除
DX
字乘,字除指令 中作辅助累加器
堆栈操作,做堆 栈指针
AH
SP
BX
查表转换,做基址寄存器
SI
青岛理工大学琴岛学院
2)逻辑地址与物理地址
逻辑地址(LA)和物理地址(PA):
物理地址:就是存储器的实际地址,它是指CPU和存储器 进行数据交换时所使用的地址(20位)。
逻辑地址:是在程序中使用的地址,它由段基址和偏移地
址两部分组成(16位)。
物理地址=段基址(左移4位)+偏移量
形成20位段 起始地址 16位
青岛理工大学琴岛学院
2 . 8086/8088CPU的寄存器结构
8086/8088CPU中可供编程使用的有14个16位寄存器, 按其用途可分为3类:通用寄存器、段寄存器、指针和标 志寄存器,如所示。
AH BH CH DH SP BP SI DI FLAGS IP CS DS SS ES AL BL CL DL 累加器 基址寄存器 计数寄存器 数据寄存器 数据寄存器 通用寄存器 地址指针和 变址寄存器
2
3 4 5
6
存取一般变量(除3、4、5项外)
DS
有效地址EA
根据寻址方式计算出来的偏移量又叫操作数的有效地址EA
青岛理工大学琴岛学院
4. CPU对堆栈的设置与操作
堆栈的功能:用于暂存数据和现场保护 (特别是在过程调用或中断处理时暂存断 点信息) 堆栈的解释:实际上是由特定存储单元 构成的一个存储区,只是在这个存储区中 信息的出入严格按照“先进后出”或“后 进先出”的规则进行。
微机原理第三章
例: MOV AX,CX ;将CX的内容送入AX中。
INC AX;自加1
STI;IF=1
一、 立即寻址方式
操作数与操作码一起存放在代码段中,是一个常数, 称为立即数,有8位和16位。 例 :MOV AL, 5 器。
例 :MOV AX,3064H ;源操作数为立即寻址
;源操作数为立即寻址
指令执行后,AL=05H,8位数据05H存入AL寄存
第三章 8086指令系统
指令系统是微处理器(CPU)所能执行的指令 的集合,它与微处理器有密切的联系,不同的微处 理器有不同的指令系统。在本章中我们主要讲解 INTEL公司生产的8086/8088CPU的寻址方式及各种 指令系统,并通过具体实例讲述了各条指令的功能 和使用方法。
通过本章的学习,应该掌握以下内容:
指令执行后,AX=3064H,16位数据3064H存入 AX寄存器。
注意:①立即数只能作源操作数,不能作目的操作数。
②以A、B、C、D、E、F开头的数字出现在指 令中时,必须在前面加一个数字0。
例:下列指令是错误的。
MOV 2000H,AX
MOV AL,B5H
二、 寄存器寻址方式
操作数存放在寄存器中,指令中直接使用寄存器 名。可使用的16位寄存器:AX、BX、CX、DX、SI、 DI、SP、BP、CS、DS、ES、SS;其中AX、BX、CX、 DX可分成两个8位寄存器别使用。
例: MOV AX,CX ;AX = CX
MOV AL,1
;AL = 1
注意:①CS不能作为目的操作数,如MOV CS,AX 是错误的指令。 ②源操作数必须与目的操作数相匹配。如 MOV AL,BX是错误的
三、 存储器寻址方式
操作数存放在内存单元中,指令中给出的是内存 单元的偏移地址EA(即有效地址),段地址通常在隐 含的某个段寄存器中。
微机原理与接口技术第3章(指令部分)
例:编程计算 0+1+2+3+4+ -----10 编程计算
MOV AL,0 , MOV BL,1 , MOV CL,10 NEXT:ADD AL,BL , INC BL DEC CL JNZ NEXT ;CL≠0 转 ≠ HLT
1
3.1 概述 一、指令包含的基本内容
12
(3)相对寻址
例: MOV AX, [SI+100H]
;结果 : 结果 AX (DS×16+SI+100H) ×
例:MOV AL,[BP+DATA] MOV AL, DATA[BP] ; DATA是符号表示的位移量。 表示的位移量 是符号表示的位移量。
结果 : AL (SS×16+BP+DATA) ×
11
(2)间接寻址 例:MOV AX,[BX] , •结果 : AX 结果 (DS×16+BX) ×
...
3000H:0000H : • EA= BX /SI /DI , 物理地址=DS*16+EA 物理地址 • EA= BP 物理地址=SS*16+EA 物理地址 :1234H :50H :1235H :30H
1. 做什么操作? 做什么操作? MOV ,ADD, OR,CMP等助记符 等助记符
2. 操作的数据是什么? ①CPU内的寄存器; 操作的数据是什么? 内的寄存器 内的寄存器; 内存的某一个或几个单元 单元; ②内存的某一个或几个单元; 结果放在那里? 3. 结果放在那里? 立即数。 ③立即数。 端口; 端口 ④I/O端口; 下一条指令在哪里? 4. 下一条指令在哪里? IP←IP+1
微机原理与接口技术课件微机第三章
MOV AX , ES:[3E4CH] MOV AX , RESULT
如何区分RESULT是立即数还是符号地址?
如果 RESULT DW 3E4CH; 符号地址 MOV AX,RESULT
如果 RESULT EQU 3E4CH; 立即数 MOV AX,RESULT
(2)PUSH 进栈指令 指令格式为:PUSH 源(不能是立即数) 其操作过程是: a、SP-2,指示堆栈中可以存放数据的位置 b、存源操作数,完成进栈操作。
(3)POP 出栈指令 指令格式为:POP 目的(不能是CS) 其操作过程是: a、将SS:SP所指示的栈顶处的两个字节的数据,弹到目的操作数中; b、SP+2,指示当前栈顶位置,完成出栈操作。
操作码
0:数据从寄存器传出 1:数据传至寄存器
2.立即数寻址指令的编码
包含段寄存器的指令的编码
段超越前缀指令的编码
3-3 8086的指令集
01
添加标题
02
添加标题
03
添加标题
04
添加标题
05
添加标题
06
添加标题
8086指令系统按功能可分为6大类型:
一、数据传送指令
l 通用数据传送
添加标题
l累加器专用传送指令
目标地址传送指令 这类指令有: LEA 有效地址传送到寄存器 LDS 将双字指针送到寄存器和DS LES 将双字指针送到寄存器和ES Eg:LEA BX,[1000H] LDS SI,[1000H] LES DI,[1000H]
标志寄存器传送指令 LAHF FR寄存器的低8位送AH SAHF AH 送 FR寄存器的低8位 PUSHF FR寄存器推入堆栈 POPF 从栈顶中弹出存入FR寄存器
微机原理第3章课件(全)
比如AL,BX,CX,DS、IP等等。 【例3-4】MOV AX,BX MOV AL,BL 其中,AX,BX是16位寄存器寻址方式;AL,BL是8位寄存器 寻址方式。
第3章 指令系统和寻址方式 3.2.3 存储器寻址方式 当操作数放在存储器中的某个单元时,CPU要访问存储器 才能获得该操作数。如果存储器的存储单元地址是20位,把通 过各种方法算出段内偏移地址(有效地址),结合段地址形成20 位物理地址找到操作数的方法,统称为存储器寻址方式。 1. 直接寻址方式 直接寻址方式是指寻找的操作数的地址在指令中直接给出。 这种寻址方式在汇编格式中表示为 ● 操作码 地址表达式 (或[地址表达式]) ● 操作码 [数字表达式]
第3章 指令系统和寻址方式 【例3-14】 MOV AX,[BX] [SI](或写为MOV AX, [BX+SI]) 若 (DS)=2000H,(BX)=0500H,(SI)=0010H 则 偏移地址=0500H+0010H=0510H 20位物理地址=20000H+0510H =20510H 如(20510H)=12H,(20511H)=34H,操作的示意图如图3.5所示。
指令由两部分组成:操作码字段和地址码字段,格式如图3.1所 示。
第3章 指令系统和寻址方式
操作码
操作数(地址码)
图3.1 指令格式 操作码字段:用来说明该指令所要完成的操作。 地址码字段:用来描述该指令的操作对象。一般是直接给出 操作数,或者给出操作数存放的寄存器编号,或者给出操作数存 放的存储单元的地址或有关地址的信息。
第3章 指令系统和寻址方式 其中,“267”是数字;“10010011B AND 0FEH”是一个数 字表达式;PORT1是一个用EQU定义的变量名,属于常数; DATA1是定义的段名,实际上就是段地址,是一常数。这些都 是立即寻址方式。 汇编立即寻址方式时,汇编程序首先计算出数字表达式的 值,然后将其写入指令的地址码字段,这称为立即数。
微机原理第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 则内存操作数的物理地址为:
微机原理第3章指令
第3章指令系统机器指令:能指示计算机完成基本操作的二进制代码指令系统:CPU可执行的机器指令的集合。
为了方便编程,人们又把完成特定操作的机器码用特定的符号表示,这就产生了符号表示的机器指令-------指令助记符。
第3章8086指令系统机器指令由二进制代码组成,一条指令包括操作码和操作数(或地址)两部分,操作码指明该指令进行何种操作,操作数用来说明操作对象。
个别指只有操作码没有操作数。
由于不同的指令所表达的信息不尽相同,因此指令的长度即机器码字节数也有长有短。
8086指令系统的指令是可变长指令(1~6个字节)3.18086CPU寻址方式重点是存储器寻址存放在存储器中的数据称为存储器操作数。
指令中需要确定存储单元的段地址、偏移地址(亦称有效地址EA),以及存储器操作数的类型。
段地址存放在段寄存器中,确定段地址实际上就是确定段寄存器,采用的方法是默认或添加段超越前缀。
生成存储器有效地址有多种方法,这些方法形成了对存储器操作数的多种寻址形式。
确定数据类型的方法是源操作数和目的操作数类型一致原则或附加类型说明。
立即寻址方式中操作数也在存储器中,但立即寻址中的立即数包含在指令中,随程序存放在代码段,CPU在取指令时就获得操作数。
这里所说的存储器操作数是存放在数据段、附加段或堆栈段中,取指令时也不会被立即取到。
段超越前缀变量的定义在第四章详细介绍直接寻址:MOV AX,[2000H];寄存器间接寻址:MOV ES:[DI],AH基址寻址:MOV BYTE PTR[BX+1200H],10变址寻址:MOV DL,[SI+2AH]基址加变址寻址:MOV CL,[BX+SI+5]MOV AX,[BP+DI]MOV CL,[BX+SI+5]的等价形式:MOV CL,5[BX][SI]、MOV CL,5[BX+SI]、MOV CL,[BX][SI+5]MOV CL,[BX+SI-5]等价于MOV CL,[BX+SI+65531] MOV CL,[BX-SI]MOV CL,[SI+DI]错误!MOV[BX+DI],1000H正确吗?3.2.1数据传送类指令传送指令把数据从一个位置传送到另一个位置使用MOV指令应注意1.立即数只能作为源操作数2.无存储器之间直接传送与交换的指令3.没有用立即数对段寄存器直接赋值的指令4.段寄存器之间无传送指令5.两个操作数的类型要一致6.要能确定是字节还是字操作mov ah,al mov bvar,ch mov ax,bx mov ds,ax mov al,[bx]下列MOV指令正确吗?MOV AL,050AHMOV SI,DLMOV[BX+SI],255MOV DS,100HMOV[BX],[SI]MOV[BX+SI],bvarbvar是一个已定义过的字节变量 MOV CS,[SI]将数据段中偏移地址为2000H、2001H、2002H的3个字节的存储单元置数FFH。
微机原理第三章
执行周期也需要三个节拍:这里以LDA例行程序为 例:
(4) T3=1,IR高四位送至控制器进行分析,IR低四 位送总线,MAR接受此低四位并指向PROM的 某个单元。(第一次访问的是指令区,第二次访 问的是数据区)
CON= CPEP LMER LIEILAEA SUEU LBLB
= 0 0 1 0 01 0 0 0 0 0 0
果而分别跳转至其他子程序。 3·循环程序——程序进行过程中,在某一循环体进行若干
次循环运行,然后再继续前进。 4·调用子程序~一程序进行至某一阶段,调用存储于某存
储区中的某个子程序,然后返回至主程序继续运行下去。
35
【例3.1】程序清单(循环程序) R0 LDA 6H 把(R6)装人A去 R1 SUB 7H 从(A)减去(R7)
(2)运行/停车触发器 (3)“启动”和“清零”按钮
图3-7用方块图展示了控制部件各个电路间的关系。
27
28
3.1-3.5节小结
• 1. 掌握机器周期、时钟周期(机器节拍)的概念 • 2. 以一个指令为例,掌握各机器节拍所完成的工作 • 3. 了解控制部件的组成电路 • 作业(P57):3.2、3.3、3.5、3.6、3.7、3.12
LDA=1
25
由图可见五条指令的控制器就已经这么复杂,由此可 知要扩大指令系统,其控制矩阵的结构以及设计上的问题 是相当复杂的。这样从结构上用逻辑电路的方法来实现控 制字的方法称为硬连线方法(硬件方法)。也可以用软件 的方法来实现这个目的,这就是所谓微程序法。这将在后 面做简要介绍。
26
3.5.3 其它控制电路: (1)时钟脉冲发生器:它一般由两部分组成,即时钟振 荡器及射极输出器。前者是石英晶体振荡器,后者则用 以降低输出电阻,以提高带负载能力。
