|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 汇编论坛 』
→ 【汇编】三个问题,堆栈指针和空字符问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
2983
人关注过本帖
标题:
【汇编】三个问题,堆栈指针和空字符问题
只看楼主
加入收藏
davidguhao
来 自:广东
等 级:
新手上路
帖 子:126
专家分:7
注 册:2016-7-18
结帖率:
89.47%
楼主
收藏
已结贴
√
问题点数:20 回复次数:4
【汇编】三个问题,堆栈指针和空字符问题
1 为什么可以假设堆栈指针(stack pointer)是对其16字节边界的
2 为什么堆栈指针在调用子程序时,一定要进行16字节边界对齐
3 为什么字符串一定要使用空字符结尾……(LENGTHOF 完全可以胜任)
搜索更多相关主题的帖子:
子程序
字符串
2016-09-08 18:02
举报帖子
使用道具
赠送鲜花
zhulei1978
等 级:
版主
威 望:
53
帖 子:1351
专家分:1200
注 册:2006-12-17
第
2
楼
收藏
得分:0
堆栈每次弹出都是一个字,所以要边界对齐。
字符串空字符结尾它程序就是那么设计的,读到空字符就结束读取。
其实我就是改变社会风气,提高少女素质,刺激电影市道,提高年轻人内涵,玉树临风,风度翩翩的整蛊专家,我名叫古晶,英文名叫JingKoo!
2016-09-08 21:31
举报帖子
使用道具
赠送鲜花
davidguhao
来 自:广东
等 级:
新手上路
帖 子:126
专家分:7
注 册:2016-7-18
第
3
楼
收藏
得分:0
回复 2楼 zhulei1978
您还没有回答我的第一个问题
为什么可以这么假设?
我在书上看到作者就是说可以假设……
暨南大学市场营销……
但是我有一颗计算机专业的心……
2016-09-09 18:41
举报帖子
使用道具
赠送鲜花
Valenciax
等 级:
版主
威 望:
11
帖 子:340
专家分:2482
注 册:2016-5-15
第
4
楼
收藏
得分:7
一般程序不会主动修改sp值,其值均由编译器做初始化,段和段的最小差距为16字节,边界对齐是很自然的动作...
因此可以有这种假设
2016-09-09 22:05
举报帖子
使用道具
赠送鲜花
hu9jj
来 自:红土地
等 级:
贵宾
威 望:
400
帖 子:11857
专家分:43421
注 册:2006-5-13
第
5
楼
收藏
得分:7
CPU在读写非跨界数据时可以一次性操作,而对跨界数据则必须分两次操作,所以多字节数据尽量要做到字对齐,方便CUP处理。栈指针寄存器可能还无法做跨界操作,所以设置栈地址时不能跨界.
另外段寄存器是要左移4位再加偏移地址形成实际地址,也许是16字节边界对齐更利于CPU操作。
活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2016-09-10 08:41
举报帖子
使用道具
赠送鲜花
5
1/1页
1
快速回复:
【汇编】三个问题,堆栈指针和空字符问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.029810 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved