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

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

15.1 接口芯片和端口

  • CPU 通过端口和外部设备进行联系。

15.2 外中断信息

  • 可屏蔽中断
  • 不可屏蔽中断

15.3 检测点 15.1

  • 答案:
    (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

  • 答案:
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

推荐阅读更多精彩内容