微机原理
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 条评论
下一页