0
내 프로그램에 문제가 있습니다. mov bx를 제외하고는 모두 잘 작동하며 0은 프로그램을 고정시킵니다. 또한 dosbox에서 오류가 발생합니다.mov 후 TASM 프로그램이 멈 춥니 다.
Illegal read from 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
_ "mov bx, 0'은 프로그램"_을 고정시킵니다. 명령 자체가 불법 주소에있는 경우가 아니라면 그럴 가능성은 희박합니다. 코드의 관련 부분을 게시 할 수 있습니까? – Michael
소스 코드 없이는 말할 방법이 없습니다. – Ari0nhh
업데이트 됨. 그것은 전체 코드는 아니지만 다른면은 어떤 식 으로든 실행되지 않으므로 삭제했습니다. – Tomas