我使用的是IBM处理器,而且我才刚刚开始深入研究x86汇编。现在我已经通读了一本汇编书籍,我决定测试一个简单的程序(在屏幕上打印一个感叹号的程序):
.MODEL SMALL
.CODE
MOV AH,2h
MOV DL,21h
INT 21h
INT 20h
END
Run Code Online (Sandbox Code Playgroud)
现在,在名为Peter Norton's Assembly Language Book for the IBM PC的书中有一个类似的例子,它是这样的:
.MODEL SMALL
.CODE
MOV AH,2h
MOV DL,2Ah
INT 21h
INT 20h
END
Run Code Online (Sandbox Code Playgroud)
我假设这个程序会根据 ASCII 表打印一个星号,但我无法测试,因为我不知道如何处理 TASM,因为我几乎没有将它安装在包含英特尔处理器的戴尔 Inspiron 上(这应该意味着IBM 系统)。在 TASM 的命令提示符下,我最终输入了以下代码行,以便组装我称为 EXCLAMAT.asm 的程序并运行它:
C:\TASM>TASM EXCLAMAT.asm;
C:\TASM>TLINK EXCLAMAT;
C:\TASM>TD EXCLAMAT.exe
Run Code Online (Sandbox Code Playgroud)
当我运行这个程序时,一个对话框告诉我:“程序没有符号表”
我做错了什么?非常感谢!
TD(Turbo Debugger)是运行程序的错误工具。您只需要在提示中输入程序名称:
C:\TASM>EXCLAMAT.exe
Run Code Online (Sandbox Code Playgroud)
TD 的消息“程序没有符号表”只是一个警告,您看到的是纯代码,没有标签或名称。为了避免它:TLINK /v EXCLAMAT;