1 / 119

第 3 章

第 3 章. 學習 80 x86 指令. 本章提要. 80 x86 的指令格式與分類 搬動資料的指令群 算術指令群、邏輯運算指令群 平移與旋轉指令 流程控制與旗標控制指令 字串處理指令群 I/O 指令群、 CPU 控制指令群. 80 x86 的指令格式. [前置指令] 指令 [運算元 1 [ , 運算元 2 [ , 運算元 3 ]]] 其中, [ ] 內的項目依指令之性質而使用, 有的指令可以加上前置指令, 有的不能。 指令與運算元之間要以空格隔開, 而運算元之間要以逗號隔開。. 80 x86 指令的分類. 資料傳送指令群 算術運算指令群

juana
Download Presentation

第 3 章

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第 3 章 學習 80x86 指令

  2. 本章提要 • 80x86 的指令格式與分類 • 搬動資料的指令群 • 算術指令群、邏輯運算指令群 • 平移與旋轉指令 • 流程控制與旗標控制指令 • 字串處理指令群 • I/O 指令群、CPU 控制指令群

  3. 80x86 的指令格式 [前置指令] 指令 [運算元 1 [ , 運算元 2 [ , 運算元 3 ]]] • 其中, [ ] 內的項目依指令之性質而使用, 有的指令可以加上前置指令, 有的不能。 • 指令與運算元之間要以空格隔開, 而運算元之間要以逗號隔開。

  4. 80x86 指令的分類 • 資料傳送指令群 • 算術運算指令群 • 位元運算指令群 • 流程控制指令群 • 字串處理指令群 • I/O 指令群 • 系統控制指令群

  5. 資料傳送指令群

  6. 算術運算指令群

  7. 位元運算指令群

  8. 流程控制指令群

  9. 字串處理指令群

  10. I/O 指令群

  11. 系統控制指令群

  12. 80x86 的 3 種定址法 • 暫存器定址法 Register addressing mode • 立即定址法 Immediate addressing mode • 記憶位址定址法 Memory addressing mode

  13. 記憶位址定址法的分類 • 直接定址法 Direct addressing mode • 間接定址法 Indirect addressing mode • 基底定址法 Based addressing mode • 索引定址法 Indexed addressing mode • 基底索引定址法 Based indexed addressing mode

  14. 暫存器定址法

  15. 暫存器定址法 • 節區暫存器之間不能互傳資料:

  16. 立即定址法 • 立即定址法的資料是儲存於指令本身:

  17. 立即定址法

  18. 直接定址法

  19. 直接定址法

  20. 間接定址類的定址法

  21. 間接定址法

  22. 基底定址法

  23. 基底定址法

  24. 索引定址法

  25. 基底索引定址法

  26. 間接定址類的寫法 • mov ax, [bx + di + 6] • mov ax, [bx + 6] [di] • mov ax, 6 [bx + di] • mov ax, [bx] [di] [6]

  27. 搬動資料的指令 MOV

  28. 搬動資料的指令 MOV • 記憶位址上的資料不能直接互相 mov, 所以:

  29. 搬動資料的指令 MOV • 只有一般暫存器的值才能 mov 至節區暫存器, 所以:

  30. 搬動資料的指令 MOV

  31. 搬動資料的指令MOVSX、MOVZX

  32. 搬動資料的指令 XCHG

  33. 搬動資料的指令 XCHG

  34. 搬動資料的指令 LAHF、SAHF

  35. 搬動資料的指令 LAHF、SAHF

  36. 查表指令 XLAT、XLATB

  37. 查表指令 XLAT、XLATB • Xlat 主要是做為表格式數碼轉換, 例如:

  38. 查表指令 XLAT、XLATB

  39. 查表指令 XLAT、XLATB

  40. PUSH、POP

  41. PUSH、POP

  42. 堆疊指令群

  43. 堆疊指令群

  44. 堆疊指令群

  45. 取位址至暫存器 LEA、LDS、LES

  46. 取位址至暫存器 LEA、LDS、LES

  47. 取位址至暫存器 LEA、LDS、LES

  48. 算術指令 ADD、ADC

  49. 算術指令 ADD、ADC

  50. 算術指令 SUB、SBB

More Related