功能:中断0要执行的代码
参数:si 源地址
di 目的地址
返回:divide error!
assume cs:code
code segment
start: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 ’求复制代码长度
cld
rep movsb
mov word ptr es:[0*4],200h ‘设置中断向量
mov word ptr es:[0*4+2],0
mov ax,4c00h ’返回dos
int 21h
do0: jmp short do0start ‘将在内存中运行的代码
db"divide error!" ’中断要显示的字符
do0start:
mov ax,cs
mov ds,ax
mov si,202h ‘jmp2字节长度,要显示的地址+2
mov ax,0b800h
mov es,ax
mov di,160*12+36*2 ’在屏幕上显示的地方
mov cx,13 ,要显示字符的长度
s: mov al,[si]
mov ah,0cah
mov es:[di],ax
inc si
add di,2
loop s ’循环传送
mov ax,4c00h
int 21h
do0end:nop
code ends
end start
- [a88510] 其实你可以理解为,就是一个压入,一个弹出 03/09 12:11
- [suixin] 你要把这些说明去掉就可以了 02/12 14:55
- [suixin] 我试过了 可以呀 02/12 14:53
- [waiwai] 这程序不能通过编译,你没试过吗? 02/02 21:50
- [suixin] 不对,好像除了范逸之的其他的买不到了。我在网上买了很长时间还是没有 01/08 15:50
- [suixin] 晕了我是转载的现在这些都买不到了 01/08 15:47
- [waiwai] 找本VB好书还真难,麻烦给我发个吧...... bzj781129@sina.com 01/08 15:43
- [游客] 涉及push pop时一定要定义堆栈,经验!!很重要!! 01/06 22:43
- [regex] 还有一点非常重要,当栈空时,SS:SP指向栈空间最高地址单元的下一个单元。 01/01 00:27
- [regex] 第三章真的非常重要 01/01 00:25
- [suixin] 对不起我还没学到哪里有很多伪指令不认识等我学的差不多的时候我再给你弄吧,先不好意思了 01/03 11:54
- [游客] 你好,我搜了一个汇编程序,很长,你能帮忙写点注释吗? DATA SEGMENT 01/02 11:19
- [kevin812566059] 你好!我也想学习汇编。我前几天报名的,在这个网上学习的步骤是怎么样的?我怎么找不到什么作业啊?应该看 12/29 20:49
- [zouhehui] 真的,我相信一段时间以后你在汇编上的造诣是不可估量的! 11/30 22:21
- [zouhehui] 从你写的章末总结就看的出来你是一个非常细心,毅力很强的高手,很高兴认识你,我现在还是一只菜鸟,以后多 11/30 21:49
- [zouhehui] 你好,我也刚刚学汇编,我也想交一些朋友大家公共学习,希望我能成为你的朋友! 11/29 12:05