LINK : warning L4021: no stack segment为什么会有这样的问题?

aweto04 2004-07-28 05:46:20
初学,搞不明白了。代码如下:
是一个很简单的显示的例子,程序也能运行,
可我就是不想看到LINK : warning L4021: no stack 这几个字。
请问应该怎么改程序。就是怎么才能让程序正常的link而没有warning。

segment;*********************************************
data_seg segment
show_prompt db 'please input a number less than 256.',13,10,'$'
data_seg ends
;***********************************************
stack_seg segment
dw 128 dup(0)
tos label word
stack_seg ends
;**************************************************
program segment
main proc far
assume cs:program,ds:data_seg,ss:stack_seg

start:
mov ax,stack_seg
mov ss,ax
mov sp,offset tos

push ds
xor ax,ax
push ax

mov ax,data_seg
mov ds,ax

mov dx,offset show_prompt
mov ah,9
int 21h

ret
main endp
program ends
end start
...全文
2263 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
aweto04 2004-07-29
  • 打赏
  • 举报
回复
搞定了,谢谢指教。
Areslee 2004-07-29
  • 打赏
  • 举报
回复
你没仔细看我的回复!
堆栈段在segment后面必须加上stack声明,不然没用
chenggongkou 2004-07-29
  • 打赏
  • 举报
回复 1
你的程序没有用到栈段。

这只是个警告信息,不用理会。
aweto04 2004-07-29
  • 打赏
  • 举报
回复
我加了堆栈的定义了啊!!
我也知道这只是个warning,但我不喜欢看到自己的程序有warning。
所以想知道为什么会出现这样的情况。

还有,代码第一排分号前的那个segment不在我程序里,粘帖的时候粘错了:)
Areslee 2004-07-28
  • 打赏
  • 举报
回复 1
1、不理它,这个警告可以不理会
2、加上如下定义:
stack segment stack
db 100 dup(0)
stack ends

.......

assume ss:stack

21,497

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧