?? serialr.lst
字號:
106 pokr2:
0060 F500 F 107 mov RxPointG,a
0062 F8 108 mov r0,a
0063 E6 109 mov a,@r0
0064 FF 110 mov r7,a
111
0065 D000 112 kbfrd_ok: pop 00h ; get the character back
0067 D0E0 113 pop acc
0069 C3 114 clr c ; clear the carry flag
006A D2AC 115 setb ES
006C 22 116 ret ; return
117
118 ; ***********************************************************************
006D AF00 F 119 in_Rx: mov r7,RxCount
006F 22 120 ret
121
122 ; ***********************************************************************
123 getCharR:
0070 E500 F 124 mov A,RxCount
0072 60FC 125 jz getCharR ; Cekani na prijmuti B
0074 120000 F 126 lcall getkeyR
0077 22 127 ret
128
129 ; ***********************************************************************
130 getWordR:
0078 120000 F 131 lcall getcharR ; Cteni Lo B
007B 8FF0 132 mov B,R7
007D 120000 F 133 lcall getcharR ; Cteni Hi B
0080 EF 134 mov A,R7
0081 FE 135 mov R6,A
0082 AFF0 136 mov R7,B
0084 22 137 ret ; R6-Hi R7-Lo
138
139 ; ***********************************************************************
140 _putWordR: ; R6-Hi R7-Lo
0085 120000 F 141 lcall _putkeyR ; Poslani Lo B
0088 EE 142 mov A,R6
0089 FF 143 mov R7,A
008A 120000 F 144 lcall _putkeyR ; Poslani Hi B
008D 22 145 ret
146
147 ; ***********************************************************************
148
149 Tim_out_Int:
008E C000 150 push 00h ; r0 to stack
0090 E500 F 151 mov a,RxCount ; V bafru je volne
misto
0092 04 152 inc a
0093 B40802 153 cjne a,#VelBafr,Tdal
0096 8010 154 sjmp Tkeyexit ; Bafr je plny, kon
ec
155 Tdal:
MCS-51 MACRO ASSEMBLER SERIALR 12/02/99 PAGE 4
LOC OBJ LINE SOURCE
0098 F500 F 156 mov RxCount,a
009A E500 F 157 mov a,RxPoint ; Rotace bafru
009C 04 158 inc a ;
009D B40002 F 159 cjne a,#RxBafrMax,Tkeyptok
00A0 7400 F 160 mov a,#RxBafrMin ; rotace bafru pret
eceni
161
;
00A2 F8 162 Tkeyptok: mov r0,a ; load the Buffer pointer
00A3 7400 163 mov a,#0 ; get the character
waiting
00A5 F6 164 mov @r0,a ; save the characte
r
00A6 8800 F 165 mov RxPoint,r0 ; save Point
00A8 D000 166 Tkeyexit: pop 00h
00AA 22 167 ret ; reti
168 ; ***********************************************************************
169
170 end
MCS-51 MACRO ASSEMBLER SERIALR 12/02/99 PAGE 5
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E A T T R I B U T E S
_PUTKEYR . . . C ADDR 0000H R PUB SEG=SERIALR_SEG
_PUTWORDR. . . C ADDR 0085H R PUB SEG=SERIALR_SEG
ACC. . . . . . D ADDR 00E0H A
B. . . . . . . D ADDR 00F0H A
DAL. . . . . . C ADDR 0035H R SEG=SERIALR_SEG
ES . . . . . . B ADDR 00A8H.4 A
GETCHARR . . . C ADDR 0070H R PUB SEG=SERIALR_SEG
GETKEYR. . . . C ADDR 0048H R PUB SEG=SERIALR_SEG
GETWORDR . . . C ADDR 0078H R PUB SEG=SERIALR_SEG
GOT_RI . . . . C ADDR 0029H R SEG=SERIALR_SEG
IN_RX. . . . . C ADDR 006DH R PUB SEG=SERIALR_SEG
INIT_BAFR. . . C ADDR 0013H R PUB SEG=SERIALR_SEG
KBFRD_OK . . . C ADDR 0065H R SEG=SERIALR_SEG
KEYEXIT. . . . C ADDR 0045H R SEG=SERIALR_SEG
KEYPTOK. . . . C ADDR 003FH R SEG=SERIALR_SEG
LINKFLG. . . . D ADDR 000BH R PUB SEG=SERIALDATA_SEG
POKR . . . . . C ADDR 0055H R SEG=SERIALR_SEG
POKR2. . . . . C ADDR 0060H R SEG=SERIALR_SEG
RI . . . . . . B ADDR 0098H.0 A
RXBAFR . . . . D ADDR 0000H R SEG=SERIALDATA_SEG
RXBAFRMAX. . . D ADDR 0008H R SEG=SERIALDATA_SEG
RXBAFRMIN. . . D ADDR 0000H R SEG=SERIALDATA_SEG
RXCOUNT. . . . D ADDR 000AH R PUB SEG=SERIALDATA_SEG
RXPOINT. . . . D ADDR 0008H R SEG=SERIALDATA_SEG
RXPOINTG . . . D ADDR 0009H R SEG=SERIALDATA_SEG
SBUF . . . . . D ADDR 0099H A
SERIAL_INT . . C ADDR 001DH R PUB SEG=SERIALR_SEG
SERIALDATA_SEG D SEG 000CH REL=UNIT
SERIALR_SEG. . C SEG 00ABH REL=UNIT
TDAL . . . . . C ADDR 0098H R SEG=SERIALR_SEG
TESTRI . . . . C ADDR 0025H R SEG=SERIALR_SEG
TI . . . . . . B ADDR 0098H.1 A
TIM_OUT_INT. . C ADDR 008EH R PUB SEG=SERIALR_SEG
TKEYEXIT . . . C ADDR 00A8H R SEG=SERIALR_SEG
TKEYPTOK . . . C ADDR 00A2H R SEG=SERIALR_SEG
VELBAFR. . . . NUMB 0008H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE, NO ERRORS FOUND
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -