【微机原理】汇编基础微知识
知识记录,以便查询。总结理解,以便记忆。
1.补码
MOV AL,-5 ;立即数-5送AL
机器编译时,会将-5表示成其补码0FBH(1111 1011B)。
机器运算时都用补码,所以分析程序写出01代码比较清晰。
补码:用最高位表示符号位,0正1负。正数的补码与其原码相同,而负数的补码为其原码(除符号位外)按位取反,末位加1。
原码:用最高位表示符号位。其余位表示数的绝对值。
反码:用最高位表示符号位。正数的反码与其原码相同,而负数的反码为其原码取反(除符号位)。
补码运算:
[X+Y]补=[X]补+[Y]补 ;
[X-Y]补=[X]补+[-Y]补;
[[X]补]补=[X]原
2.微处理器
包括运算器、控制器、寄存器组三大部分。
数据处理能力(位数)
处理速度(主频)
3.冯 · 诺依曼计算机的五大组成部分
运算器;控制器;存储器;输出设备;输入设备
4.存储器
存储器由若干存储单元、地址译码器及相应的控制电路组成。
存储单元的内容:存储器由若干个单元组成,每个单元可存放 8 位二进制信息(通常也用两位十六进制数表示),这就是它们的内容。
5.片间总线
微处理器、存储器芯片、I/O接口芯片等之间的连接总线。片间总线通常包括数据总线、地址总线和控制总线。
6.片内总线
这种总线是微处理器的内总线。
7.8086从功能上来说分成两大部分
总线接口单元 BIU(Bus Interface Unit)和执行单元 EU(Execution Unit).
8.通用寄存器
9.微机内存储器存放3类信息
1) 代码(指令)-- 指示微处理器执行的操作 CS
2) 数据 -- 程序处理的对象 DS / ES
3) 堆栈信息 -- 被保存的返回地址和中间结果 SS
10.存储段划分
由于段起始地址的低四位为0,所以可用20位地址的高16位表示段的基址,存放在段基址寄存器中。段基址寄存器共四个:CS、DS、ES、SS。
11.8086的40个引脚
12.周期
指令周期——执行一条指令所需的时间称为指令周期。
总线周期——CPU从存储器或输入输出端口,存(或取)一个字或一个字节所需的时间,即为总线周期。一个指令周期包含若干个总线周期。
时钟周期——每个总线周期通常包含4个时钟周期。时钟周期是处理动作的最小时间单位。
13.编程思路
14.EEPROM
是可以电擦除的可编程只读存储器。由于能以电信号擦除数据,并且可以对单个存储单元擦除和写入(编程)。
15.存储容量
16.存储单元
17.接口与端口
接口:将外设与计算机连接起来实现数据传送的控制电路。
端口:接口中可以由CPU进行读或写的寄存器称为端口。端口按地址访问,CPU同外设之间的信息传送实质上是对这些寄存器
一个I/O接口总要包括若干个端口,如数据端口、状态端口、控制端口等。
18.锁存器74LS373
当使能端G从高变为低时,而输出允许端OE也为低电平时,则输出Q=Qo(原状态,即:使能端G由高电平变为低电平前,输出端Q的状态,这就是“锁存”的意义)。
19.缓冲与锁存
输入信号要缓冲;输出信号要锁存。
接口的基本功能就是输入缓冲和输出锁存。
缓冲器提高信号的驱动能力,逻辑不变。简单来说,可以无视。
20.端口访问的指令
1)端口直接寻址方式 (端口地址为8位)
2)端口间接寻址方式,此时只能使用寄存器DX作为间址寄存器
IN AL, 80H
MOV DX,230H ;端口地址超过8位
OUT DX,AL
21.外部中断
仅两条中断请求信号线。可屏蔽中断INTR、不可屏蔽中断NMI
22.中断向量
中断类型码:中断源的ID(0~255)
中断向量:中断服务程序的入口地址
中断向量表:存放中断服务程序入口地址的表格。
每4个字节存放一个中断服务程序的入口地址。
23.中断向量表初始化
例:中断类型码为30H,中断服务程序的入口地址为1000H:2000H。
; 将中断服务程序入口地址装入中断向量表
MOV AX,0
MOV DS,AX
MOV DI,0C0H ;0C0H=30H*4
MOV WORD PTR[DI],2000H
ADD DI,2
MOV WORD PTR[DI],1000H
STI ;开中断
LOP:HLT ;等待中断
JMP LOP
24.中断优先级
25.8255A的结构和引脚功能
26.8255A 的初始化
8255A的控制寄存器既可以接收初始化的方式控制字,又可以接收端口C的按位置位/复位控制字。
CSDN-Ada助手: 恭喜您发布了第9篇博客“【数学建模】Lingo编程升级教程”,内容相当精彩!感谢您不断分享知识,对数学建模有着独到见解。希望您能继续保持创作的热情,可以考虑在下一篇博客中分享一些实际案例或者应用场景,让更多读者受益。期待看到您更多精彩的作品!祝您创作顺利!
Best_bless: 作者的确对c的字符串有较高的见解与掌握
叫我小菜: 还有一个sscnaf函数这个感觉也挺常用的