-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathramtst.as_
executable file
·98 lines (94 loc) · 1.07 KB
/
ramtst.as_
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
LXI H,BEG
CALL 0F818H
LXI H,1
SHLD OLDNUM
LXI D,8000H
LXI B,0E5FFH-8000H
M00: CALL TIMNUM
MOV A,L
STAX D
INX D
DCX B
MOV A,B
ORA C
JNZ M00
LXI H,1
SHLD OLDNUM
LXI D,8000H
LXI B,0E5FFH-8000H
M01: CALL TIMNUM
LDAX D
XRA L
CNZ ERROR
INX D
DCX B
MOV A,B
ORA C
JNZ M01
LXI H,SUCC1
CALL 0F818H
LXI H,1
SHLD OLDNUM
LXI D,8000H
LXI B,0E5FFH-8000H
M02: CALL TIMNUM
MOV A,L
CMA
STAX D
INX D
DCX B
MOV A,B
ORA C
JNZ M02
LXI H,1
SHLD OLDNUM
LXI D,8000H
LXI B,0E5FFH-8000H
M03: CALL TIMNUM
LDAX D
CMA
XRA L
CNZ ERROR
INX D
DCX B
MOV A,B
ORA C
JNZ M03
LXI H,SUCC
CALL 0F818H
JMP 0F86CH
ERROR:
PUSH B
MOV B,A
LXI H,ERR
CALL 0F818H
MOV A,D
CALL 0F815H
MOV A,E
CALL 0F815H
LXI H,ERR1
CALL 0F818H
MOV A,B
CALL 0F815H
POP B
RET
TIMNUM:
LHLD OLDNUM
PUSH B
MVI C,16
TIM0: MOV A,H
DAD H
ANI 60H
JPE $+4
INX H
DCR C
JNZ TIM0
SHLD OLDNUM
POP B
RET
BEG: DB 'ôåóô ïúõ',0
ERR: DB 0DH,0AH,'ïûéâëá ðï áäòåóõ ',0
ERR1: DB 0DH,0AH,'XOR=',0
SUCC: DB 0DH,0AH,'ëïîåã ëïîôòïìñ',0DH,0AH,0
SUCC1:DB 0DH,0AH,'ëïîåã 1-çï ðòïèïäá',0
OLDNUM: DS 2