当前位置:首页 > 工业技术
MCS-86TM宏汇编语言 参考手册
MCS-86TM宏汇编语言 参考手册

MCS-86TM宏汇编语言 参考手册PDF电子书下载

工业技术

  • 电子书积分:9 积分如何计算积分?
  • 作 者:北京工业大学,微型计算机研究开发应用中心
  • 出 版 社:
  • 出版年份:2222
  • ISBN:
  • 页数:186 页
图书介绍:
《MCS-86TM宏汇编语言 参考手册》目录

目录 1

第一章MCS—86宏汇编语言概述 1

1.1为什么要用汇编语言编写程序? 1

1.2宏处理器是ASM86的一个组成部份吗? 1

1.3汇编语言的特点 3

1.4指令系统的设计 3

一、一般指令的助记符和代码宏 4

二、指令分析 4

1.5代码和数据的结构 5

一、结构 5

二、数组 6

三、记录 7

四、组合 8

五、程序分段的概念 8

六、过程 9

七、操作数 10

1. 寄存器 10

2.寻址方式 11

八、宏 12

第二章数据的定义和预置 13

2.1标识符 13

2.2数据项和它的属性 13

2.3数据定义概述 14

二、常数项的表现形式 16

一、数值允许的范围 16

2.4常数项 16

2.5定义变量(DB,DW,DD伪指令) 17

一、DB,DW和DD的一般格式 17

二、DB,DW和DD格式的例子 18

格式1:预置一个常数项表达式 18

格式2:用问号(?)定义变量 19

格式3:预置地址表达式(只能用DW和DD) 19

格式4:定义比两个字符长的字符串(只能用DB) 20

格式5:定义和预置一个数据表格 20

格式6:预置重复的数值(DUP) 20

2.6标号的定义和预置 21

一、8086处理器结构 22

1.8086的执行单元EU和总线接口单元BIU 22

3.1 8086指令系统的硬件环境 22

第三章8086的指令系统 22

2.8086的寄存器 24

二、8086的存储器 27

1.存储组织 27

2.分段(Segmentation) 28

3.物理地址的产生 29

4.动态可重定位的代码(浮动代码) 31

5.堆栈操作 32

6.献出的和保留的存储器 32

三、8086的输入/输出 33

4.直接存储器存储DMA 34

3.存储器映象的I/O 34

1.输入/输出(I/O)空间 34

2.限制使用的I/O单元 34

四、多处理器特性 35

1.总线封锁(BUS LOCK) 35

2.等待和测试(WAIT和TEST) 36

3.交权(ESCAPE) 36

五、处理器控制和管理 38

1.中断(Interrupt) 38

2.外部的中断 38

3.内部的中断 40

4.中断指示器表 40

5.中断服务“过程”(程序) 42

6.单步(陷阱)中断 43

7.断点中断 44

8.系统复位 44

9.指令队列状态 44

10.处理器暂仃 45

3.2 8086指令系统的“百科全书” 45

一、指令说明中用的符号、指令和数据格式 45

1.描述符和标记 45

2.指令和数据格式 48

二、8086指令系统中的寻址方式 49

1.存储器操作数 50

2.寄存器操作数 52

3.立即操作数 53

4.8086指令中寻址方式摘要图 54

三、在CPU中如何按各种寻址方式形成物理地址及寻址方式的使用 54

1.直接寻址 56

2.寄存器间接寻址 56

3.基址寻址 56

4.变址寻址 57

5.基变址寻址 57

6.串寻址 58

7.I/O端口寻址 59

8.在后面3.3节中每种类型指令的说明中给出的信息 60

四、8086指令系统综述 61

1.数据传送指令综述 62

2.算术运算指令综述 63

3.逻辑运算(位操作)指令综述 69

4.字符串处理指令综述 71

5.8086的程序转移指令综述 76

6.处理器控制指令综述 82

五、按字母排列顺序给出的每条指令的说明 84

1.AAA—加法的ASCII修正指令 84

2.AAD—除法的ASCII修正指令 85

3.AAM—乘法的ASCII修正指令 85

4.AAS—减法的ASCII修正指令 86

5.ADC—带进位的加法指令 86

6.ADD—加法指令 88

7.AND—“与”或逻辑乘法指令 90

8.CALL—调用一组“过程”指令 92

9.CBW—变换字节为字指令 95

10.CLC—清进位标志指令 95

11.CLD—清除方向标志指令 95

12.CLI—清除中断标志指令 95

13.CMC—进位标志求反指令 96

14.CMP—比较两个操作数指令 96

15.CMPSB/CMPSW/CMPS—比较字节串、比较字串指令 98

16.CWD—变换字为双字指令 99

17.DAA—加法的十进制修正指令 99

19.DEC—将“目的”减“1”指令 100

18.DAS—减法的十进制修正指令 100

20.DIV—无符号数除法指令 101

21.ESC—处理器交权指令 103

22.HLT—处理器暂仃指令 104

23.IDIV—有符号的整数除法指令 105

24.IMUL—有符号的整数乘法指令 106

25.IN—输入字节和输入字指令 108

26.INC—“目的”加“1”指令 109

27.INT—中断指令 110

28.INTO—溢出中断指令 111

29.IRET—中断返回指令 112

30.JA和JNBE—“高于”或“不低于/不等于”转移指令 112

32.JB和JNAE—“低于”或“不高于/不等于”转移指令 113

31.JAE和JNB—“高于/等于”或“不低于”转移指令 113

33.JBE和JNA—“低于/等于”或“不高于”转移指令 114

34.JCXZ—若CX=0,转移指令 114

35.JE和JZ—“等于”和“全0”转移指令 115

36.JG和JNLE—“大于”和“不小于/不等于”转移指令 116

37.JGE和JNL—“大于/等于”和“不小于”转移指令 116

38.JL和JNGE—“小于”和“不大于/不等于”转移指令 116

39.JLE和JNG—“小于/等于”和“不大于”转移指令 117

40.JMP—无条件转移指令 117

41.JNA和JBE—“不高于”和“低于/等于”转移指令 119

42.JNAE和JB—“不高于/不等于”和“低于”转移指令 120

43.JNC—进位标志为“0”,转移指令 120

45.JNE和JNZ—“不等于”和“不为零”转移指令 121

44.JNBE—“不低于/不等于”转移指令 121

46.JNG和JLE—“不大于”和“小于/等于”转移指令 122

47.JNGE和JL—“不大于/不等于”和“小于”转移指令 122

48.JNL和JGE—“不小于”和“大于/等于”转移指令 123

49.JNLE和JG—“不小于/不等于”和“大于”转移指令 123

50.JNO—“无溢出”转移指令 124

51.JNP和JPO—“无奇偶性”和“奇偶性为奇”转移指令 124

52.JNS—“无符号”(“符号标志为0”)转移指令 125

53.JNZ和JNE—“不为零”和“不等于”转移指令 125

54.JO—“溢出”转移指令 126

55.JP和JPE—“有奇偶性”和“奇偶性为偶”转移指令 126

56.JPE和JP—“奇偶性为偶”和“有奇偶性”转移指令 126

58.JS—“符号标志置位”转移指令 127

57.JPO和JNP—“奇偶性为奇”和“无奇偶性”转移指令 127

59.JZ和JE—“为零”和“相等”转移指令 128

60.LAHF—“取标志到AH寄存器”指令 128

61.LDS—“取指示器到DS”指令 129

62.LEA—“取有效地址”指令 130

63.LES—“取指示器到附加段寄存器”指令 130

64.LOCK“总线锁定”前缀 131

65.LODSB/LODSW/LODS—“取字节串或字串”指令 132

66.LOOP—“循环或迭代控制”指令 133

67.LOOPE和LOOPZ—“相等”和“为零”循环指令 134

68.LOOPNE和LOOPNZ—“不相等”和“不为零”循环指令 135

69.LOOPNZ和LOOPNE—“不为零”和“不相等”循环指令 136

70.LOOPZ和LOOPE—“为零”和“相等”循环指令 137

71.MOV—“传送”指令 138

72.MOVSB/MOVSW/MOVS—“字节串或字串”的传送指令 141

73.MUL—“无符号数的乘法”指令 142

74.NEG—“求补码”指令 143

75.NOP—“空操作”指令 144

76.NOT—“求反码”或“逻辑非”指令 144

77.OR—“逻辑或”指令 145

78.OUT—“输出字节和字”指令 147

79.POP—“栈中的字退到目的操作数中去”指令 147

80.POPF—“标志退栈”指令 149

81.PUSH—“字进栈”指令 149

83.RCL—“连同进位的循环右移”指令 151

82.PUSHF—标志进栈”指令 151

84.RCR—“通过进位的循环右移”指令 153

85.REP/REPE/REPZ/REPNZ/REPNE—“重复或迭代”前缀 154

86.RET—“返回”指令 156

87.ROL—“循环左移”指令 157

88.ROR—“循环右移”指令 159

89.SAHF—“存AH到标志寄存器”指令 160

90.SAL和SHL—算术左移和逻辑左移”指令 161

91.SAR—“算术右移”指令 162

92.SBB—“带借位的减法”指令 164

93.SCAS/SCASB/SDASW—“搜索字节串或字串”或“与AL/AX 166

比较”指令 166

94.SHL和SAL—逻辑左移和算术右移”指令 167

95.SHR—“逻辑右移”指令 168

96.STC—“置位进位标志”指令 170

97.STD—“置位方向标志指令” 170

98.STI—“置位中断标志”指令 170

99.STOS/STOSB/STOSW—“存字节串或存字串”指令 171

100.SUB—“减法”指令 172

101.TEST—“检测或逻辑比较”指令 173

102.WAIT—“等待”指令 175

103.XCHG—“交换”指令 176

104.XLAT—“换码”指令 177

105.XOR—“异或”指令 178

附录按16进制顺序排列的指令操作码 180

相关图书
作者其它书籍
返回顶部