一步步學彙編(十一)內中斷
中斷:cpu不再接著(剛執行完得指令)向下執行,而是轉去處理這個特殊的
資訊cpu用8位的中斷型別碼通過向量表找到相應的中斷處理程式的入口位址。
乙個表項存放乙個中斷向量,佔兩個字,高位址字存放段位址,低位址字存放
偏移位址
中斷過程:
(1) (從中斷資訊中)取得中斷型別碼
(2) 標誌暫存器的值入棧;(因為在中斷過程中要改變標誌暫存器的值,所以先將其儲存起來)
(3) 設定標誌暫存器的第8位tf和第9位if的值為0
(4) cs的內容入棧
(5) ip的內容入棧
(6) 從記憶體位址為中斷型別碼*4和中斷型別碼*4+2的兩個字單元中讀取中斷處理
程式的入口位址設定ip和cs
中斷處理程式的常規編寫步驟:
(1) 儲存用到的暫存器
(2) 處理中斷
(3) 恢復用到的暫存器
(4) 用iret指令返回
iret指令的功能類似於:
pop ip
pop cs
popf
這章的內容真***太難了~~~我要好好研究幾天
一步步學彙編(九)call ret
一步步學彙編 九 call ret call和ret指令都是轉移指令,都修改ip,或同時修改cs和ip。經常被用來 實現子程式的設計。ret指令用棧中的資料,修改ip的內容,實現近轉移 retf指令用棧中的資料,修改cs和ip的內容,實現遠轉移 cpu執行ret指令時的操作 1 ip ss 16 s...
一步步學ROS
最近因為看svo的 裡面用到catkin決定要好好看ros,年前學會基本操作。啟動節點 rosrun package name executable name 檢視節點 rosnode list 注 rosout 節點是乙個特殊的節點,通過 roscore 自動啟動 檢視特定節點的資訊 rosnod...
一步步學彙編(六)記憶體定址方式
昨天逛西湖去了,沒好好學習 不過鍛鍊了身體 加油 三水 and指令 邏輯與指令,將操作物件的相應位設為0 or指令 邏輯或指令,將操作物件的相應位設為1 只要編碼和解碼採用同樣的規則,我們就可以將人能理解的資訊 存入計算機,再從計算機中取出 小寫字母的ascii碼值比大寫字母的大20h 重要 大寫字...