-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathPBAR.asm
78 lines (71 loc) · 1.07 KB
/
PBAR.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
70
71
72
73
74
75
76
77
78
10 ORG 100H
20 JP MAIN
30RPTCHR EQU 0BFEEH
40GPF EQU 0BFD0H
50AOUT EQU 0BD09H
60PUTSTR EQU 0BFF1H
70WAITK EQU 0BFCDH
100MAIN: CALL CLS
110 LD A,96
120 LD (WIDTH),A
130 LD A,0
140 LD (COUNT),A
150 LD DE,0101H
160 LD (POSXY),DE
170 CALL PBAR
180 LD DE,0101H
190 LD (POSXY),DE
200 LD A,48
210 LD (COUNT),A
220 CALL PBAR
230 LD HL,LABEL
240 LD B,5
250 LD DE,0208H
260 CALL PUTSTR
270 CALL WAIT
280 RET
980LABEL: DB '50%',13,10
990COUNT: DB 0
1000WIDTH: DB 0
1010POSXY: DB 0,0
1020BUFFER: DEFS 96
1030PBAR: LD A,0FFH
1040 LD HL,BUFFER
1050 LD (HL),A
1060 INC HL
1070 LD A,(WIDTH)
1080 DEC A
1090 DEC A
1100 LD B,A
1110PBAR0: LD A,(COUNT)
1120 CP 0
1130 JP NZ,PBAR1
1140 LD A,81H
1150 JP PBAR2
1160PBAR1: DEC A
1170 LD (COUNT),A
1180 LD A,0FFH
1190PBAR2: LD (HL),A
1200 INC HL
1210 DJNZ PBAR0
1220 LD A,0FFH
1230 LD (HL),A
1240 LD HL,BUFFER
1250 LD A,(WIDTH)
1260 LD B,A
1270 LD DE,(POSXY)
1280 CALL GPF
1290 RET
1600WAIT: CALL WAITK
1610 CP 0
1620 JP Z,WAIT
1630 RET
2000CLS: LD B, 144
2010 LD DE, 0
2020CLS0: LD A, 32
2030 CALL RPTCHR
2040 RET
2050CLLN: LD B,24
2060 LD E,0
2070 JP CLS0