@@ -14,9 +14,13 @@ Start:
14
14
int 10h ; 清屏
15
15
16
16
PRINT_IN_POS hint_all , hint_all_len , 0 , 0
17
+ mov ah , 0
18
+ int 16h
19
+ cmp al , 27 ; 按下ESC
20
+ je QuitUsrProg ; 直接退出
17
21
18
22
PRINT_IN_POS hint0 , hint_len , 2 , 0
19
- mov ah , 00h ; 系统调用功能号
23
+ mov ah , 00h ; 系统调用功能号ah=00h,显示OUCH
20
24
int 21h
21
25
mov ah , 0
22
26
int 16h
28
32
mov es , ax ; es=cs
29
33
mov dx , upper_lower ; es:dx=串地址
30
34
PRINT_IN_POS upper_lower , 14 , 3 , 0
31
- mov ah , 01h ; 系统调用功能号
35
+ mov ah , 01h ; 系统调用功能号ah=01h,大写转小写
32
36
int 21h
33
37
PRINT_IN_POS upper_lower , 14 , 4 , 0
34
38
mov ah , 0
40
44
mov ax , cs
41
45
mov es , ax ; es=cs
42
46
mov dx , upper_lower ; es:dx=串地址
43
- mov ah , 02h ; 系统调用功能号
47
+ mov ah , 02h ; 系统调用功能号ah=02h,小写转大写
44
48
int 21h
45
49
PRINT_IN_POS upper_lower , 14 , 5 , 0
46
50
mov ah , 0
@@ -49,16 +53,29 @@ Start:
49
53
je QuitUsrProg ; 直接退出
50
54
51
55
PRINT_IN_POS hint3 , hint_len , 2 , 0
52
- mov ah , 03h ; 系统调用功能号
53
- int 21h
56
+ mov ax , cs
57
+ mov es , ax ; es=cs
58
+ mov dx , number_buf
59
+ mov ah , 03h ; 系统调用功能号ah=03h,atoi
60
+ int 21h ; ax=数值
61
+ mov bx , 1
62
+ add bx , ax ; bx=ax+1,然后使用下一个系统调用来检查其结果
54
63
mov ah , 0
55
64
int 16h
56
65
cmp al , 27 ; 按下ESC
57
66
je QuitUsrProg ; 直接退出
58
67
59
68
PRINT_IN_POS hint4 , hint_len , 2 , 0
60
- mov ah , 04h
69
+ mov ax , cs
70
+ mov es , ax ; es=cs
71
+ mov dx , number_buf
72
+ mov ah , 04h ; 系统调用功能号ah=04h,itoa
73
+ int 21h ; es:dx=转换后的数字字符串
74
+ mov ch , 6
75
+ mov cl , 0
76
+ mov ah , 05h
61
77
int 21h
78
+
62
79
mov ah , 0
63
80
int 16h
64
81
cmp al , 27 ; 按下ESC
70
87
mov dx , test_message1 ; es:dx=串地址
71
88
mov ch , 19 ; 行号
72
89
mov cl , 0 ; 列号
73
- mov ah , 05h ; 系统调用功能号
90
+ mov ah , 05h ; 系统调用功能号ah=05h
74
91
int 21h ; 显示第一条字符串
75
92
mov dx , test_message2
76
93
mov ch , 20
@@ -99,5 +116,6 @@ DataArea:
99
116
100
117
upper_lower db 'AbCdEfGhIjKlMn' , 0 ; 字符串以'\0'结尾
101
118
119
+ number_buf db '12345' , 0 ; 字符串以'\0'结尾
102
120
test_message1 db 'This is a test message,'
103
121
test_message2 db 'printed using `ah=05h` and `int 21h`.'
0 commit comments