Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "第 3 章 學習 80x86 指令. 本章提要 80x86 的指令格式與分類 搬動資料的指令群 算術指令群、邏輯運算指令群 平移與旋轉指令 流程控制與旗標控制指令 字串處理指令群 I/O 指令群、 CPU 控制指令群."— 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, 所 以:

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

30 搬動資料的指令 MOV

31 搬動資料的指令 MOVSX 、 MOVZX

32 搬動資料的指令 XCHG

33

34 搬動資料的指令 LAHF 、 SAHF

35

36 查表指令 XLAT 、 XLATB

37 Xlat 主要是做為表格式數碼轉換, 例如:

38 查表指令 XLAT 、 XLATB

39

40 PUSH 、 POP

41

42 堆疊指令群

43

44

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

46

47

48 算術指令 ADD 、 ADC

49

50 算術指令 SUB 、 SBB

51

52 算術指令 INC 、 DEC 、 NEG

53

54 比較指令 CMP

55

56 整數相乘指令 MUL 、 IMUL

57

58 算術指令 DIV 、 IDIV

59

60 CBW 、 CWD (CWDE 、 CDQ)

61

62 用 cwd 來算絕對值

63

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 調整指令

73

74 邏輯運算指令群

75 邏輯運算的真值表

76 邏輯運算指令

77

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 旋轉指令

87

88 位元測試與設定指令群

89 位元測試指令 bt

90 旗標設定指令群

91 旗標設定指令

92

93 跳躍指令群

94 條件式跳躍指令 jxx

95 跳躍指令

96

97 呼叫副程式及返回主程式的指令

98

99

100

101 進入及離開高階函式

102

103 中斷指令群

104 中斷指令

105 迴圈指令群

106 迴圈指令

107 字串處理

108 字串處理指令群

109

110 字串處理指令

111 前置迴圈指令群

112 字串指令及其配用之前置指令 與指位器

113 前置迴圈指令

114 I/O 指令群

115 I/O 指令

116 延時、補空指令 NOP

117 記憶位址範圍檢查指令 BOUND

118 Real 模式的 CPU 控制

119 保護模式下的指令


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

Similar presentations


Ads by Google