1. flag寄存器是按位起作用的,每一位都有专门的含义
2. 其实cpu是执行add等指令时,就已经包含了两种含义(有符号数和无符号数,关键是我们需要不需要SF、CF、OF等

标志)。CF记录无符号,OF记录有符号,SF记录结果的符号
3. 补码运算时,先看两个操作数的最高位是不是1,然后算出相应的十进制
4. 8086CPU用称为中断类型码的数据来表示中断信息的来源,中断类型码为一个字节的数据可以表示256种中断
   中断向量就是中断处理程序的入口地址
5. 8086CPU在收到中断信息后,引发中断的过程:1.从终端信息中取得中断类型码;2.标志寄存器入栈;TF和IF置0

,CS和IP分别入栈,从内存地址为中断类型码*4和中断类型码*4+2的两个字单元中读取中断处理程序的入口地址然后

设置IP和CS
6. 中断处理程序的编写方法:1.保存用到的寄存器;2.处理中断;3.恢复寄存器4.用iret返回
7. iret相当于pop ip;popcs; popf
8. 用offset s-offset send取得s代码段的长度,汇编编译器可以处理带+1*/等的表达式
9. cpu通过端口地址来定位端口,最多可以定位64K个不同的端口,0-65535,端口的读写指令只有两个:in和out
10. 只能使用ax或al来存放从端口中读取的数据或要发送到端口中的数据。读写0-255内的单元时用al,读写256-

65535的端口时用ax。
11. 读写端口的例子:mov dx,3f8H; in al,dx从端口读入一个字节; out dx ,al向端口写入一个字节
12. CMOS芯片包含一个时钟和一个有128个存储单元的RAM存储器,其中内部时钟用0到0DH单元来保存时间。
13. CMOS的时间格式为BCD码的秒分时日月年。共6个字节。一个字节表示两个BCD码,高4位的BCD吗表示十位,低4位

表示个位。
14.
15. 外中断的信息不直接送入CPU和内存,而是送入相关的接口芯片的端口中中,CPU通过端口和外部设备联系。外设

的输入到达,相关芯片向CPU发出相应的中断信息。
16. 外部中断的类型码是通过数据总线送入到cpu的,内中断的类型码是直接在cpu中产生的
17. 不可屏蔽中断的终端类型码固定为2,所以中断过程中不用取中断类型码
18. 键盘上的一个键按下,键盘芯片就产生一个扫描码,扫描码说明了按下的键在键盘上的位置,扫描码被送入主板

上的相关接口芯片的寄存器中,该寄存器的端口地址为60H。同样键盘松开也会产生一个扫描码。
19. 按下一个键产生是扫描码称为通码,松开一个键称为断码,扫描码的长度为一个字节,通码的第7位为0,断码的第7位为1,即断码=通码+80H
20.
21.
22.
23.
24.
posted on 2009-07-13 17:31  on_road  阅读(432)  评论(0编辑  收藏  举报