簡體   English   中英

匯編中的 .size 運算符 ( stm32 )

[英].size operator in assembly ( stm32 )

我的問題是關於 ARM CORTEX M 啟動文件中 .size 運算符的使用,例如這個啟動腳本

我已閱讀有關 the.size 運算符的其他問題,我的理解是以下行:

.size X,.-X

允許通過當前位置 (.) 和符號 X 的定義之間的距離來定義 X 的大小。

當在 X 定義的末尾使用此行時,這是可以的。 沒問題。 但是用在符號前怎么行呢?

在啟動腳本的第 94 行,您可以看到:

    .section    .isr_vector,"a",%progbits
    .type   g_pfnVectors, %object
    .size   g_pfnVectors, .-g_pfnVectors

g_pfnVectors:
    .word   _estack
    .word   Reset_Handler
    [...] 

它不應該定義-1 的大小嗎???? 它怎么能起作用? 我想這不是錯誤,因為你可以在所有 STM32 啟動代碼中找到它 ^^

謝謝,

答案很簡單。 . (點)表示當前地址。 所以表達式(來自github)

.size   Reset_Handler, .-Reset_Handler

將 Reset_Handler 部分的大小設置為當前地址減去該部分的開頭。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM