1. 内存容量
2的2=4
2的3=8
2的4=16
2的5=32
2的6=64
2的7=128
2的8=256
2的9=512
2的10=1024=1K
地址线为16位,则,容量为 = 216 = 26 KB = 26 x 8 Kb
M 位地址总线,N 位数据总线的半导体存储器芯片的容量为= 2 M x N 位(b)
2. ASCII码
数据为 8 位,b7 位是奇偶校验位
3. 寄存器
8086微处理器中可供程序员使用的有 14 个 16 位寄存器
1. 8个通用寄存器:
(1)4 个数据寄存器:累加器 AX,基址寄存器 BX,计数寄存器 CX,数据寄存器 DX。
这4个寄存器可以存放 8 位 或 16 位 数据
(2)另外 4 个:堆栈指针寄存器 SP,基址指针寄存器 BP,源变址寄存器 SI,目的变址寄存器 DI。
这4个寄存器只能按 16 位进行存取操作
2. 指令指针 IP:
16 位专用寄存器,它指向当前需要取出的指令字节。内部存储的是指令的段内地址偏移量。程序员不能对IP进行存取操作。
3. 标志寄存器 FR:
有意义的有9位,3位控制位,6位状态位
4. 段寄存器
存放段的起始地址
代码段寄存器 CS,堆栈段寄存器 SS,数据段寄存器 DS,附加段寄存器 ES
4. 算术指令
20条算术指令:
- 加法 :ADD 加法,ADC 带进位的加法,INC 增量,AAA 加法的ASCII码修正,DAA 加法的十进制修正
- 减法:SUB 减法,SBB 带借位的减法,DEC 减量,NEG 求补,AAS 减法的ASCII码修正,DAS 减法的十进制修正,
- 乘法:MUL 无符号数乘法,IMUL 整数乘法,AAM 乘法的ASCII码修正
- 除法:DIV 无符号数除法,IDIV 整数除法,AAD 除法的ASCII码修正,CBW 字节转换为字,CWD 字转换为双字
5. 转移指令
- 无条件转移指令:CALL 调用过程,RET 从过程返回,JMP 转移
- 条件转移:
J= JUMP 跳转
A= Above 高于
B= Below 低于
N= NOT
E= Equal 相等
Z= Zero 零
G= Greater 大于
L= Less 小于
C= Carry 有进位(借位)
JNP,JPO =Parity 奇偶校验 ,PF =Pariy Flag 奇偶校验位,PF为 0/奇状态,转移
JP,JPE =Pariy ,PF为 1/偶状态,转移
JNO,不溢出,转移
JO,溢出,转移
JNS,SF 为 0,转移。SF 符号位
JS,SF 为 1,转移 - 重复控制指令
LOOP,循环
LOOPE/LOOPZ,等于/为 0,循环
LOOPNE/LOOPNZ,不等于/不为 0,循环
JCXZ,寄存器 CX=0,则循环 - 中断指令
INT,中断
INTO,溢出中断
IRET,中断返回
6. 数据存储定义
【变量】 命令 参数1,参数2,…【;注释】
DB,DW,DD,DQ,DT
数存储:高字节存放在高地址单元,低字节存放在低地址单元
7. 半导体存储器
- 随机存取存储器 RAM
(1)静态 SRAM:功耗大,容量小,存取速度较快,不需要刷新电路
(2)动态 DRAM:集成度高,功耗低,存取速度较慢,容量大,需要刷新电路,一般微机系统中的内存都采用DRAM
8. 2732A 芯片
- Intel 2732A 芯片是一种 4K x 8 位的 EPROM (可擦除可编程ROM)
- 12 条地址线 A11 ~ A0
- 8 条数据线 O7 ~ O0
- 2 条控制线 CE# 和 OE#
- 6 种工作方式
9. I/O 端口的编址方式
1. 独立编址方式 (专用的 I/O 编址方式)
特点:
(1) 存储器和 I/O 端口在两个独立的地址空间中,I/O 端口的读、写操作由硬件信号 IOR# 和 IOW# 来实现,访问 I/O 端口用专用的 IN 和 OUT 指令(IOR# 和 IOW# 由 CPU 的 M/IO# 、RD# 与 WR# 信号组合产生)
优点:
(1)I/O 端口的地址码较短,译码电路简单,存储器和 I/O 端口的操作指令不同,程序比较清晰
(2)存储器和 I/O 端口的控制结构互相独立,可以分别设计
缺点:
(1)需要有专用的 I/O 指令,而这些 I/O 指令的功能一般不如存储器访问指令丰富,所以程序设计的灵活性较差
2. 存储器映象编址(统一编址)
特点:
(1)存储器和 I/O 端口共用统一的地址空间
(2)一部分地址空间分配给 I/O 端口以后,存储器就不能再占用这一部分的地址空间
优点:
(1)任何对存储器数据进行操作的指令都可用于 I/O 端口的数据操作不需要专用的 I/O 指令,从而使系统编程比较灵活
(2)I/O 端口的地址空间是内存空间的一部分,这样,I/O 端口的地址空间可大可小,从而使外设的数目几乎不受限制
缺点:
(1)I/O 端口占用了内存空间的一部分,显然内存空间必然减少,影响了系统内存的容量
(2)访问 I/O 端口同访问内存一样,由于访问内存时的地址长,指令的机器码也长,执行时间明显增加
3. 8086、8088、80286 采用了独立编址方式
8031 采用了统一编址方式
10. CPU 的传送方式
在微机系统中,数据主要在 CPU 、存储器 和 I/O 接口之间传送。数据传送控制方式主要有两种,即 程序控制传送方式 和 DMA 传送方式
1. 程序控制传送方式
以 CPU 为中心,数据传送的控制来自 CPU ,通过预先编制好的输入或输出程序(传送指令和 I/O 指令)实现数据的传送
- 无条件传送方式(同步传送方式)
主要用于外设的定时是固定的且是已知的场合,外设必须在微处理器限定的指令周期内准备就绪,并完成数据的接收或发送。 - 查询传送方式(异步传送方式)
传送步骤:
(1)通过执行一条输入指令,读取所选外设的当前状态
(2)根据该设备的状态决定程序的去向,如果外设正处于 “忙” 或 “未准备就绪” ,则程序转回重复检测外设,如果外设处于 “空” 或 “准备就绪” ,则发出一条输入/输出指令,进行一次数据传送 - 中断传送方式
在中断传送方式中,通常是在程序中安排好在某一时刻启动某一台外设,然后 CPU 继续执行其主程序,当外设完成数据传送的准备后,向 CPU 发出 “中断请求” 信号,在 CPU 响应中断的条件下,现行主程序被 “中断” ,转去执行 “中断服务程序” ,在 “中断服务程序” 中完成一次 CPU 和 外设 之间的数据传送,传送完成后仍返回被中断的主程序,从断点处继续执行
2. DMA (直接存储器存取)传送方式
DMA 是一种不需要 CPU 干预也不需要软件介入的高速数传送方式
(一)DMA 操作的 3 种基本方法
- 周期挪用
利用 CPU 不访问存储器的那些周期来实现 DMA 操作,此时 DMAC 可以使用总线而不用通知 CPU 也不会妨碍 CPU 的工作 - 周期扩展
使用专门的时钟发生器/驱动器电路,当需要进行 DMA 操作时,由 DMAC 发出请求信号给时钟电路,时钟电路把供给 CPU 的时钟周期加宽,而提供给存储器和 DMAC 的时钟周期不变。 - CPU 停机方式
当 DMAC 要进行 DMA 传送时,DMAC 向 CPU 发出 DMA 请求信号,迫使 CPU 在现行的总线周期(机器周期)结束后,使其地址总线、数据总线 和 部分控制总线 处于高阻态,从而让出总线的控制权,并给出 DMA 响应信号。
(二)DMA 的传送方式
- 单字节传送方式
- 成组传送方式
- 请求传送方式
11. 8289A 的中断优先权控制方式(5 种)
- 完全嵌套方式(默认方式)
(1) 这是一种按固定的优先级别高低来管理中断的方式
(2)IR0固定为最高级,IR7为最低级
(3)如果 8259A 初始化未对优先权管理方式编程时,则 8259A 就自动进入这种方式 - 自动循环方式
这是一种中断源的中断优先级别将随着中断响应过程的结束而随时跟着改变的中断管理方式。 - 特殊循环方式
这是一种可以通过主程序或中断服务程序中发特殊循环方式操作命令来指定某个中断源的优先级别为最低级,而其余中断源的优先级别也随之循环变化的中断优先级管理方式 - 特殊屏蔽方式
通过操作命令 OCW3 来实现特殊屏蔽方式 - 查询排序方式
这是一种用软件查询方法来响应与 8259A 相连接的 8 级中断请求
12. USB 使用的电缆
USB 的主要规范:
(1)数据传输速度有两种,打印机等设备的 12 Mb/s,键盘、鼠标等的 1.5 Mb/s
(2)最多可连接 127 个外设
(3)连接点的距离可达 5 米
(4)连接电缆种类有两种规格,传送速度为 12 Mb/s 的用带屏蔽双扭线,传输速度为 1.5 Mb/s 的可用普通无屏蔽双扭线。连接器为 4 芯插针,其中 2 条用于信号连接,2 条用于电源馈电线路连接
13. 带符号数的表示方法
[X] 表示机器数,将符号数码化后的数是计算机能识别的数
" 0 " 表示正号," 1 " 表示负号
- 原码表示法
符号位用 “0 ” 和 “ 1 ” 表示的机器数 - 反码表示法
正数的反码表示与原码相同,负数的反码表示为:原码除符号位外,数值位按位取反 - 补码表示法
原码和反码中 “ 0 ” 都有两种表示方法
原码:000000002 和 100000002
反码:000000002 和 111111112
正数的补码表示和原码相同,负数的补码表示为:原码除符号位外,数值位逐位求反再加 1 。
几种表示方法的表示范围(8位数):
(1)原码:-28-1 ~ 28-1 ( -127 ~ +127) 255个数
(2)反码:-28-1 ~ 28-1 ( -127 ~ +127) 255个数
(3)补码:-28-1 ~ 28-1 ( -128 ~ +127) 256个数
14. BCD 码
用 4 位二进制数来表示 1 位十进制数,
15. 算术指令的注意点
- 加减运算指令 ADD、ADC、SUB、SBB、CMP 可用立即数作为一个源操作数
- 除 CBW (字节转换为字)和 CWD (字转换为双字)两条指令外,其余算术指令都影响标志位
- 增量指令 INC 和减量指令 DEC 不影响标志位 CF (进位标志位)
- CMP 指令执行减法操作,但结果不回送,只根据结果修改标志寄存器
- 除法指令 DIV 和 IDIV 的操作过程为:
[AX]/源操作数(字节)------[AH] 为余数,[AL]为商
[DX]:[AX]/源操作数(字)--------[DX]为余数,[AX]为商
16. MOV AX , [BX]
- MOV 是指令,AX作为目的操作数,[BX]作为源操作数
- [BX] 表示内存中地址偏移量为 BX 中存储的数值的存储器单元
- DS 为数据段,CS 为代码段,SS 为堆栈段,ES 为附加段
17. 位处理指令
- 逻辑运算指令
AND、OR、NOT、XOR、TEST - 移位指令
SHL、SAL、SHR、SAR - 循环移位指令
ROL、ROR、RCL、RCR