首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >混淆.align地址安排

混淆.align地址安排
EN

Stack Overflow用户
提问于 2017-07-29 11:03:25
回答 1查看 89关注 0票数 3

我在看地址分配。

代码语言:javascript
复制
00010004 <arr>: 10004: 10080402 .word 0x10080402 10008: 20 .byte 0x20 
00010009 <eoa>: 10009: 00 .byte 0x00 ... 
0001000c <start>: ...

守则的汇编部分:

代码语言:javascript
复制
.section .text.ResetISR
.align
.global ResetISR
.type ResetISR, %function

ResetISR:
   b start

arr:
  .byte 2, 4, 8, 16, 32

eoa:
  .align

start: ...

为什么eoa的地址从00010009开始。应该是从0001000d开始的,对吧?

为什么开始从0001000c而不是从0001000d来寻址内存

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-29 11:18:40

在eoa标签上,由.align指令启动的填充。

这意味着eoa标签本身只是跟随以00010009h结尾的5个字节数组。

填充然后插入3个空字节,将开始标签进一步放置在0001000Ch。

应该从“0001000天”开始,对吧?

我认为您认为.align指令在代码中插入了固定数量的字节(00010005h +8= 0001000Dh)。

但是,它所做的是插入计算出的填充字节数,使在对齐地址上跟随代码

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45388506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档