微机原理
2018-07-12 14:26:31 1 举报
AI智能生成
数据结构(C语言)
作者其他创作
大纲/内容
汇编语言基础
三种层次的计算机语言:机器语言,汇编语言,高级语言
汇编语言格式
分段结构:一个汇编源程序由若干段组成,每一段以都SEGMENT开始,以ENDS结束,整个程序以END结尾
语句类型
语句格式:[标号[:]] 助记符 [操作数] [;注释]
指令语句
标号属性
段:所在段段地址,CS
偏移量(16位无符号数):所在段起始地址到标号的偏移量
类型
NEAR,2字节,段内使用,带\":\"的默认为NEAR
FAR,4字节,段间可用
伪指令语句
数据定义伪指令
符号定义伪指令
段定义伪指令
过程定义伪指令
模块定义伪指令
宏指令语句
微机系统
硬件系统
主机
冯诺依曼体系结构
以二进制表示指令和数据
程序和数据事先存放在存储器中,供计算机取出执行
由运算器、控制器、存储器、输入设备和输出设备等组成
总线:各部件间传送信息的公共通道
地址总线AB(单向)
数据总线DB(双向)
控制总线CB(单根单向,整体双向)
微处理器CPU
运算器(算数逻辑单元ALU)
控制器(CU)
指令寄存器IR
指令译码器ID
可编程逻辑阵列PLA
内部寄存器
程序计数器PC
地址寄存器AR
数据缓冲寄存器DR
累加器A
标志寄存器FLAGS
寄存器阵列RA
存储器
基本概念
位Bit:二进制信息最小单位(0/1)
字节Byte:8位二进制数,一个存储单元
字Word:作为整体处理的一组二进制数,通常为16位
1024=1KB,1024KB=1MB…
内部存储器:存放指令、原始数据、中间数据和最终结果
外部存储器
外围设备
外部设备
过程控制I/O通道
软件系统
系统软件
操作系统
系统应用程序
用户软件
80x86微处理器
总线接口单元BIU
作用:CPU和存储器或I/O设备之间数据传送
任务
读指令
读操作数
写操作数
组成
段寄存器
代码段寄存器 CS,存储当前代码段段地址
数据段寄存器 DS,存储当前数据段段地址
堆栈段寄存器 SS,存放当前使用堆栈段段地址
附加数据段寄存器 ES,存放当前使用附加数据段点地址
指令指针寄存器 IP
存放下一条指令在代码段中的偏移地址
能自动加 1 修正,始终指向下一条指令
CS 和 IP 决定程序执行顺序
20 位地址加法器
逻辑地址
格式:<段地址> : <段内偏移地址(有效地址 EA)>
一般由 CS 提供段地址,IP 提供偏移地址
物理地址
地址总线上提供的20位地址信息
物理地址 = 段地址 x 10H + 段内偏移地址
指令队列缓冲器
先进先出
8086 指令队列6个字节,8088 指令队列4个字节
执行单元EU
不与外部直接相连,只负责执行BIU指令队列缓冲器中的指令
16位算数逻辑单元(ALU):进行算数和逻辑运算
16位标志寄存器 FLAGS
存放运算结果的状态特征和控制标志
使用了其中的9位
6个状态标志位
进位标志位 CF
奇偶标志位 PF
辅助进位标志位 AF
零标志位 ZF
符号标志位 SF
溢出标志位 OF
3个控制标志位
跟踪(陷阱)标志位 TF
中断允许标志位 IF
方向标志位 DF
数据暂存寄存器:暂存参与运算的数据,协助ALU完成运算
通用寄存器
数据寄存器
累加器 AX
基址寄存器 BX
计数寄存器 CX
数据寄存器 DX
指针寄存器
堆栈指针寄存器 SP
基址寄存器 BP
变址寄存器
源变址寄存器 SI
目的变址寄存器 DI
总线周期
微机原理
发展概况
四代计算机
电子管计算机
晶体管计算机
集成电路计算机
大规模集成电路计算机
五代处理器
4位/低档8位
中档8位
16位
32位
64位
数制和编码
无符号数
数制间相互转换
整数转换
小数转换
二进制运算
算术运算:加、减、乘、除
逻辑运算:与、或、非、异或
带符号数
机器数和真值
机器数:一组二进制数
原码:最高位为符号位,其余为数值绝对值
反码:正数与原码同,负数符号位不变数值位按位取反
补码:正数与原码同,负数在反码基础上加 1
真值:机器数所表示的值
求机器数的真值
原码按权展开求和
反码再求反转换为原码求真值
补码再求补转换为原码求真值
进位和溢出
溢出:补码运算结果超出表示范围
判断方法
符号判断(人工判断)
单符号位法:OF = CF ∀ DF,OF = 1 溢出,否则不溢出
双符号位法
进位:运算结果的最高位向更高位进位
信息的编码
二进制表示十进制数(BCD编码)
压缩型BCD码:一个字节表示两位十进制数
非圧缩型BCD码:一个字节表示一个十进制数
ASCII字符编码
数的定点浮点表示法
定点表示
浮点表示
80x86指令系统
指令格式
第一字节:操作码
第二字节:寻址方式
数据寻址
立即数寻址
寄存器寻址
存储器寻址
直接寻址:[偏移量]
寄存器间接寻址:[寄存器]
寄存器相对寻址:[寄存器+偏移量]
基址变址寻址:[寄存器+寄存器]
基址变址相对寻址:[寄存器+寄存器+偏移量]
I/O端口寻址
地址寻址
段内直接寻址
段内间接寻址
段间直接寻址
段间间接寻址
第三至六字节:操作数
数据操作数
立即数操作数
寄存器操作数
存储器操作数
I/O操作数
地址操作数
源操作数和目的操作数
源操作数:值不改变
目的操作数:值被结果代替
指令系统
数据传送指令
通用数据传送指令:MOV,PUSH,POP,XCHG,XLAT
输入/输出指令:IN,OUT
目标地址传送指令:LEA,LDS,LES
标志传送指令:LAHF,SAHF,PUSHF,POPF
算术运算指令
加法指令:ADD,ADC,INC
减法指令:SUB,SBB,DEC,NEG,CMP
乘法指令:MUL,IMUL
除法指令:DIV,IDIV
符号拓展指令:CBW,CWD
十进制调整指令:AAA,DAA,AAS,DAS,AAM,AAD
位操作指令
逻辑运算指令:AND,OR,NOT,XOR,TEST
位移指令:SHL,SAL,SHR,SAR
循环位移指令:ROL,ROR,RCL,RCR
串操作指令
串传入指令:MOVS,MOVSB,MOVSW
串装入指令:LODS,LODSB,LODSW
串送存指令:STOS,STOSB,STOSW
串比较指令:CMPS,CMPSB,CMPSW
串扫描指令:SCAS,SCASB,SCASW
指令重复前缀:REP,REPE/REPZ,REPNE/REPNZ
控制转移指令
无条件转移指令:JMP
过程调用与返回指令:CALL,RET,RETF
条件转移指令:JE/JZ,JNE/JNZ,JP/JPE,JNP,JPO,JO,JNO,JC,JNC
循环控制指令:LOOP,LOOPZ/LOOPE,LOOPNZ/LOOPNE
0 条评论
下一页