匯編語言程序設計復習總結


基礎知識

  1. 補碼的來源、作用、計算。補碼(Two’s Complement),反碼(One’s Complement)。

80×86計算機組織

  1. Intel 8086處理器的字長、數據總線寬度、地址總線寬度、尋址空間。
  2. 處理器的工作模式:實模式、保護模式、虛86模式。
  3. 虛擬存儲技術並非擴展內存到外存,而應是流水進入內存,實現大於存儲器的程序的執行。
  4. CPU組成。
  5. 寄存器組,各寄存器名稱、用途。
  6. FLAGS寄存器的AF位對於8421BCD碼運算的作用。
  7. 做加法運算,OF和SF一起考慮是表示有符號數加法,考慮CF是無符號數加法。AF表示半字節進位,PF偶數標志位表示和的二進制1的個數是否為偶數。若加數符號位不同,則OF直接為0,SF看結果最高位;CF就看無符號數之和有無進位。
  8. 通用寄存器、專用寄存器、段寄存器。(SP到底通用還是專用啊???(ಥ﹏ಥ))
  9. 變址寄存器:BP,SP,SI,DI。
  10. 低位放低地址,高位放高地址。
  11. 同一地址可以是字節地址、字地址或雙字地址,根據實際情況確定。(比如PTR做了類型轉換)
  12. 實模式尋址:地址分段方法解決16位字長傳輸20位地址(1MB尋址空間)問題。段大小(1到64KB)。段起始於小段首地址,每16位為一個小段,共64K個小段。物理地址=段地址(或段基地址)<<16位 + 偏移地址 = 16D × 段地址 + 偏移地址。物理地址唯一,邏輯地址不唯一。
  13. 段的重疊:並非真的重疊,只是段的大小可以靈活變化,並不需要占滿64KB,可以多個段公用64KB空間。
  14. 1MB內存最多可分成64K個段,最少可分成16個段(且相互不重疊)。每個段至少為16字節(小段),最大為64KB。
  15. 段寄存器與偏移地址寄存器的對應。
  16. 段跨越前綴:當使用的段不是默認段時,使用段跨越前綴指定段寄存器。
  17. 保護模式尋址:邏輯地址由選擇器和偏移地址組成。偏移地址不再是16位,而是32位,段的最大長度擴展為4GB。
  18. 保護模式優點:支持更大尋址空間、支持多任務管理、支持虛擬存儲管理。
  19. 段的描述符:段的大小、位置、控制信息、狀態信息,由及地址、界限、訪問權和附加字段組成。
  20. 外設接口的一組寄存器:數據寄存器、狀態寄存器、命令寄存器。
  21. IO端口地址:獨立於存儲器編址,標明一組寄存器的地址。
  22. IO地址空間最大為64KB個8位端口或32KB個16位端口,即使在386及后續機型中擴展了32位端口號。
  23. 為了便於用戶使用外設,80×86提供了兩種類型的例行程序(中斷服務程序),一種是BIOS,一種是DOS,使用中斷方式(INT)轉入執行。
  24. DOS層次較高,應優先使用。其次是BIOS(寫入ROM,屬於硬件的一部分),最后是自己編寫外設調用程序。

80×86的指令系統和尋址方式

  1. 一地址(INC、DEC)、二地址(多數)、三地址指令(少數,如SHL)。
  2. 操作碼只要確定唯一二進制碼即可,但為了便於記憶,使用助記符表示操作碼,一一對應。
  3. 尋址方式:與數據有關、與轉移地址有關。
  4. 七種與數據有關的尋址方式,四種與轉移地址有關的尋址方式。
  5. 寄存器尋址16位使用AB、BX、CX、DX、BP、SP、SI、DI;8位使用AH、AL、BH、BL、CH、CL、DH、DL。
  6. 寄存器間接尋址、寄存器相對尋址中的寄存器只能是BX(在數據段中尋址)、BP(在堆棧段中尋址)、SI、DI。
  7. 基址變址、相對基址變址尋址,基址用BX(數據段)、BP(堆棧段),變址用SI、DI。
  8. 雙操作數指令除立即數方式外只能有一個操作數使用寄存器方式。(不能兩個都是內存單元)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM