注册 登录
编程论坛 汇编论坛

[求助] 王爽汇编.内中断

z5560636 发布于 2007-12-01 14:35, 1193 次点击
;(1)编写可以显示"overflow!"的中断处理程序:do0;
;(2)将do0送入内存0000:0200处
;(3)将do0的入口地址0000:0200存储在中断向量表0号表项中.

assume cs:code
code segment
start: mov ax,code
 mov ds,ax
 mov si,offset do0
 mov ax,0
 mov es,ax
 mov di,200H
 mov cx,offset do-offset do0
 cld
 rep movsb
 
 mov word ptr es:[0*4],200H
 mov word ptr es:[0*4+2],0

do0: jmp short do
 db 'overflow!'
do0start:
 mov ax,cs
 mov ds,ax
 mov si,202H
 mov ax,0b800H
 mov es,ax
 mov di,12*160+36*2
 mov cx,9
s: mov al,[si]
 mov es:[di],al
 inc si
 add di,2
 loop s
 
 mov ax,4c00H
 int 21H
do: nop
code ends
end start


用MASM6.0编译..然后用CMD里面的CALL命令来运行.
发现do0这段代码怎么都装不进0:200内存中..
1 回复
#2
z55606362007-12-01 14:40
....自己又检查了下..
 发现start这个段没有写中断返回...

但还想请教下..为什么不写返回就装不进去.?
按道理来说..在怎么..start段已经把do0装进了蛤.
1