汇编语言中怎么样定义堆栈段和数据段

 我来答
百度网友f6753a1fd
2012-07-29 · TA获得超过821个赞
知道小有建树答主
回答量:294
采纳率:0%
帮助的人:359万
展开全部
assume cs:code,ss:stack,ds:data ; 段说明, 自己定义的code对应代码段, stack对应堆栈段, data对应数据段

stack segment stack ; 堆栈段的定义
byte 64 dup(0)
stack ends

data segment ; 数据段的定义
msg byte 'hello world!$'
data ends

code segment ; 代码段的定义
start:
mov ax,data
mov ds,ax
mov dx,offset msg
mov ah,9
int 21h
mov ax,4c00h
int 21h
code ends
end start
;=============以上是一个常见的定义=============
masm 5.0 以后也支持简化定义如 .data 为数据段 .code表示代码段, 形式如下:
.model small
.stack 200h ; 定义堆栈段大小
.data ; 定义数据段
szMsg db 'Hello World!',13,10,'$'

.CODE ; 代码段的定义
START:
mov ax,@data
mov ds,ax
mov es,ax
mov si,0
mov es:[bx+1+si],ah
lea dx,szMsg
mov ah,9
int 21h

;暂停,任意键关闭
mov ah,1
int 21h
mov ah,4ch ;结束,可以修改al设置返回码
int 21h

END START
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
收集板
2012-07-29 · TA获得超过402个赞
知道小有建树答主
回答量:382
采纳率:0%
帮助的人:222万
展开全部
栈直接在push pop中就可以使用。
数据段在.data里面,可以初始化。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangfan2000
2012-07-30 · TA获得超过2549个赞
知道小有建树答主
回答量:586
采纳率:50%
帮助的人:564万
展开全部
STACKS SEGMENT STACK ;堆栈段
DW 128 DUP(?) ;注意这里只有128个字节
STACKS ENDS
DATAS SEGMENT ;数据段
;请在这里定义您的数据

DATAS ENDS
CODES SEGMENT ;代码段
ASSUME CS:CODES,DS:DATAS
START: MOV AX,DATAS ;初始化
MOV DS,AX
;请在这里添加您的代码

MOV AX,4C00H ;退出程序
INT 21H
CODES ENDS
END START
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式