这是我们教科书上的一个程序,我在运行的时候发现会遇到错误,调试发现是在int 27h处出错。怎么会这样呢?难道不能使用int 27h指令而要用int 20h,还是因为com格式的问题?源程序如下:;程序功能是每隔十秒显示一段字符串
code segment
assume ds:code,cs:code,es:code,ss:code
org 100h
mov ax,code
mov ds,ax
main proc near
jmp init
timer dw 182
str db 0dh,0ah,"10 seconds again...",07h,24hnic:
push ax
push dx
push ds
push cs
pop ds
dec timer
jz disp
jmp exit
disp: ;显示10 secondsagain
mov timer,182 ;重置计数值
mov dx,offset str ;置书记偏移段
mov ah,9
int 21h
exit: ;退出
pop ds
pop dx
pop ax
iret
init:
mov dx,offset nic
mov ax,251ch
int 21h
mov ax,offset init
add ax,104h ; 计算驻留长度
mov dx,ax
int 27h ;驻留内存
main endp
code ends
end main
code segment
assume ds:code,cs:code,es:code,ss:code
org 100h
mov ax,code
mov ds,ax
main proc near
jmp init
timer dw 182
str db 0dh,0ah,"10 seconds again...",07h,24hnic:
push ax
push dx
push ds
push cs
pop ds
dec timer
jz disp
jmp exit
disp: ;显示10 secondsagain
mov timer,182 ;重置计数值
mov dx,offset str ;置书记偏移段
mov ah,9
int 21h
exit: ;退出
pop ds
pop dx
pop ax
iret
init:
mov dx,offset nic
mov ax,251ch
int 21h
mov ax,offset init
add ax,104h ; 计算驻留长度
mov dx,ax
int 27h ;驻留内存
main endp
code ends
end main
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货