匯編三

完整的匯編指令:####

  • 匯編由兩種指令組成

    1.匯編指令
    如mov、add、sub等
    有對(duì)應(yīng)的機(jī)器指令,可以被編譯為機(jī)器指令,最終被CPU執(zhí)行

    2.偽指令
    如assume、 segment、ends、end等
    沒(méi)有對(duì)應(yīng)的機(jī)器指令,由編譯器解析,最終不被CPU執(zhí)行

    3.注釋由分號(hào)開(kāi)頭

E67F5A83-5347-40D9-AF82-9B4A3DF40070.png

偽指令 - segment,ends,end

  • segment和ends的作用是定義一個(gè)段,segment代表一個(gè)段的開(kāi)始,ends代表一個(gè)段的結(jié)束,使用格式為
    段名 segment :
    段名 ends
  • 一個(gè)有意義的匯編程序中,至少要有一個(gè)段作為代碼段存放代碼
  • assume
    將用作代碼段的code段和CPU中的cs寄存器關(guān)聯(lián)起來(lái)
  • end
    編譯器遇到end時(shí),就結(jié)束對(duì)源程序的編譯
此時(shí)CPU并不能停下來(lái)

中斷

此時(shí)可以停止
  • 中斷是由于軟件或者硬件的信號(hào),是CPU暫停當(dāng)前任務(wù),轉(zhuǎn)而執(zhí)行另一端子程序。
  • 中斷的分類
    • 硬中斷(外中斷),由外部設(shè)備(比如網(wǎng)卡、硬盤)隨機(jī)引發(fā)的,比如當(dāng)網(wǎng)卡收到數(shù)據(jù)包的時(shí)候,就會(huì)發(fā)出一個(gè)中斷
  • 軟中斷(內(nèi)中斷),由執(zhí)行中斷指令產(chǎn)生的,可以通過(guò)程序控制觸發(fā)

  • 可以通過(guò)指令int n產(chǎn)生中斷
  • n是中斷碼,內(nèi)存中有一張中斷向量表,用來(lái)存放中斷碼對(duì)應(yīng)中斷處理程序的入口地址

  • CPU在接收到中斷信號(hào)后,暫停當(dāng)前正在執(zhí)行的程序,跳轉(zhuǎn)到中斷碼對(duì)應(yīng)的中斷向量表地址處,去執(zhí)行中斷處理程序

  • 常見(jiàn)中斷

  • int 10h用于執(zhí)行BIOS中斷

  • int 3是“斷點(diǎn)中斷”,用于調(diào)試程序

  • int 21h用于執(zhí)行DOS系統(tǒng)功能調(diào)用,AH寄存器存儲(chǔ)功能號(hào)

以上

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容