-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathr1.asm
69 lines (49 loc) · 1.13 KB
/
r1.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
assume cs:code,ss:stack,ds:data
;Q1:设计一个 程序 程序处理 的字符串以 0 结尾 并显示在屏幕上
;Q2: 在屏幕上显示4行字符串 每一行需要换行输出
data segment
db '1) restart pc ',0
db '2) start system ',0
db '3) show clock ',0
db '4) set clock ',0
data ends
stack segment stack
db 128 dup(0)
stack ends
code segment
start: mov ax,stack
mov ss, ax
mov sp,128
call init_start
mov si,0
mov di,160*10 + 30*2
call showString
mov di,160*11 +30*2
inc si
call showString
mov di,160*12 +30*2
inc si
call showString
mov di,160*13 +30*2
inc si
call showString
mov ax,4C00H
int 21H
;================================================
showString: mov cx,0
show: mov cl,ds:[si]
jcxz nextline
mov ch,00000010B ;设置颜色
mov es:[di],cx
inc si
add di,2
jmp showString
nextline: ret
;================================================
init_start: mov ax,data
mov ds,ax
mov ax,0B800H
mov es,ax ;设置显示段
ret
code ends
end start