;0号中断,在屏幕中间显示divide error!
;屏幕80*25中间位置为13行,33列
assume cs:code
code segment
start: ;复制指令到0000:0200处
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,1000
mov bh,1
div bh
mov ax,4c00h
int 21h
do0: ;存储字符串
jmp short begin
db "divide error!"
begin: mov ax,0
mov es,ax
mov di,202h
mov ax,0b800h
mov ds,ax
mov si,160*13+33*2
mov cx,13
s: mov al,es:[di]
mov ah,2
mov ds:[si],ax
inc di
add si,2
loop s
mov ax,4c00h
int 21h
iret
do0end: nop
code ends
end start
- [ltp1234] 顶起 04/18 23:05
- [chinatree] 不错,顶,最好有张图。 09/09 22:05
- [tomato] 哦。原来如此。 09/08 19:44
- [tomato] 支持你!加油!光说可不行!看你以后的行动了!希望你能够坚持下来。将书中的检测点实验一个不落地完成!这 09/08 19:44
- [chinatree] 话是那么说,随你了。 09/08 14:42
- [landyking] 我用的是第二版,书上写的是大写的A,并且书里面有提到哪里记录着大小写开关和shift的状态,所以我觉 09/08 14:24
- [chinatree] 可是书上并没有要求必须是大写才显示,说是只要松开a键就显示满屏的a。 09/08 13:42
- [chinatree] 一起加油吧,起码你的起点比我高,我只是初中毕业。 09/08 12:13
- [landyking] @chinatree: 呃.不太懂你的意思. 大小写扫描码是相同的,对啊. 书上不是要求只对大 09/07 23:47
- [chinatree] 不用判断这么多情况吧,因为大小写的扫描码是相同的。 09/07 23:21
- [stqcw] 好的我试一试 能加我qq吗?1270911891 09/18 15:33
- [landyking] @stqcw 你在xp下面装个虚拟机.虚拟机厘米那装ms-dos就行了.很好装的啊. http: 09/18 12:10
- [stqcw] 高人 我也在看王爽的汇编 但进行到第十五章的时候 进行 不下去了 虚拟机 我不是很会 设置。能把你的 09/17 19:49
- [stqcw] 高人 我也在看王爽的汇编 但进行到第十五章的时候 进行 不下去了 虚拟机 我不是很会 设置。能把你的 09/17 19:48