不能在我的生活中使用GETDEC
问题描述:
我只是试图弄清楚如何使用getdec获得一个int,并且一直对我没有任何帮助,所以我一直把头撞到墙上2个小时。本书仅用于给出getdec的定义及其输入和输出,但没有关于如何使用它的示例。不能在我的生活中使用GETDEC
我必须通过使用get dec并将它们推入堆栈,从用户那里获得几个int。我知道getdec应该接受输入并存储在AX中。我也不允许使用任何点操作。
我使用ML /Fl p3.asm /link io.lib pause
制作文件,所以我知道包含lib.io。
到目前为止,香港专业教育学院只得到了这一点:
`DOSSEG`
DATA SEGMENT
NAM BYTE 'xxxxx xxxxxxxxxx' ;LEN 19-CHANGE NAME AND LEN
HEADER BYTE 'Enter a number'
ZEROS WORD 0000
DATA ENDS
CODE SEGMENT 'CODE'
ASSUME CS:CODE, SS:NOTHING, DS:DATA, ES:NOTHING
P3: MOV AX,SEG DATA
MOV DS,AX
call GETDEC
PUSH AX
;rest of code goes here
CODE ENDS
END P3
林好上使用堆栈和哮喘,但我只是用斜面得到getdec输入。
答
我找到了!如果其他人遇到问题,您必须在程序开始时包含EXTERN GETDEC:FAR
。
你知道'GETDEC'不是什么普通的东西,没有指定你正在使用的书,我们不知道你在说什么?它不是“x86汇编”的一部分,而是本书作者编写的代码。在链接中,通过将“io.lib”链接到代码来添加外部代码,因此您必须使用汇编程序指令将不同模块之间的这些外部符号互连。也不要花太多时间来记忆这些外部功能,因为它们只与本书有关,只关注说明和原则,这些说明和原则也适用于其他地方的一些修改。 – Ped7g