0

我尝试编译并执行以下汇编代码。

 .model small
 .stack 2000H
 .data
 msg db 'Enter $';
 .code
 .startup
 main:
 call readeq;
 jmp exitl;
 readeq proc near
 mov ah,9;
 mov dx,0;
 lea dx,msg;
 int 21H;
 ret;
 readeq endp
 exitl:
 end;
 .exit

结果是:

Enter ê♦FGÇ= u⌠░ eê♦F_X├PS.Ç>‼m☺t♠eí δ╕ ♥ΦyïHe☼╢]☺♥√;╟~ eâ= t♦Gδ≤∙GG[X├S3  e9E☻tTïï╪X.Ç>‼m☺t♠eï↔â╟&;√}Φº r☻δ∩∙δ☺°[├QRS3█3 .Ç>‼m☺t♥â╟&e8♣tΦâ r♂δ⌠CYQ;┘t♣δ≡∙δ☺°[ZY├Φ╬ ╦Φÿ ╦Φ. ╦ΦH ╦Φ[ ╦╦... ETC。

知道我在 Windows XP 上使用 TASM 和 TLINK,如何解决这个问题?

4

1 回答 1

1

要正确终止您的程序,如果它是 COM,您可以执行RET, 或INT 20h(旧的 CP/M 方式)。如果您是 EXE,请使用AX=4C00(0 是退出代码) then INT 21h.

于 2012-11-16T23:43:51.373 回答