【汇编语言】第 15 章 外中断

版权声明:本文为 gfson 原创文章,转载请注明出处。
注:作者水平有限,文中如有不恰当之处,请予以指正,万分感谢。

15.1 接口芯片和端口

  • CPU 通过端口和外部设备进行联系。
【汇编语言】第 15 章 外中断_第1张图片

15.2 外中断信息

  • 可屏蔽中断
【汇编语言】第 15 章 外中断_第2张图片
  • 不可屏蔽中断
【汇编语言】第 15 章 外中断_第3张图片

15.3 检测点 15.1

【汇编语言】第 15 章 外中断_第4张图片
  • 答案:
    (1)如下所示:
pushf
call dword ptr ds:[0]

(2)如下所示:

将
mov word ptr es:[9*4],offset int9
mov es:[9*4+2],cs
扩充为:
cli
mov word ptr es:[9*4],offset int9
mov es:[9*4+2],cs
sti

15.4 指令系统总结

【汇编语言】第 15 章 外中断_第5张图片

15.5 实验 15

【汇编语言】第 15 章 外中断_第6张图片
  • 答案:
assume cs:code
stack segment
db 128 dup (0)
stack ends
code segment
start:  mov ax, stack
mov ss, ax
mov sp, 128
push cs
pop ds
mov ax, 0
mov es, ax
mov si, offset int9
mov di, 204h
mov cx, offset int9end - offset int9
cld
rep movsb
push es: [9 * 4]
pop es: [200h]
push es: [9 * 4 + 2]
pop es: [202h]
cli
mov word ptr es: [9 * 4], 204h
mov word ptr es: [9 * 4 + 2], 0
sti
mov ax, 4c00h
int 21h
int9:   push ax
push bx
push cx
push es
in al, 60h
pushf
call word ptr cs:[200h]
cmp al, 9eh
jne int9ret
mov ax, 0b800h
mov es, ax
mov bx, 0
mov cx, 2000
s:      mov byte ptr es:[bx], 'A'
add bx, 2
loop s
int9ret:pop es
pop cx
pop bx
pop ax
iret
int9end:nop
code ends
end start

你可能感兴趣的:(【汇编语言】第 15 章 外中断)