Download presentation
Presentation is loading. Please wait.
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
直接定址法
20
間接定址類的定址法
21
間接定址法
22
基底定址法
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, 所 以:
29
搬動資料的指令 MOV 只有一般暫存器的值才能 mov 至節區暫 存器, 所以:
30
搬動資料的指令 MOV
31
搬動資料的指令 MOVSX 、 MOVZX
32
搬動資料的指令 XCHG
34
搬動資料的指令 LAHF 、 SAHF
36
查表指令 XLAT 、 XLATB
37
Xlat 主要是做為表格式數碼轉換, 例如:
38
查表指令 XLAT 、 XLATB
40
PUSH 、 POP
42
堆疊指令群
45
取位址至暫存器 LEA 、 LDS 、 LES
48
算術指令 ADD 、 ADC
50
算術指令 SUB 、 SBB
52
算術指令 INC 、 DEC 、 NEG
54
比較指令 CMP
56
整數相乘指令 MUL 、 IMUL
58
算術指令 DIV 、 IDIV
60
CBW 、 CWD (CWDE 、 CDQ)
62
用 cwd 來算絕對值
64
認識 BCD BCD 為 Binary Coded Decimal 的簡寫, 就是以 Binary 來表示十進數的意思。
65
BCD 調整指令
66
aaa: (Ascii Adjust after Addition)
67
aas: (Ascii Adjust after Substraction)
68
aam: (Ascii Adjust after Multiplication)
69
aad: (Ascii Adjust before Division)
70
daa: (Decimal Adjust AL after Addition)
71
das: (Decimal Adjust After Substraction)
72
BCD 調整指令
74
邏輯運算指令群
75
邏輯運算的真值表
76
邏輯運算指令
78
平移與旋轉指令
79
移動方式 shr shl 和 sal
80
移動方式 sar
81
邏輯與算術移動說明 mov ah,82h ; 82h 即有號數的 -126 sar ah,1 ;除以 2
82
邏輯與算術移動說明
83
旋轉指令群
84
旋轉方向 ror rol
85
旋轉方向 rcr 及 rcl
86
旋轉指令
88
位元測試與設定指令群
89
位元測試指令 bt
90
旗標設定指令群
91
旗標設定指令
93
跳躍指令群
94
條件式跳躍指令 jxx
95
跳躍指令
97
呼叫副程式及返回主程式的指令
101
進入及離開高階函式
103
中斷指令群
104
中斷指令
105
迴圈指令群
106
迴圈指令
107
字串處理
108
字串處理指令群
110
字串處理指令
111
前置迴圈指令群
112
字串指令及其配用之前置指令 與指位器
113
前置迴圈指令
114
I/O 指令群
115
I/O 指令
116
延時、補空指令 NOP
117
記憶位址範圍檢查指令 BOUND
118
Real 模式的 CPU 控制
119
保護模式下的指令
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.