INT 21H功能#9在win xp上

时间:2012-11-16 17:37:50

标签: assembly tasm

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

 .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 ╦Φ[ ╦╦ ......等等。

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

1 个答案:

答案 0 :(得分:1)

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