标题:[求助] 王爽汇编.内中断
只看楼主
z5560636
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-2-14
 问题点数:0 回复次数:1 
[求助] 王爽汇编.内中断
;(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内存中..
搜索更多相关主题的帖子: 王爽 mov 内存 ptr overflow 
2007-12-01 14:35
z5560636
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-2-14
得分:0 
....自己又检查了下..
 发现start这个段没有写中断返回...

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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-189730-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.234828 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved