|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
红色字体是我没有写的代码,,为什么还能正常运行啊,求解释,
实验12 编写0号中断的处理程序(第240页)
-------------------------------------
完整程序如下:
assume cs:code
code segment
start:
mov ax,cs
mov ds,ax
mov si,offset do0 ;设置ds:si指向源地址
mov ax,0
mov es,ax
mov di,200h ;设置es:di指向源地址
mov cx,offset do0end - offset do0 ;设置cx为传输长度
cld ;设置传输方向为正
rep movsb
;mov ax,0
;mov es,ax ;这里我没有写
mov word ptr es:[0*4],200h ;设置中断向量的入口地址的偏移地址
mov word ptr es:[0*4+2],0 ;设置中断向量的入口地址的段地址
mov ax,0f000h
mov dx,22d
mov cx,10d
div cx ;此4句是为了做个溢出的除法
mov ax,4c00h
int 21h
do0: jmp short do0start
db "divide error!"
do0start:
mov ax,cs
mov ds,ax
mov si,202h ;设置ds:si指向字符串
mov ax,0B800h
mov es,ax
mov di,12*0A0h+2*32 ;设置es:di指向显存空间的中间位置
mov cx,13d ;设置字符串长度
s: mov al,[si]
mov es:[di],al
inc si
add di,2
loop s
mov ax,4c00h
int 21h
do0end: nop
code ends
end start |
|