6 包含多個段的程式

2021-08-28 07:04:36 字數 451 閱讀 5801

1、如果程式要存放資料,要使用什麼地方,第五章講到了一塊安全的空間0:200~0:2ff是相對安全的,可這段空間的容量只有256個位元組,如果我們需要的空間超過256個位元組又該如何呢?

取得空間的方法有兩種,一種是引導程式的時候為程式分配(堆疊),再就是程式執行過程中向系統申請(堆)

對於第一種方法:

(1)我們可以在乙個段中存放資料、**、棧

(2)將資料、**、棧放入不同的棧中

但是如果把所有資料,**之類的放在同乙個段中,會顯得:

(1)把它們放在乙個段中使程式顯得混亂

(2)前面的程式中處理的資料很少,用到的棧空間也小,加上沒有多長的**,放到乙個段李沒有問題。但如果資料、棧和**需要的空間超過64kb,就不能放在乙個段中(乙個段的容量不能大於64kb,是我們在學習中所用的的8086的限制,並不是所有的處理器都是這樣)

所以應該考慮用多個段來存放資料、**和棧

彙編06 包含多個段的程式

在執行匯程式設計序的時候,不要隨便向某個暫存器中賦值,這可能會導致系統錯誤,雖然現在的作業系統已經完全把硬體保護起來了,但是在安全模式下還是可以執行導致系統崩潰的命令。所以我們在編寫匯程式設計序的時候,要找到一段安全的空間供我們使用,在一般的pc機中,dos方式下,dos和其他合法的程式一般都不會使...

組合語言讀書筆記(6 包含多個段的程式)

組合語言 第三版,王爽 讀書筆記 dw 即 define word 定義字型資料,存放在 段中 cs 示例程式 assume cs code code segment dw 0123h,0456h,0789h,0abch,0defh,ofedh,0cbah,0987h start mov bx,0 ...

組合語言筆記06 包含多個段的程式

在作業系統的環境下,合法地通過作業系統取得的空間都是安全的。程式取得所需空間的方法有兩種 一是在引導程式的時候為程式分配,再就程式在執行過程中向系統申請。對於第一種方式,我們在程式中定義將要處理的資料,這些資料被編譯 連線程式作為程式的一部分寫入可執行檔案中。當可執行檔案的程式載入到記憶體中,這些資...