王爽< 汇编语言>实验十二
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