1 ;此乃安装程序
2 ;功能:将8086cpu中断类型码为0 的中断向量设置为我们编写的中断服务程序入口地址
3 ;该中断在除法发送溢出的时候产生
4
5 assume cs:code
6 code segment
7 main:
8 mov ax,cs
9 mov ds,ax
10 mov si,offset do ;设置ds:si指向源地址
11
12 mov ax,0
13 mov es,ax
14 mov di,200h ;设置es:di指向目的地址
15
16 mov cx,offset doend - offset do ;"-" 是编译器识别的运算符号,编译器可以用它来进行两个常数的减法
17 ;设置cx为传输长度
18
19 cld ;设置传输方向为正
20
21 rep movsb ;开始传送
22
23
24 mov ax,0
25 mov es,ax
26 mov word ptr es:[0*4],200h
27 mov word ptr es:[0*4+2],0
28
29
30 mov ax,4c00h
31 int 21h
32
33 do:
34 jmp short doo
35 db "divide error!"
36 doo:
37 mov ax,cs
38 mov ds,ax
39 mov si,202h ;设置ds:si指向字符串
40
41 mov ax,0b800h
42 mov es,ax
43 mov di,12*160+30*2 ;设置es:di指向显存空间的中间位置
44
45 mov cx,13 ;设置cx为字符串长度
46
47 s:
48 mov al,[si]
49 mov es:[di],al
50 inc si
51 add di,2
52 loop s
53
54 mov ax,4c00h
55 int 21h
56 doend:
57 nop
58 code ends
59 end main
60
61 ;产生除法溢出的程序
62 ;assume cs:code
63 ;code segment
64 ;main:
65 ; mov ax,1000
66 ; mov bh,1
67 ; div bh
68 ; mov ax,4c00h
69 ; int 21h
70 ;code ends
71 ; end main