data-segment

    0熱度

    1回答

    我知道bss段包含未初始化的變量,它將被賦予0作爲初始值,但爲什麼我們不只是使用數據段來存儲它們? 我讀過它加快執行速度,因爲os loader一次通過調用memset初始化所有這些變量,但是,我並不十分確信,因爲加載器可以調用memset來初始化它們在數據段中!

    1熱度

    1回答

    我對此感到困惑;我不認爲在這兩種情況下應該有任何差異 ,該程序結束爲exe文件。 如果你認爲一個不同請幫助.... 讓我澄清我的問題: 是有數據段定義或者當我創建一個彙編程序「獨立」,當之間的差異處理 我要求從C程序的程序集? 誰在兩種情況下定義日期段的位置或大小? 這是編譯器還是操作系統? 以及在兩種情況下如何確定數據段的值?

    1熱度

    1回答

    使用nasm32,x86彙編語言。我想從數據段中讀取一些數字。 .model small .stack .data DATA1 DB 53H,"$" DATA2 DB 17H,"$" .code .startup mov dx, @data mov dx, offset DATA1 add dl,30h mov ah, 02h

    2熱度

    1回答

    爲什麼下面的代碼完美地編譯? Data Segment Var1 Dw (any 4 digit hex value) Var2 Dw Var1 Data Ends 這條線「Var2 Dw Var1」甚至是什麼意思? 我認爲只有立即值才能在類型定義之後進行。

    3熱度

    1回答

    信息 存儲載體以下警告: LINK : warning LNK4039: section '.SHARED' specified with /SECTION option does not exist 每當我試圖存儲載體,在C語言的動態鏈接庫++的數據段總是發生。 舉一個例子: #include <vector> struct Obj { unsigned int A; u