[英].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.