彙編裡面的 word代表什麼

2021-10-06 11:28:55 字數 1472 閱讀 8226

在學習uboot的時候經常在start.s標頭檔案前面看到:

.word 0x2000

.word 0x0

.word 0x0

.word 0x0

課程解釋說是佔位用的,是uboot前面的16個位元組的header

.word代表是字,乙個字長。

字長與處理器的位數有關,比如16位處理器,字長為2byte:

同理,arm的32位處理器字長為4位元組。

.word是怎麼排布的?

.word 0x2000

.word 0x1234

.word 0x5678

.word 0x9abc

用winhex把編譯後的uboot.bin讀出可得

首先,紅框內是16個位元組的內容,通過現象分析

分為這樣4組,一組4位元組。

00 20 00 00

34 12 00 00

78 56 00 00

bc 9a 00 00

得到結論

1.我寫進去的只有2個位元組,而且是先寫入低16位,因為是.word型別的(4位元組-32位系統),高16位自動補0

2.寫入的時候是從低位到高位以位元組為單位寫入,以0x1234為例

實際是00 00 12 34寫入後變為34 12 00 00

為了進一步驗證我的想法:

這次寫滿32位

.word 0x2000aabb

.word 0x12344321

.word 0x56788765

.word 0x9abcbca9

編譯後讀出:

對應關係

bb aa 00 20

21 43 34 12

65 87 78 56

a9 cb bc 9a

驗證結論成立。

結論1.word字長要根據處理器位數決定

2. 資料寫入時從低位到高位依次寫入,如果沒寫滿則剩下的高位補0。

python讀取word裡面的內容

1.將word文件轉為html操作,通過bs4中的 beautifulsoup 提取html中所需要的內容 pip install bs4 pip install pydocx 讀取word中的內容 from pydocx import pydocxfrom bs4 import beautiful...

focal loss 裡面的為什麼

首先來看公式 我們知道alpha 是用來平衡正負樣本的,而 裡面的給的alpha 0.25 而真實正負樣本的比例在1000 1以上,作者反而縮小正樣本的損失,why?在自己應用到其他場景的情況下,發現結果不僅如人意,後面將正負樣本的損失分開視覺化來看 通過上圖可以發現正樣本的損失要遠大於負樣本的損失...

python裡面的self代表類的假設例項物件

對,你沒看錯,這是我初學python時的靈魂發問。我們總會在class裡面看見self,但是感覺他好像也沒什麼用處,就是放在那裡占個位子。如果你也有同樣的疑問,那麼恭喜你,你的class沒學明白。所以,在解釋self是誰之前,我們先明確幾個問題 什麼是class,什麼是instance,什麼是obj...