-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwill.inc
118 lines (100 loc) · 1.44 KB
/
will.inc
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
$NOLIST
CSEG
Wait10us:
mov R0,#18
djnz R0,$
ret;
Average_AD0DAT3 :
Load_x(0)
mov R5, #100
Sum_loop0:
mov y+3, #0
mov y+2, #0
mov y+1, #0
mov y+0, AD0DAT3
lcall add32
lcall Wait10us
djnz R5, Sum_loop0
load_y(100)
lcall div32
ret
GeString:
mov R0, #buffer
mov R1, #15D
GSLoop:
lcall getchar
push acc
clr C
subb a, #10H
pop acc
jc GSDone
MOV @R0, A
inc R0
djnz R1, GSSkip
mov a, #0xFF
mov buffer+0,a
mov buffer+1,a
mov buffer+2,a
mov buffer+3,a
mov buffer+4,a
sjmp GSDone
GSSkip:
SJMP GSLoop
GSDone:
clr a
mov @R0, a
ret
getchar_w:
jnb RI, getchar_w
clr RI
mov a, SBUF
ret
;---------------------------------;
; Send a BCD number to PuTTY ;
;---------------------------------;
Send_BCD mac
push ar0
mov r0, %0
lcall ?Send_BCD
pop ar0
endmac
?Send_BCD:
push acc
; Write most significant digit
mov a, r0
swap a
anl a, #0fh
orl a, #30h
lcall putchar
; write least significant digit
mov a, r0
anl a, #0fh
orl a, #30h
lcall putchar
pop acc
ret
Wait_Sec:
Wait_Milli_Seconds(#250)
Wait_Milli_Seconds(#250)
Wait_Milli_Seconds(#250)
Wait_Milli_Seconds(#250)
ret
; Send a character using the serial port
putchar_w:
jnb TI, putchar_w
clr TI
mov SBUF, a
ret
; Send a constant-zero-terminated string using the serial port
SendString:
clr A
movc A, @A+DPTR
jz SendStringDone
lcall putchar
inc DPTR
sjmp SendString
SendStringDone:
ret
New_Line:
DB '\n', 0
$LIST