《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和总线接口单元BIU22

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.直接存储器存储DMA34

3.存储器映象的I/O34

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/AX166

比较”指令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

《MCS-86TM宏汇编语言 参考手册》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件。对合法合规的求助,我会当即受理并将下载地址发送给你。