王爽《組合語言》實驗12 編寫0號中斷的處理程式

2021-08-15 22:59:02 字數 1086 閱讀 2838

assume cs:code

code segment

start:

;將do0程式**複製至0:200處

mov ax,cs

mov ds,ax

mov si,offset do0

mov ax,0

mov es,ax

mov di,200h

mov cx,offset do0end-offset do0

cldrep movsb

;設定0號中斷向量表指向0:200h

mov word ptr es:[0*4],200h

mov word ptr es:[0*4+2],0h

mov ax,4c00h

int 21h

do0:

jmp short do0start

db "divide error!"

do0start:

push ax ;儲存現場

push ds

push si

push di

push cx

mov ax,cs

mov ds,ax

mov si,202h

mov ax,0b800h ;設定視訊記憶體開始位置

mov es,ax

mov di,12*160+34*2 ;設定顯示位置

mov cx,13 ;複製字串

s: mov al,ds:[si]

mov es:[di],al

mov byte ptr es:[di+1],07h

inc si

add di,2

loop s

pop cx ;恢復現場

pop di

pop si

pop ds

pop ax

mov ax,4c00h                    ;正常應使用iret回到中斷結束程式處,實驗要求返回dos,所以呼叫int 21h

int 21h

do0end:nop

code ends

end start

王爽彙編 實驗12編寫0號中斷處理程式

assume cs codesg codesg segment start mov ax,cs mov ds,ax 程式段位址 mov si,offset div s mov ax,0 mov es,ax mov di,0200h 保持中斷處理程式的記憶體位址 mov cx,offset div o...

王爽 組合語言 實驗10 1

assume cs code,ds data data segment db welcome to masm 0 data ends code segment start mov dh,8 行號 mov dl,3 列號 mov cl,2 顏色 mov ax,data mov ds,ax mov si...

王爽 組合語言 實驗7

assume cs codesg,ds data ss stack data segment db 1975 1976 1977 1978 1979 1980 1981 1982 db 1983 1984 1985 1986 1987 1988 1989 1990 db 1991 1992 1993...