如何看待 記憶體 ?
可以存放資料 資料段 自己定義的資料
可以存放指令 指令段 自己定義的指令
可以定義成棧空間 棧段 臨時存放資料
那麼如何讓 cpu 按照我們的意願去訪問記憶體?
對於資料段,我們需要有段位址+偏移位址,目前段位址暫存器只學過 ds 暫存器,
偏移位址只學過 [0],[1] ... 進行訪問
對於指令段,我們通過修改 cs 和 ip 來 指向我們想要執行的**段
對於 棧段,我們通過修改 ss 和 sp 暫存器來實現棧頂標誌的定位
記憶體段的安全問題:
對於正真的作業系統來說,組合語言 對記憶體的修改可能會直接導致 系統崩潰等嚴重的錯誤
所以我們需要 合理的安排 我們的自定義段
第二種方法就是 使用作業系統分配給你的記憶體,理論上呢,系統允許的情況下,記憶體空間可以任意
一般來說系統記憶體 分為兩種,
第一種,程式載入的時候 系統自動為程式分配的空間,編譯生成exe時系統自動分配
第二種,程式在執行中,向系統申請的空間,這種方法適合高階語言
組合語言 第三章
1.記憶體中字的儲存 2.ds暫存器 8086cpu自動取ds中的資料為記憶體單元的段位址,並且ds的值並不能直接賦給,要先將值賦給乙個一般暫存器進行中轉,在傳入ds中。3.mov,add,sub命令。mov 賦值。mov指令中只給出單元的偏移位址,段位址預設存在ds中。add 將後面的資料加到前面...
《intel組合語言程式設計》 第三章記錄
程式一 title add and subtract this program adds and subtracts 32 bit integers.last update 06 01 2006 include irvine32.inc data num dword 0ffffff9ch code ...
第三章總結
1.dom操作 1.1dom操作分類 1 dom core 2.html dom 3 css dom 1.2節點和節點關係 整個文件是乙個文件節點 每個html標籤是乙個元素節點。包含在html元素中的文字是文字節點 每個html屬性是乙個屬性節點 注釋屬於注釋節點 父節點與子節點的關係 在節點數中...