-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbooth.asm
99 lines (89 loc) · 984 Bytes
/
booth.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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
Org 0000H
MOV R0,#30H
MOV 01H,#0011B
MOV 02H,#0010b
MOV A,02H
ANL A,#01H
MOV 03H,A
MOV A,#00H
CLR C
SUBB A,03H
JC COMPL
CJNE A,#01H,ZERO
SJMP HERE
ZERO:MOV @R0,#00H
INC R0
SJMP HERE
COMPL:MOV A,01H
CPL A
ANL A,#0FH
ADD A,#01H
MOV @R0,A
INC R0
HERE: NOP
MOV R5,#03H
MOV 20H,02H
MOV A,20H
LOOP:
ANL A,#01H
MOV 25H,A
MOV A,20H
ANL A,#02H
CLR C
RRC A
MOV 26H,A
MOV A,25H
CLR C
SUBB A,26H
JC COMPL2
CJNE A,#01H,ZERO2
CJNE A,#00H,SAME2
SJMP HERE2
ZERO2:MOV @R0,#00H
INC R0
SJMP HERE2
SAME2:MOV @R0,01H
INC R0
SJMP HERE2
COMPL2:MOV A,01H
CPL A
ANL A,#0FH
ADD A,#01H
MOV @R0,A
INC R0
HERE2: NOP
CLR C
MOV A,20H
RRC A
MOV 20H,A
DJNZ R5,LOOP
MOV R5,#04H
MOV R0,#30H
LOOP2:CLR C
MOV A,@R0
SUBB A,#07H
JNC SETT
SJMP HERE3
SETT: MOV A,@R0
ORL A,#0F0H
MOV @R0,A
HERE3: NOP
INC R0
DJNZ R5,LOOP2
MOV R0,#30H
MOV R5,#04H
MOV R6,#00H
FINAL: INC R0
INC R6
MOV 07H,06H
MOV A,@R0
SHIFT:CLR C
RLC A
DJNZ R7,SHIFT
MOV @R0,A
DJNZ R5,FINAL
MOV A,30H
ADD A,31H
ADD A,32H
ADD A,33H
END