我的程序存在问题。一切顺利,除了mov bx,0冻结程序。此外,dosbox给出错误:
非法读取de74395c,CS:IP 1a2:140
我不知道为什么会这样做。我尝试了loadfix命令,但它没有帮助。有什么建议?谢谢。
LOCALS @@
.386
.model small
.stack 1000h
.code
start:
check_args:
call get_argc
exit:
mov ah, 4Ch
int 21h
proc get_argc
mov bx, 0
jmp exit
mov di, 80h
mov cx, es:[di]
@@L1:
inc di
mov al, es:[di]
cmp al, 20h
je @@L1
cmp al, 09h
je @@L1
cmp al, 0Dh
je @@done
inc bx
@@L2:
inc di
mov al, es:[di]
cmp al, 20h
je @@L1
cmp al, 09h
je @@L1
cmp al, 0Dh
je @@done
jmp @@L2
@@done:
mov ax, bx
ret
endp
end start
答案 0 :(得分:0)
您的.386
位置错误。必须在.model small
指令 之后设置(如果有的话)。