| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 986 人关注过本帖
标题:新手求解,定义段的作用
只看楼主 加入收藏
tclgyq
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-5-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:17 
新手求解,定义段的作用
为什么看没个汇编程序都需要设什么数据段,堆栈段,代码段。有什么作用?求解
搜索更多相关主题的帖子: 数据 
2012-05-04 15:52
马甲1号
Rank: 5Rank: 5
等 级:职业侠客
帖 子:68
专家分:312
注 册:2011-4-4
收藏
得分:0 
去看编译原理

???????
2012-05-04 16:01
tclgyq
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-5-4
收藏
得分:0 
看了,有点抽象,是分配内存单元,但是代码的执行是怎么跟这些内存单元联系的,C语言里面也没有这么定义段的,新手勿喷
2012-05-04 16:39
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
C语言里面也没有这么定义段的,新手勿喷

简单来说 这就是C语言这种高级语言与汇编这种低级语言的区别

你说的这些个代码段 数据段 是CPU的设计(此处指80x86) 也就是CPU要这个东西

对于高级语言 编译器连接器自动做好了这些事 你不知道有这个东西 很正常 而汇编比较原始 比较贴近硬件 所以 你得设置这个
2012-05-04 16:42
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:20 
但是代码的执行是怎么跟这些内存单元联系的

对于8086是 通过设置段寄存器来达到这个目的的 对于80386以上的保护模式是通过选择子来实现的 总之是有一个机制 这个机制是CPU层面的 这也导致了汇编的不可移植
2012-05-04 16:44
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
记得要结题给分


[ 本帖最后由 zklhp 于 2012-5-4 16:49 编辑 ]
2012-05-04 16:46
tclgyq
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-5-4
收藏
得分:0 
执行汇编程序的时候,这些代码是怎么跟设置的这些段联系的啊
2012-05-04 16:46
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用tclgyq在2012-5-4 16:46:51的发言:

执行汇编程序的时候,这些代码是怎么跟设置的这些段联系的啊

assume cs:code,ds:data,ss:stack

data segment
    dw 0123h,0456h
data ends

stack segment
    dw 0,0
stack ends

code segment

start:    mov ax,stack
    mov ss,ax
    mov sp,16

    mov ax,data
    mov ds,ax

比如这段8086汇编代码就做了相应的工作。。
2012-05-04 16:48
tclgyq
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-5-4
收藏
得分:0 
assume cs:code,ds:data,ss:stack

data segment
    dw 0123h,0456h
data ends

stack segment
    dw 0,0
stack ends

code segment

start:    mov ax,stack
    mov ss,ax
    mov sp,16


    mov ax,data
    mov ds,ax
数据段,堆栈段,代码段,代码段的内容怎么和前面数据段,堆栈段的内容联系的


2012-05-04 16:58
tclgyq
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-5-4
收藏
得分:0 
请您解释清楚点,分给你
2012-05-04 16:58
快速回复:新手求解,定义段的作用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022464 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved