微机原理第3章4共59页

合集下载

微机原理与接口技术课件微机第三章

微机原理与接口技术课件微机第三章

常见的高级语言包括C、C、Java、 Python等,可用于开发各种应用程序 和软件。
高级语言具有易学易用、可移植性好 的特点,但执行速度较慢,占用内存 较多。
05
微机操作系统
操作系统定义与功能
操作系统定义
操作系统是计算机系统中用于管 理和控制计算机硬件与软件资源 的系统软件,是计算机系统的核 心组成部分。
微机发展历程
总结词
微机的发展经历了从早期的大型机、小型机到现在的个人计算机和移动设备的演变。
详细描述
微机的发展始于20世纪70年代,最早的微机是苹果电脑和IBM PC。随着技术的不断发展,微机的性能不断提高, 体积不断减小,价格也逐渐降低。同时,随着互联网的普及,微机已经成为人们获取信息、交流沟通、娱乐休闲 的重要工具。

执行指令
执行指令是指根据指令的操作 码执行相应的操作,完成指令
的功能。
访存取数
访存取数是指根据指令中的地 址码从内存中读取或写入数据

04
微机编程语言
机器语言
机器语言是计算机能够直接执 行的指令集合,由二进制数0和 1组成。
机器语言具有执行速度快、占 用内存少的特点,但编写复杂, 易出错,可移植性差。
实时操作系统
实时操作系统主要用于实时控制系统,要求系统能够快速、准确地响 应外部事件,具有实时性和高可靠性。
网络操作系统
网络操作系统是用于管理网络资源的操作系统,支持网络中计算机之 间的通信和资源共享。
常见微机操作系统介绍
Windows
微软公司开发的桌面操作 系统,广泛应用于个人计 算机领域。
Linux
02
微机硬件组成
中央处理器
中央处理器(CPU)是微机的核心部 件,负责执行指令和处理数据。

微机原理第3章课件(全)

微机原理第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是定义的段名,实际上就是段地址,是一常数。这些都 是立即寻址方式。 汇编立即寻址方式时,汇编程序首先计算出数字表达式的 值,然后将其写入指令的地址码字段,这称为立即数。

微机原理与接口技术实用教程03PPT课件

微机原理与接口技术实用教程03PPT课件
方式的结合。
disp与寄存器均在指令中给出。 例: MOV AX,5[BP][SI]
06.11.2020
>>微机原理<<
12
⑧ 隐含寻址:指令本身隐含了操作数的地址, 例如:字符串操作指令 MOVS, 源操作数由DS:SI寄存器间接寻址, 目的操作数由ES:DI寄存器间接寻址。
以各种类型访问存储器时,存储单元地址的组成:
寄存器之间或寄存器与存储器之间内容交换。
XCHG OPR1,OPR2 ;(OPR1) 例:xchg ax, cx
(OPR2)
06.11.2020
>>微机原理<<
19
Ⅳ. 字节转换指令:常用于查表。
格式:XLAT [转换表] 即:XLAT ;(BX+AL)-AL,BX的内容是表的首地 址,AL的内容是表内的序号。采用隐含寻址方式。
06.11.2020
>>微机原理<<
13
3.2 8086/8088的指令系统
3.2.1 数据传送指令
a,除SAHF外不影响标志位,SAHF是将AH 内容送到 标志寄存器的低8位;
b,不能用CS作为目的操作数; c,源操作数和目的操作数不能同时在存储器中,
即:不能在一条指令中实现数据在存储器中的传送。
06.11.2020
>>微机原理<<
3
指令的一般格式:
操作助记符 目的操作数(或其位置),源操作数(或其位置)
dst
src
例如: MOV AX, [SI] MOV AX, ES:[SI]
对应的机器码是8BH,04H 对应的机器码是26H,8BH,04H
06.11.2020

微机原理-第三章ppt课件

微机原理-第三章ppt课件
当S= 0 而R= 1 时, Q= 0( Q= 1) 称为复位。R 端称为复位端,
当S=1而R=1时,输出保持
符号:为了作图方便, 用方块来表示。
.
5
改进型式:时标RS 触发器——RS 触发器外 加的时标脉冲, 如图下图 所示。 图中的CLK 即为时标脉冲。
S

QS Q
CLK
R&
QR Q
功能:无论是置位还是复位, 都必须在时标脉 冲端为高电位时才能进行。
.
6
3.2.2 D 触发器
基本构成:D 触发器是在RS 触发器的基础上 引伸出来的, 它只需一个输入端口, 下图 为D 触发器的原理。
D
QS Q
QR Q
功能:当D 端为高电位时, S 端为高电位,
称为置位。
当D 端为低电位时, S 端为低电位,
称为复位。
.
7
改进型式:增加两个与门就可以接受 时标脉冲CLK 的控制。
第三章 微型计算机的基本组成电路
3.1 算术逻辑单元(ALU) 3.2 触发器( Trigger ) 3.3 寄存器( Register ) 3.4 三态输出电路 3.5 总线结构 3.6 译码器、数据选择器 3.7 存储器(Memory)
.
1
3.1 算术逻辑单元( ALU)
功能: 二进制数的四则运算, 布尔代数的逻辑运算。
⋯⋯ 第七时钟后沿到 Q= 111 第八时钟后沿到 Q= 000
在第八个时钟脉冲到时, 计数器复位至0, 因 此这个计数器可以计由0 至7的数。
如8 位计数器可计由0至255 的数, 12
位计数器可计由0 至4095 的数, 16 位
则可计由0 至65535 的数。

微机原理与接口技术——第三章.ppt

微机原理与接口技术——第三章.ppt

常数
出现在汇编源程序中的固定值,即其在运行期间不会变化 字符串常数 是由单引号括起来的一串字符。汇编程序把它们表示成一 个字符序列,一个字节对应一个字符,把引号内的字符翻 译成ASCII码 。 ’218’——32H,31H,38H
11
表达式
由操作数和运算符组合的序列,它在汇编时能产生一个值。 算术运算符 +、-、*、/、MOD
SIZE
DATA5
LENGTH DATA9
SIZE
DATA9
;结果为1000H ;结果为0001H ;结果为1 ;结果为1 ;结果为1 ;结果为3 ;结果为3
24
PTR 运算符
合成运算符PTR可以由已存在的存储器操作数声名一个段和 偏移量相同,而类型不同的新的存储器操作数,格式如下:
类型 PTR 表达式
0123H、0456H、0789H、0ABCH
CODE SEGMENT
程序4.1
ASSUME CS:完CO成D4E个数
MOV AX, 0123H
相加
ADD AX, 0456H
ADD AX, 0789H
ADD AX, 0ABCH
MOV AX, 4C00H
INT 21H
CODE ENDS
END
32
顺序程序设计
2
常数与表达式
3
标识符
4
数据定义
5
与数据相关的操作符
6
符号定义
9
常数
出现在汇编源程序中的固定值,即其在运行期间不会变化
数值常数
按其基数的不同,可以有二进制(B)、八进制(O)、十进 制(D)、十六进制数(H)等不同的表示形式
00101100B 1234D 1234 255O 56H 0BA12H

微机原理第3章课件

微机原理第3章课件
6
“与”指令应用例
开始 取待输出数的 偏移地址
取输入口地址
读入状态字
测试bit1位状态
N
Bit1=1?
Y
取输出口地址
输出一个字
7
“与”指令应用例
LEA SI,DATA MOV DX,3F8H WATT:IN AL,DX AND AL,02H JZ WATT MOV DX,38FH MOV AX,[SI] OUT DX,AX
49
程序控制指令
转移指令 循环控制 过程调用 中断控制
50
程序的执行方向
程序控制类指令的本质是:
控制程序的执行方向
决定程序执行方向的因素:
CS,IP
控制程序执行方向的方法:
修改CS 和IP ,则程序转向另一个代码段执行; 仅修改IP,则程序将改变当前的执行顺序,转向本
代码段内其它某处执行。
ATJAZENNSWDDTATAAATLLL,,,0222AHAHH CTJXZEMOSWPRTAAATALTLL,,,0282HAAHH JTJNENSZZT WAWLA,ATT2TT0H
JZ WATT
;ZF=1转移
MOV DX,38FH MOV AX,[SI] OUT DX,AX
17
二、移位指令
串传送指令常与无条件重复前缀连用
37
串传送指令
对比用MOV指令和MOVS指令实现将 200个字节数据从内存的一个区域送到 另一个区域的程序段。
P104例3-12
38
串传送指令例
用串传送指令实现200个字节数据的传送: LEA SI,MEM1 LEA DI,MEM2 MOV CX,200 CLD REP MOVSB HLT
34

微机原理与接口技术 第3章

微机原理与接口技术 第3章


虚拟空间(虚拟存储器地址空间):编程空间 虚拟存储器是一项硬件和软件结合的技术。 存储管理部件把主存(物理存储器)和辅存 (磁盘)看作是一个整体,即虚拟存储器。允许编 程空间为246=64T,程序员可在此地址范围内编 程,程序可大大超过物理空间。该空间对应的地 址称为虚拟地址或逻辑地址。运行时,操作系统 从虚拟空间取一部分程序载入物理存储器运行。 当程序运行需要调用的程序和要访问的数据不在 物理存储器时,操作系统再把那一部分调入物理 存储器.……数据的交换极快,程序察觉不到。
32位名称
EAX EBX ECX
8位名称 16位名称 AH AX AL BH BX BL CH CX CL
名称
累加器
基址变址 计数 数据 堆栈指针 基址指针 目的变址
EDX
ESP EBP EDI
DH DX DL
SP BP DI SI
IP
ESI
源变址
有IP、SP、BP、SI、DI共5个16位寄存器,主要作用是为寻址存 贮单元提供偏移地址。其中: • IP (Instruction Pointer)为指令指针,固定用来存放代码段中偏移 地址,在程序运行过程中,它始终指向顺序存放在存贮器中,将 要执行的指令地址(与CS联合确定下条指令的物理地址),控制器 取得这条指令后,IP令自动增加一定的值(该值等于已执行(已 取得)指令的字节数),以指向下一条将要执行的指令。
根据功能,8086的标志可以分为两类,一 类叫状态标志,另一类叫控制标志。状态标志 表示前面的操作执行后,算数逻辑部件处在怎 样一种状态,这种状态会像某种先决条件一样 影响后面的操作。控制标志是人为设置的,指 令系统中有专门的指令用于控制标志的设置和 清除,每个控制标志都对某一种特定的功能起 控制作用。状态标志位有六个,即SF、ZF、 PF、CF、AF和OF。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CX0,继续循环 CX=0,退出循环 LOOP指令相当于以下两条指令的组合 DEC CX JNZ NEXT
MOV CX,100 ;指定循环100次
START∶ ……
;循环体入口
……
;循环体
LOOP START ;CX←CX-1,
……
;CX0时,转移到START
;CX=0时,从这里继续
见P147 3.15
的偏移地址。 例:JMP 8000H:6000H 则(CS)=8000H,(IP)=6000H
(4) 段间间接转移
格式:JMP OPRD 操作:OPRD是一个32位的存储器地址,将
指定的连续4个内存单元的内容送入IP和 CS,低字的内容送IP,高字的内容送CS。
举例
JMP DWORD PTR [BX] 设(BX)=1000H,(DS)=2000H
JNZ AGAIN HLT
3. 循环控制指令
在循环程序中用来控制循环,其控制转向 的目标地址是以当前IP内容为中心的-128~ +127。 循环次数预先放入CX中,每循环一次, CX内容减1,若(CX) 0,则继续循环,否 则退出循环。
(1)LOOP指令
格式:LOOP LABEL 执行操作:(CX)←(CX)-1,
示符WORD PTR CS保持不变
举例
①JMP AX (IP)←(AX),段内间接转移 ②JMP WORD PTR[SI] 设(SI)=2600H,(DS)=7000H, (72600H)=12H,(72601H)=34H 则执行完指令后,(IP)=3412H
(3) 段间直接转移
格式:JMP FAR label 指令中直接提供要转移的16位段地址和16位
②JMP NEAR LABEL 段内直接近转移,16位,-32768 ~+32767 LABEL:标号,称为符号地址,表示转移的目的地。 功能:当前IP的值+地址位移量→(IP)
CS保持不变。
举例
JMP 7CH;段内直接短转移 JMP 6700H;段内直接近转移
(2) 段内间接转移
格式:JMP OPRD OPRD是16位的寄存器或者存储器地址 若OPRD是存储器操作数,则要加上类型指
② 以CX的值为0作为转移条件
助 记 符 转 移 条 件 J C X ZC X = 0
③ 以两个无符号数比较的结果作为转移 条件
助记符 JA/JNBE JAE/JNB/JNC JB/JNAE/JC JBE/JNA
高于/不低于等于 高于等于/不低于/无进位 低于/不高于等于/有进位
低于等于/不高于
高于:Above 低于:Below
④ 以两个带符号数比较的结果作为转移 条件
助记符 JG/JNLE JGE/JNL JL/JNGE JLE/JNG
大于:Great
大于/不小于等于 大于等于/不小于 小于/不大于等于 小于等于/不大于
小于:Less
Hale Waihona Puke 例题在以TABEL为首地址的内存数据段中,存 放有100个8位带符号数,试统计其中正数、 负数和零的个数,并分别将个数存入 PLUS、MINUS和ZERO 3个单元中。 (见P136 例3-43)
2.无论是段内还是段间转移,都有间接转移和直接转 移之分。
直接转移:指令中直接给出转移地址。
间接转移:转移地址间接存储于寄存器或存储单元中。
计算段内转移地址有两种方法
一种是把当前IP值增加或减少某一个值,也就是 以当前指令为中心往前或往后转移,称相对转移。
另一种是以新的值完全代替当前IP值,称绝对转 移。
举例
例1:统计以BUFFER为起始地址的100 个单元中负数的个数,并将统计出来的 负数个数送NUM单元。
格式:LOOPE/LOOPZ LABEL 执行操作: (CX)←(CX)-1,
CX 0且ZF=1,继续循环 CX=0 或ZF=0,退出循环
(3) LOOPNE/LOOPNZ 指令
格式:LOOPNE/LOOPNZ LABEL 执行操作: (CX)←(CX)-1,
CX 0且ZF=0,继续循环 CX=0 或ZF=1,退出循环
21000H 12H 34H 56H 78H
2. 条件转移指令
① 以单个状态标志位作为转移条件
助 记 符 转 移 条 件 J Z Z F = 1 J S S F = 1 J O O F = 1 J P P F = 1 J C C F = 1
助 记 符转 移 条 件 J N Z Z F = 0 J N S S F = 0 J N O O F = 0 J N P P F = 0 J N C C F = 0
程序是指令的集合 指令在内存中顺序存放 CS和IP两寄存器的内容决
定了程序的流程,改变CS 和IP寄存器的值,就改变 了程序执行的流程。
BB 指令1 00
01 指令2 B1
20 指令3 90
… 指令n …
… 指令n+1 …
… 指令n+2 …
1.为使程序转移到一个新的地方去执行,可以改变IP 的值,称为段内转移(近转移,NEAR);也可以改 变CS、IP,称为段间转移(远转移,FAR)。
XOR AL,AL MOV PLUS,AL MOV MINUS,AL MOV ZERO,AL LEA SI,TABLE MOV CX,100 CLD
AGAIN:LODSB CMP AL,0 JZ X1 JG X2 INC MINUS JMP NEXT
X1: INC ZERO JMP NEXT
X2: INC PLUS NEXT:DEC CX
试编写程序,统计BUFFER为起始地址的连续200 个单元中0的个数。
解: LEA SI,BUFFER MOV CX,200 XOR BX,BX
AGAIN:MOV AL,[SI] CMP AL,0
JNE GOON INC BX GOON: INC SI LOOP AGAIN HLT
(2) LOOPE/LOOPZ 指令
在8086中,所有段内直接转移都是相对转移;所 有段内间接转移都是绝对转移。
8086提供了四种程序控制指令
转移指令 循环控制指令 中断指令 过程调用指令
1. 无条件转移指令
JMP(Jump):无条件转移到 目标地址target去执行程序。
(1) 段内直接转移
①JMP SHORT LABEL 段内直接短转移,8位,-128~+127
相关文档
最新文档