2) 4 个通用寄存器 AX、BX、CX、DX;4 个专用寄存器 BP、 SP、SI、 DI;标志寄存器 FLAGS和算术逻辑单元 ALU。
9、 非屏蔽中断有什么特点?可屏蔽中断有什么特点?分别用在什么场合?
答:1. 非屏蔽中断的特点有:中断请求从 NMI 引腿进入,不受中断允许标志 IF 的影响。非屏蔽中断只有一个,其中
断类型码为 2。
2. 可屏蔽中断的特点有: 中断请求从 INTR 引腿进入, 只有在 IF=1 时 CPU才响应该中断。 可屏蔽中断有若干个,
其中断类型码可以是 5~255。
3. 非屏蔽中断用来处理系统的重大故障,如掉电等。可屏蔽中断用在一般外部设备申请的中断中。
10、什么叫中断向量?它放在那里?对应于 1CH的中断向量存放在哪里?如果 1CH的中断处理子程序从 5110H:2030H 开始,
则中断向量应怎样存放?
答: 1. 中断处理子程序的入口地址就是中断向量。
2. 中断向量放在 0 段的 0~3FFH区域的中断向量表中。
3. 对应于类型号为 1CH的中断向量应放在 00070~00073H的 4 个单元中。
4. 若 1CH的中断向量为 5110H:2030H,则中断向量的存放方法为: 00070H存放 30H,00071H 存放 20H (IP) ;
00072H 存放 10H,00073H存放 51H (CS) 。
第三次作业
1、8086/8088 的指令有哪些寻址方式 ?它们的具体含义是什么 ?指令中如何表示它们 ?
2, 分别指出下列指令中源操作数和目的操作数的寻址方式
目的操作数 源操作数
(1) MOV EAX,12345678H 寄存器寻址 立即寻址 (2) MOV [ESI],AX 寄存器间接寻址 寄存器寻址
(3) MOV 2[EDI],BX 变址寻址 寄存器寻址 (4) MOV 2[BX+SI],DX 基址变址寻址 寄存器寻
址 (5) MOV AX,[10] 寄存器寻址 直接寻址 (6) MOV EAX,2[ESI*4] 寄存器寻址 带有比例因子的
变址寻址 (7) MOV EAX,2[EBX*8][EDI] 寄存器寻址 带有比例因子的基址变址寻址
(8) MOV EAX,[ESI][EBP+0FFFF0H] 寄存器寻址 带有位移量的基址变址寻址
(9) MOV EAX,2[EDI*8][EBP+80] 寄存器寻址 带有位移量和比例因子的基址
变址寻址
3 指出下列指令的错误原因
(1) INC [ESI] 目的操作数 [ESI] 类型不明确
(2) MOV AX,BL 源操作数和目的操作数类型不一致
(3) MOV 2,EAX 常数不能作目的操作数
(4) MOV AX,[DX] X 不能作地址寄存器
(5) MOV AX,[BX+BP] 源操作数寻址方式错 , 两个寄存器都是基址寄存器
(6) MOV AX,[SI+DI] 源操作数寻址方式错 , 两个寄存器都是变址寄存器
(7) MOV AH,300 300 超出 AH允许范围
(8) MOV [ESI],[EDI] 源操作数和目的操作数不能同时为内存单元地址
(9) PUSH AL 栈的数据必须是一个 16 或 32 位数据
(10) POP DH 出栈的数据是一个 16 或 32 位数据 ,DH 是 8 位寄存器
(11) MOV CS,AX CS 值不能由程序员编程该变
(12) MOV SS,AX SS 值不能由程序员编程该变
(13) SHL AX,3 移位次数大于 1,应先将移位次数送 CL
第四作业答案
解答
1 比较下列两条指令 , 指出它们的区别