【汇编】速查手册

举报
zstar 发表于 2022/08/06 01:04:46 2022/08/06
【摘要】 DOS系统功能调用 调用形式:: MOV AH, 01H INT 21H 12 AH功能调用参数返回参数0程序终止(同INT 20H)CS=程序段前缀1键盘输入并回显AL=输入字符2显示输出DL=输...

DOS系统功能调用

调用形式::

MOV AH, 01H
INT 21H

  
 
  • 1
  • 2
AH 功能 调用参数 返回参数
0 程序终止(同INT 20H) CS=程序段前缀
1 键盘输入并回显 AL=输入字符
2 显示输出 DL=输出字符
3 异步通迅输入 AL=输入数据
4 异步通迅输出 DL=输出数据
5 打印机输出 DL=输出字符
6 直接控制台I/O DL=FF(输入) AL=输入字符
DL=字符(输出)
7 键盘输入(无回显) AL=输入字符
8 键盘输入(无回显) AL=输入字符
检测Ctrl-Break
9 显示字符串 DS:DX=串地址
'$'结束字符串
0A 键盘输入到缓冲区 DS:DX=缓冲区首地址 (DS:DX+1)=实际输入的字符数
(DS:DX)=缓冲区最大字符数
0B 检验键盘状态 AL=00 有输入
AL=FF 无输入
0C 清除输入缓冲区并 AL=输入功能号
请求指定的输入功能 (1,6,7,8,A)
0D 磁盘复位 清除文件缓冲区
0E 指定当前缺省的磁盘驱动器 DL=驱动器号 0=A,1=B,… AL=驱动器数
0F 打开文件 DS:DX=FCB首地址 AL=00 文件找到
AL=FF 文件未找到
10 关闭文件 DS:DX=FCB首地址 AL=00 目录修改成功
AL=FF 目录中未找到文件
11 查找第一个目录项 DS:DX=FCB首地址 AL=00 找到
AL=FF 未找到
12 查找下一个目录项 DS:DX=FCB首地址 AL=00 找到
(文件中带有*或?) AL=FF 未找到
13 删除文件 DS:DX=FCB首地址 AL=00 删除成功
AL=FF 未找到
14 顺序读 DS:DX=FCB首地址 AL=00 读成功
=01 文件结束,记录中无数据
=02 DTA空间不够
=03 文件结束,记录不完整
15 顺序写 DS:DX=FCB首地址 AL=00 写成功
=01 盘满
=02 DTA空间不够
16 建文件 DS:DX=FCB首地址 AL=00 建立成功
=FF 无磁盘空间
17 文件改名 DS:DX=FCB首地址 AL=00 成功
(DS:DX+1)=旧文件名 AL=FF 未成功
(DS:DX+17)=新文件名
19 取当前缺省磁盘驱动器 AL=缺省的驱动器号 0=A,1=B,2=C,…
1A 置DTA地址 DS:DX=DTA地址
1B 取缺省驱动器FAT信息 AL=每簇的扇区数
DS:BX=FAT标识字节
CX=物理扇区大小
DX=缺省驱动器的簇数
1C 取任一驱动器FAT信息 DL=驱动器号 同上
21 随机读 DS:DX=FCB首地址 AL=00 读成功
=01 文件结束
=02 缓冲区溢出
=03 缓冲区不满
22 随机写 DS:DX=FCB首地址 AL=00 写成功
=01 盘满
=02 缓冲区溢出
23 测定文件大小 DS:DX=FCB首地址 AL=00 成功(文件长度填入FCB)
AL=FF 未找到
24 设置随机记录号 DS:DX=FCB首地址
25 设置中断向量 DS:DX=中断向量
AL=中断类型号
26 建立程序段前缀 DX=新的程序段前缀
27 随机分块读 DS:DX=FCB首地址 AL=00 读成功
CX=记录数 =01 文件结束
=02 缓冲区太小,传输结束
=03 缓冲区不满
28 随机分块写 DS:DX=FCB首地址 AL=00 写成功
CX=记录数 =01 盘满
=02 缓冲区溢出
29 分析文件名 ES:DI=FCB首地址 AL=00 标准文件
DS:SI=ASCIIZ串 =01 多义文件
AL=控制分析标志 =02 非法盘符
2A 取日期 CX=年
DH:DL=月:日(二进制)
2B 设置日期 CX:DH:DL=年:月:日 AL=00 成功
=FF 无效
2C 取时间 CH:CL=时:分
DH:DL=秒:1/100秒
2D 设置时间 CH:CL=时:分 AL=00 成功
DH:DL=秒:1/100秒 =FF 无效
2E 置磁盘自动读写标志 AL=00 关闭标志
AL=01 打开标志
2F 取磁盘缓冲区的首址 ES:BX=缓冲区首址
30 取DOS版本号 AH=发行号,AL=版本
31 结束并驻留 AL=返回码
DX=驻留区大小
33 Ctrl-Break检测 AL=00 取状态 DL=00 关闭Ctrl-Break检测
=01 置状态(DL) =01 打开Ctrl-Break检测
DL=00 关闭检测
=01 打开检测
35 取中断向量 AL=中断类型 ES:BX=中断向量
36 取空闲磁盘空间 DL=驱动器号 成功:AX=每簇扇区数
0=缺省,1=A,2=B,… BX=有效簇数
CX=每扇区字节数
DX=总簇数
失败:AX=FFFF
38 置/取国家信息 DS:DX=信息区首地址 BX=国家码(国际电话前缀码)
AX=错误码
39 建立子目录(MKDIR) DS:DX=ASCIIZ串地址 AX=错误码
3A 删除子目录(RMDIR) DS:DX=ASCIIZ串地址 AX=错误码
3B 改变当前目录(CHDIR) DS:DX=ASCIIZ串地址 AX=错误码
3C 建立文件 DS:DX=ASCIIZ串地址 成功:AX=文件代号
CX=文件属性 错误:AX=错误码
3D 打开文件 DS:DX=ASCIIZ串地址 成功:AX=文件代号
AL=0 读 错误:AX=错误码
=1 写
=3 读/写
3E 关闭文件 BX=文件代号 失败:AX=错误码
3F 读文件或设备 DS:DX=数据缓冲区地址 读成功:
BX=文件代号 AX=实际读入的字节数
CX=读取的字节数 AX=0 已到文件尾
读出错:AX=错误码
40 写文件或设备 DS:DX=数据缓冲区地址 写成功:
BX=文件代号 AX=实际写入的字节数
CX=写入的字节数 写出错:AX=错误码
41 删除文件 DS:DX=ASCIIZ串地址 成功:AX=00
出错:AX=错误码(2,5)
42 移动文件指针 BX=文件代号 成功:DX:AX=新文件指针位置
CX:DX=位移量 出错:AX=错误码
AL=移动方式(0:从文件头绝对位移,1:从当前位置相对移动,2:从文件尾绝对位移)
43 置/取文件属性 DS:DX=ASCIIZ串地址 成功:CX=文件属性
AL=0 取文件属性 失败:CX=错误码
AL=1 置文件属性
CX=文件属性
44 设备文件I/O控制 BX=文件代号 DX=设备信息
AL=0 取状态
=1 置状态DX
=2 读数据
=3 写数据
=6 取输入状态
=7 取输出状态
45 复制文件代号 BX=文件代号1 成功:AX=文件代号2
失败:AX=错误码
46 人工复制文件代号 BX=文件代号1 失败:AX=错误码
CX=文件代号2
47 取当前目录路径名 DL=驱动器号 (DS:SI)=ASCIIZ串
DS:SI=ASCIIZ串地址 失败:AX=出错码
48 分配内存空间 BX=申请内存容量 成功:AX=分配内存首地
失败:BX=最大可用内存
49 释放内容空间 ES=内存起始段地址 失败:AX=错误码
4A 调整已分配的存储块 ES=原内存起始地址 失败:BX=最大可用空间
BX=再申请的容量 AX=错误码
4B 装配/执行程序 DS:DX=ASCIIZ串地址 失败:AX=错误码
ES:BX=参数区首地址
AL=0 装入执行
AL=3 装入不执行
4C 带返回码结束 AL=返回码
4D 取返回代码 AX=返回代码
4E 查找第一个匹配文件 DS:DX=ASCIIZ串地址 AX=出错代码(02,18)
CX=属性
4F 查找下一个匹配文件 DS:DX=ASCIIZ串地址 AX=出错代码(18)
(文件名中带有?或*)
54 取盘自动读写标志 AL=当前标志值
56 文件改名 DS:DX=ASCIIZ串(旧) AX=出错码(03,05,17)
ES:DI=ASCIIZ串(新)
57 置/取文件日期和时间 BX=文件代号 DX:CX=日期和时间
AL=0 读取 失败:AX=错误码
AL=1 设置(DX:CX)
58 取/置分配策略码 AL=0 取码 成功:AX=策略码
AL=1 置码(BX) 失败:AX=错误码
59 取扩充错误码 AX=扩充错误码
BH=错误类型
BL=建议的操作
CH=错误场所
5A 建立临时文件 CX=文件属性 成功:AX=文件代号
DS:DX=ASCIIZ串地址 失败:AX=错误码
5B 建立新文件 CX=文件属性 成功:AX=文件代号
DS:DX=ASCIIZ串地址 失败:AX=错误码
5C 控制文件存取 AL=00封锁 失败:AX=错误码
=01开启
BX=文件代号
CX:DX=文件位移
SI:DI=文件长度
62 取程序段前缀 BX=PSP地址

ASCII码

十进制代码 十六进制代码 MCS 字符或缩写 DEC 多国字符名
ASCII 控制字符 1
0 0 NUL 空字符
1 1 SOH 标题起始 (Ctrl/A)
2 2 STX 文本起始 (Ctrl/B)
3 3 ETX 文本结束 (Ctrl/C)
4 4 EOT 传输结束 (Ctrl/D)
5 5 ENQ 询问 (Ctrl/E)
6 6 ACK 认可 (Ctrl/F)
7 7 BEL 铃 (Ctrl/G)
8 8 BS 退格 (Ctrl/H)
9 9 HT 水平制表栏 (Ctrl/I)
10 0A LF 换行 (Ctrl/J)
11 0B VT 垂直制表栏 (Ctrl/K)
12 0C FF 换页 (Ctrl/L)
13 0D CR 回车 (Ctrl/M)
14 0E SO 移出 (Ctrl/N)
15 0F SI 移入 (Ctrl/O)
16 10 DLE 数据链接丢失 (Ctrl/P)
17 11 DC1 设备控制 1 (Ctrl/Q)
18 12 DC2 设备控制 2 (Ctrl/R)
19 13 DC3 设备控制 3 (Ctrl/S)
20 14 DC4 设备控制 4 (Ctrl/T)
21 15 NAK 否定接受 (Ctrl/U)
22 16 SYN 同步闲置符 (Ctrl/V)
23 17 ETB 传输块结束 (Ctrl/W)
24 18 CAN 取消 (Ctrl/X)
25 19 EM 媒体结束 (Ctrl/Y)
26 1A SUB 替换 (Ctrl/Z)
27 1B ESC 换码符
28 1C FS 文件分隔符
29 1D GS 组分隔符
30 1E RS 记录分隔符
31 1F US 单位分隔符
ASCII 特殊和数字字符
32 20 SP 空格
33 21 ! 感叹号
34 22 " 引号 (双引号)
35 23 # 数字符号
36 24 $ 美元符
37 25 % 百分号
38 26 & 和号
39 27 省略号 (单引号)
40 28 ( 左圆括号
41 29 ) 右圆括号
42 2A * 星号
43 2B + 加号
44 2C , 逗号
45 2D 连字号或减号
46 2E . 句点或小数点
47 2F / 斜杠
48 30 0
49 31 1 1
50 32 2 2
51 33 3 3
52 34 4 4
53 35 5 5
54 36 6 6
55 37 7 7
56 38 8 8
57 39 9 9
58 3A : 冒号
59 3B ; 分号
60 3C < 小于
61 3D = 等于
62 3E > 大于
63 3F ? 问号
ASCII 字母字符
64 40 @ 商业 at 符号
65 41 A 大写字母 A
66 42 B 大写字母 B
67 43 C 大写字母 C
68 44 D 大写字母 D
69 45 E 大写字母 E
70 46 F 大写字母 F
71 47 G 大写字母 G
72 48 H 大写字母 H
73 49 I 大写字母 I
74 4A J 大写字母 J
75 4B K 大写字母 K
76 4C L 大写字母 L
77 4D M 大写字母 M
78 4E N 大写字母 N
79 4F O 大写字母 O
80 50 P 大写字母 P
81 51 Q 大写字母 Q
82 52 R 大写字母 R
83 53 S 大写字母 S
84 54 T 大写字母 T
85 55 U 大写字母 U
86 56 V 大写字母 V
87 57 W 大写字母 W
88 58 X 大写字母 X
89 59 Y 大写字母 Y
90 5A Z 大写字母 Z
91 5B [ 左中括号
92 5C \ 反斜杠
93 5D ] 右中括号
94 5E ^ 音调符号
95 5F _ 下划线
96 60 ` 重音符
97 61 a 小写字母 a
98 62 b 小写字母 b
99 63 c 小写字母 c
100 64 d 小写字母 d
101 65 e 小写字母 e
102 66 f 小写字母 f
103 67 g 小写字母 g
104 68 h 小写字母 h
105 69 i 小写字母 i
106 6A j 小写字母 j
107 6B k 小写字母 k
108 6C l 小写字母 l
109 6D m 小写字母 m
110 6E n 小写字母 n
111 6F o 小写字母 o
112 70 p 小写字母 p
113 71 q 小写字母 q
114 72 r 小写字母 r
115 73 s 小写字母 s
116 74 t 小写字母 t
117 75 u 小写字母 u
118 76 v 小写字母 v
119 77 w 小写字母 w
120 78 x 小写字母 x
121 79 y 小写字母 y
122 7A z 小写字母 z
123 7B { 左大括号
124 7C | 垂直线
125 7D } 右大括号 (ALTMODE)
126 7E ~ 代字号 (ALTMODE)
127 7F DEL 擦掉 (DELETE)
控制字符
128 80 [保留]
129 81 [保留]
130 82 [保留]
131 83 [保留]
132 84 IND 索引
133 85 NEL 下一行
134 86 SSA 被选区域起始
135 87 ESA 被选区域结束
136 88 HTS 水平制表符集
137 89 HTJ 对齐的水平制表符集
138 8A VTS 垂直制表符集
139 8B PLD 部分行向下
140 8C PLU 部分行向上
141 8D RI 反向索引
142 8E SS2 单移 2
143 8F SS3 单移 3
144 90 DCS 设备控制字符串
145 91 PU1 专用 1
146 92 PU2 专用 2
147 93 STS 设置传输状态
148 94 CCH 取消字符
149 95 MW 消息等待
150 96 SPA 保护区起始
151 97 EPA 保护区结束
152 98 [保留]
153 99 [保留]
154 9A [保留]
155 9B CSI 控制序列引导符
156 9C ST 字符串终止符
157 9D OSC 操作系统命令
158 9E PM 秘密消息
159 9F APC 应用程序
其他字符
160 A0 [保留] 2
161 A1 ¡ 反向感叹号
162 A2 ¢ 分币符
163 A3 £ 英磅符
164 A4 [保留] 2
165 A5 ¥ 人民币符
166 A6 [保留] 2
167 A7 § 章节符
168 A8 ¤ 通用货币符号 2
169 A9 © 版权符号
170 AA ª 阴性顺序指示符
171 AB « 左角引号
172 AC [保留] 2
173 AD [保留] 2
174 AE [保留] 2
175 AF [保留] 2
176 B0 ° 温度符
177 B1 ± 加/减号
178 B2 ² 上标 2
179 B3 ³ 上标 3
180 B4 [保留] 2
181 B5 µ 微符
182 B6 段落符,pilcrow
183 B7 · 中点
184 B8 [保留] 2
185 B9 ¹ 上标 1
186 BA º 阳性顺序指示符
187 BB » 右角引号
188 BC ¼ 分数四分之一
189 BD ½ 分数二分之一
190 BE [保留] 2
191 BF ¿ 反向问号
192 C0 À 带重音符的大写字母 A
193 C1 Á 带尖锐重音的大写字母 A
194 C2 Â 带音调符号的大写字母 A
195 C3 Ã 带代字号的大写字母 A
196 C4 Ä 带元音变音 (分音符号) 的大写字母 A
197 C5 Å 带铃声的大写字母 A
198 C6 Æ 大写字母 AE 双重元音
199 C7 Ç 带变音符号的大写字母 C
200 C8 È 带重音符的大写字母 E
201 C9 É 带尖锐重音的大写字母 E
202 CA Ê 带音调符号的大写字母 E
203 CB Ë 带元音变音 (分音符号) 的大写字母 E
204 CC Ì 带重音符的大写字母 I
205 CD Í 带尖锐重音的大写字母 I
206 CE Î 带音调符号的大写字母 I
207 CF Ï 带元音变音 (分音符号) 的大写字母 I
208 D0 [保留] 2
209 D1 Ñ 带代字号的大写字母 N
210 D2 Ò 带重音符的大写字母 O
211 D3 Ó 带尖锐重音的大写字母 O
212 D4 Ô 带音调符号的大写字母 O
213 D5 Õ 带代字号的大写字母 O
214 D6 Ö 带元音变音 (分音符号) 的大写字母 O
215 D7 OE 大写字母 OE 连字 2
216 D8 Ø 带斜杠的大写字母 O
217 D9 Ù 带重音符的大写字母 U
218 DA Ú 带尖锐重音的大写字母 U
219 DB Û 带音调符号的大写字母 U
220 DC Ü 带元音变音 (分音符号) 的大写字母 U
221 DD Y 带元音变音 (分音符号) 的大写字母 Y
222 DE [保留] 2
223 DF ß 德语高调小写字母 s
224 E0 à 带重音符的小写字母 a
225 E1 á 带尖锐重音的小写字母 a
226 E2 â 带音调符号的小写字母 a
227 E3 ã 带代字号的小写字母 a
228 E4 ä 带元音变音 (分音符号) 的小写字母 a
229 E5 å 带铃声的小写字母 a
230 E6 æ 小写字母 ae 双重元音
231 E7 ç 带变音符号的小写字母 c
232 E8 è 带重音符的小写字母 e
233 E9 é 带尖锐重音的小写字母 e
234 EA ê 带音调符号的小写字母 e
235 EB ë 带元音变音 (分音符号) 的小写字母 e
236 EC ì 带重音符的小写字母 i
237 ED í 带尖锐重音的小写字母 i
238 EE î 带音调符号的小写字母 i
239 EF ï 带元音变音 (分音符号) 的小写字母 i
240 F0 [保留] 2
241 F1 ñ 带代字号的小写字母 n
242 F2 ò 带重音符的小写字母 o
243 F3 ó 带尖锐重音的小写字母 o
244 F4 ô 带音调符号的小写字母 o
245 F5 õ 带代字号的小写字母 o
246 F6 ö 带元音变音 (分音符号) 的小写字母 o
247 F7 oe 小写字母 oe 连字 2
248 F8 ø 带斜杠的小写字母 o
249 F9 ù 带重音符的小写字母 u
250 FA ú 带尖锐重音的小写字母 u
251 FB û 带音调符号的小写字母 u
252 FC ü 带元音变音 (分音符号) 的小写字母 u
253 FD ÿ 带元音变音 (分音符号) 的小写字母 y 2
254 FE [保留] 2
255 FF [保留] 2

跳转命令

指 令 描 述 条 件 别 名 相 反 指 令
JC 如果进位位被置位则跳转 进位标志=1 JB,JNAE JNC
JNC 如果进位位没有置位则跳转 进位标志=0 JNB,JAE JC
JZ 如果0标志被置位则跳转 0标志=1 JE JNZ
JNZ 如果0标志没有置位则跳转 0标志=0 JNE JZ
JS 如果符号位被置位则跳转 符号标志=1 JNS
JNS 如果符号位没有被置位则跳转 符号标志=0 JS
JO 如果溢出标志置位则跳转 溢出标志=1 JNO
JNO 如果溢出标志没有置位则跳转 溢出标志=0 JO
JP 如果奇偶校验位被置位则跳转 奇偶校验标志=1 JPE JNP
JPE 如果奇偶校验位为偶校验则跳转 奇偶校验标志=1 JP JPO
JNP 如果奇偶校验位没有被置位则跳转 奇偶校验标志=0 JPO JP
JPO 如果奇偶校验位为奇校验则跳转 奇偶校验标志=0 JNP JPE
JA 如果超过(>)则跳转 进位标志=0,0标志=0 JNBE JNA
JNBE 如果不低于或等于(不 <=)则跳转 进位标志=0,0标志=0 JA JBE
JAE 如果超过或等于(>=)则跳转 进位标志=0 JNC,JNB JNAE
JNB 如果不低于则跳转(不 <) 进位标志=0 JNC,JAE JB
JB 如果低于(<)则跳转 进位标志=1 JC,JNAE JNB
JNAE 如果不超过或等于(不>=)则跳转 进位标志=1 JC,JB JAE
JBE 如果低于或等于(<=)则跳转 进位标志=1或0标志=1 JNA JNBE
JNA 如果不超过(不>)则跳转 进位标志=1或0标志=1 JBE JA
JE 如果相等(=)则跳转 0标志=1 JZ JNE
JNE 如果不相等(<>)则跳转 0标志=0 JNZ JE
JG 如果大于(>)则跳转 符号标志=溢出标志或0标志=0 JNLE JNG
JNLE 如果小于或等于(<=)则跳转 符号标志=溢出标志或0标志=0 JG JLE
JGE 如果大于或等于(>=)则跳转 符号标志=溢出标志 JNL JGE
JNL 如果不小于(不<)则跳转 符号标志=溢出标志 JGE JL
JL 如果小于(<)则跳转 符号标志<>溢出标志 JNGE JNL
JNGE 如果大于或等于(>=)跳转 符号标志<>溢出标志 JL JGE
JLE 如果小于或等于(<=)跳转 符号标志<>溢出标志或0标志=1 JNG JNLE
JNG 如果不大于(不>)则跳转 符号标志<>溢出标志或0标志=1 JLE JG
JE 如果等于(=)则跳转 0标志=1 JZ JNE
JNE 如果不等于(<>)则跳转 0标志=0 JNZ JE

文章来源: zstar.blog.csdn.net,作者:zstar-_,版权归原作者所有,如需转载,请联系作者。

原文链接:zstar.blog.csdn.net/article/details/121406076

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。