. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
刷新
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
自由讨论区
管理员:
assembly
[
回复本贴
]
[
收藏本贴
] [
管理本贴
] [
关闭窗口
]
主题 : :
完整段定义和简化断定义格式下数据段的内存分配不同,原因?
[已解决]
回复[
3
次 ] 点击[
455
次 ]
study_soft
[帖 主]
[ 发表时间:2008-04-16 17:28 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:2
信誉值:18
注册日期:2008-02-20 10:20
完整段定义下:
assume cs:code, ds:data
data segment
a1 db 6,8,2,4,0,1,3,6
a2 db 5
data ends
code segment
...
a1的地址是ds:0
简化段定义下:
.model small
.stack
.data
a1 db 6,8,2,4,0,1,3,6
a2 db 5
.code
...
a1的地址不再是ds:0,总是有个偏移,比如ds:6之类的,为什么?
谢谢指教.
mess
[第
1
楼]
[ 回复时间:2008-04-17 08:59 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:337
信誉值:0
注册日期:2008-01-01 17:48
简化段定义,默认是字对齐,完整段定义默认是是段对齐。即是它们的定位类型不同。
默认定位类型:
段的简化定义 WORD(.DATA )--使用下一个可用字地址
段的完整定义 PARA --使用下一个可用节地址(每节为16个字节)
段的完整定义的默认定位类型PARA可以在《汇编语言》第六章的课后实验自己得出结论。
study_soft
[第
2
楼]
[ 回复时间:2008-04-17 11:45 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:2
信誉值:18
注册日期:2008-02-20 10:20
谢谢
study_soft
[第
3
楼]
[ 回复时间:2008-04-17 11:45 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:2
信誉值:18
注册日期:2008-02-20 10:20
此贴由 贴主 于 [ 2008-04-17 11:45 ] 结贴。 结贴原因:问题已解决
得分情况: 1楼(mess):4分
此问题已结贴!
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved