ctr_mcu/branches/0.10(X3)/i2c_mcu.prn
N2232 dc469bd4c6 0.10のX3対応版を登録
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@193 013db118-44a6-b54f-8bf7-843cb86687b1
2010-06-23 07:16:15 +00:00

2215 lines
162 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

78K0R Assembler W1.31 Date:13 Jun 2010 Page: 1
Command: -c9F0104 -yC:\Program Files\NEC Electronics Tools\DEV -_msgoff inter_asm\i2c_mcu.asm
Para-file:
In-file: inter_asm\i2c_mcu.asm
Obj-file: i2c_mcu.rel
Prn-file: i2c_mcu.prn
Assemble list
ALNO STNO ADRS OBJECT M I SOURCE STATEMENT
1 1 ; 78K0R C Compiler V2.10 Assembler Source Date:13 Jun 2010 Time:19:31:23
2 2
3 3 ; Command : -c9F0104 -yC:\Program Files\NEC Electronics Tools\DEV -_msgoff -i
4 4 ; renge -iC:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\
5 5 ; V1.20\inc78k0r -ms -qvjl3wt -sainter_asm -zp -no i2c_mcu.c
6 6 ; In-file : i2c_mcu.c
7 7 ; Asm-file : inter_asm\i2c_mcu.asm
8 8 ; Para-file :
9 9
10 10 $PROCESSOR(9F0104)
11 11 $DEBUG
12 12 $NODEBUGA
13 13 $KANJICODE SJIS
14 14 $TOL_INF 03FH, 0210H, 02H, 00H, 00H, 00H, 00H
15 15
16 16 $DGS FIL_NAM, .file, 0100H, 0FFFEH, 03FH, 067H, 01H, 00H
17 17 $DGS AUX_FIL, i2c_mcu.c
18 18 $DGS MOD_NAM, i2c_mcu, 00H, 0FFFEH, 00H, 077H, 00H, 00H
19 19 $DGS SEC_NAM, @@BITS, U, U, 00H, 078H, 00H, 00H
20 20 $DGS SEC_NAM, @@CNST, U, U, 00H, 078H, 00H, 00H
21 21 $DGS SEC_NAM, @@R_INIT, U, U, 00H, 078H, 00H, 00H
22 22 $DGS SEC_NAM, @@INIT, U, U, 00H, 078H, 00H, 00H
23 23 $DGS SEC_NAM, @@DATA, U, U, 00H, 078H, 00H, 00H
24 24 $DGS SEC_NAM, @@R_INIS, U, U, 00H, 078H, 00H, 00H
25 25 $DGS SEC_NAM, @@INIS, U, U, 00H, 078H, 00H, 00H
26 26 $DGS SEC_NAM, @@DATS, U, U, 00H, 078H, 00H, 00H
27 27 $DGS SEC_NAM, @@CNSTL, U, U, 00H, 078H, 00H, 00H
28 28 $DGS SEC_NAM, @@RLINIT, U, U, 00H, 078H, 00H, 00H
29 29 $DGS SEC_NAM, @@INITL, U, U, 00H, 078H, 00H, 00H
30 30 $DGS SEC_NAM, @@DATAL, U, U, 00H, 078H, 00H, 00H
31 31 $DGS SEC_NAM, @@CALT, U, U, 00H, 078H, 00H, 00H
32 32 $DGS SEC_NAM, ROM_CODE, U, U, 00H, 078H, 00H, 00H
33 33 $DGS SEC_NAM, @@CODEL, U, U, 00H, 078H, 00H, 00H
34 34 $DGS SEC_NAM, @@BASE, U, U, 00H, 078H, 00H, 00H
35 35 $DGS LAB_SYM, bs_F0085, U, U, 00H, 06H, 00H, 00H
36 36 $DGS LAB_SYM, es_F0085, U, U, 00H, 06H, 00H, 00H
37 37 $DGS LAB_SYM, bs_S0086, U, U, 00H, 06H, 00H, 00H
38 38 $DGS LAB_SYM, es_S0086, U, U, 00H, 06H, 00H, 00H
39 39 $DGS LAB_SYM, bs_S0087, U, U, 00H, 06H, 00H, 00H
40 40 $DGS LAB_SYM, es_S0087, U, U, 00H, 06H, 00H, 00H
41 41 $DGS LAB_SYM, bs_F0084, U, U, 00H, 06H, 00H, 00H
42 42 $DGS LAB_SYM, es_F0084, U, U, 00H, 06H, 00H, 00H
43 43 $DGS STA_SYM, _lpf_coeff, U, U, 05002H, 03H, 01H, 03H
44 44 $DGS AUX_STR, 00H, 00H, 02FH, 02FH, 00H, 00H, 00H, 00H
45 45 $DGS GLV_SYM, _nop8, U, U, 01H, 026H, 01H, 02H
46 46 $DGS AUX_FUN, 00H, U, U, 023H, 00H, 00H
47 47 $DGS BEG_FUN, ??bf_nop8, U, U, 00H, 065H, 01H, 00H
48 48 $DGS AUX_BEG, 04CH, 00H, 023H
49 49 $DGS END_FUN, ??ef_nop8, U, U, 00H, 065H, 01H, 00H
50 50 $DGS AUX_END, 02H
51 51 $DGS GLV_SYM, _iic_mcu_read_a_byte, U, U, 0CH, 026H, 01H, 02H
52 52 $DGS AUX_FUN, 00H, U, U, 03CH, 00H, 00H
53 53 $DGS BEG_FUN, ??bf_iic_mcu_read_a_byte, U, U, 00H, 065H, 01H, 00H
54 54 $DGS AUX_BEG, 057H, 04H, 02AH
55 55 $DGS FUN_ARG, _SLA, 02H, 0FFFFH, 0CH, 09H, 00H, 00H
56 56 $DGS FUN_ARG, _adrs, 0AH, 0FFFFH, 0CH, 09H, 00H, 00H
57 57 $DGS AUT_VAR, _dat, 01H, 0FFFFH, 0CH, 01H, 00H, 00H
58 58 $DGS BEG_BLK, ??bb00_iic_mcu_read_a_byte, U, U, 00H, 064H, 01H, 00H
59 59 $DGS AUX_BEG, 05H, 00H, 02EH
60 60 $DGS END_BLK, ??eb00_iic_mcu_read_a_byte, U, U, 00H, 064H, 01H, 00H
61 61 $DGS AUX_END, 0DH
62 62 $DGS BEG_BLK, ??bb01_iic_mcu_read_a_byte, U, U, 00H, 064H, 01H, 00H
63 63 $DGS AUX_BEG, 010H, 00H, 032H
64 64 $DGS END_BLK, ??eb01_iic_mcu_read_a_byte, U, U, 00H, 064H, 01H, 00H
65 65 $DGS AUX_END, 012H
66 66 $DGS BEG_BLK, ??bb02_iic_mcu_read_a_byte, U, U, 00H, 064H, 01H, 00H
67 67 $DGS AUX_BEG, 019H, 00H, 036H
68 68 $DGS END_BLK, ??eb02_iic_mcu_read_a_byte, U, U, 00H, 064H, 01H, 00H
69 69 $DGS AUX_END, 01DH
70 70 $DGS BEG_BLK, ??bb03_iic_mcu_read_a_byte, U, U, 00H, 064H, 01H, 00H
71 71 $DGS AUX_BEG, 030H, 00H, 00H
72 72 $DGS END_BLK, ??eb03_iic_mcu_read_a_byte, U, U, 00H, 064H, 01H, 00H
73 73 $DGS AUX_END, 032H
74 74 $DGS END_FUN, ??ef_iic_mcu_read_a_byte, U, U, 00H, 065H, 01H, 00H
75 75 $DGS AUX_END, 039H
76 76 $DGS GLV_SYM, _iic_mcu_read, U, U, 0CH, 026H, 01H, 02H
77 77 $DGS AUX_FUN, 00H, U, U, 05FH, 00H, 00H
78 78 $DGS BEG_FUN, ??bf_iic_mcu_read, U, U, 00H, 065H, 01H, 00H
79 79 $DGS AUX_BEG, 09EH, 02H, 045H
80 80 $DGS FUN_ARG, _slave, 00H, 0FFFFH, 0CH, 09H, 00H, 00H
81 81 $DGS FUN_ARG, _adrs, 08H, 0FFFFH, 0CH, 09H, 00H, 00H
82 82 $DGS FUN_ARG, _len, 0AH, 0FFFFH, 0CH, 09H, 00H, 00H
83 83 $DGS FUN_ARG, _dest, 0CH, 0FFFFH, 0CH, 09H, 01H, 01H
84 84 $DGS AUX_STR, 00H, 00H, 02H, 00H, 00H, 00H, 00H, 01H
85 85 $DGS BEG_BLK, ??bb00_iic_mcu_read, U, U, 00H, 064H, 01H, 00H
86 86 $DGS AUX_BEG, 06H, 00H, 049H
87 87 $DGS END_BLK, ??eb00_iic_mcu_read, U, U, 00H, 064H, 01H, 00H
88 88 $DGS AUX_END, 0EH
89 89 $DGS BEG_BLK, ??bb01_iic_mcu_read, U, U, 00H, 064H, 01H, 00H
90 90 $DGS AUX_BEG, 010H, 00H, 04DH
91 91 $DGS END_BLK, ??eb01_iic_mcu_read, U, U, 00H, 064H, 01H, 00H
92 92 $DGS AUX_END, 012H
93 93 $DGS BEG_BLK, ??bb02_iic_mcu_read, U, U, 00H, 064H, 01H, 00H
94 94 $DGS AUX_BEG, 020H, 00H, 051H
95 95 $DGS END_BLK, ??eb02_iic_mcu_read, U, U, 00H, 064H, 01H, 00H
96 96 $DGS AUX_END, 023H
97 97 $DGS BEG_BLK, ??bb03_iic_mcu_read, U, U, 00H, 064H, 01H, 00H
98 98 $DGS AUX_BEG, 033H, 00H, 053H
99 99 $DGS BEG_BLK, ??bb04_iic_mcu_read, U, U, 00H, 064H, 01H, 00H
100 100 $DGS AUX_BEG, 035H, 00H, 057H
101 101 $DGS END_BLK, ??eb04_iic_mcu_read, U, U, 00H, 064H, 01H, 00H
102 102 $DGS AUX_END, 037H
103 103 $DGS BEG_BLK, ??bb05_iic_mcu_read, U, U, 00H, 064H, 01H, 00H
104 104 $DGS AUX_BEG, 03BH, 00H, 00H
105 105 $DGS END_BLK, ??eb05_iic_mcu_read, U, U, 00H, 064H, 01H, 00H
106 106 $DGS AUX_END, 03DH
107 107 $DGS END_BLK, ??eb03_iic_mcu_read, U, U, 00H, 064H, 01H, 00H
108 108 $DGS AUX_END, 041H
109 109 $DGS END_FUN, ??ef_iic_mcu_read, U, U, 00H, 065H, 01H, 00H
110 110 $DGS AUX_END, 049H
111 111 $DGS GLV_SYM, _iic_mcu_write_a_byte, U, U, 0CH, 026H, 01H, 02H
112 112 $DGS AUX_FUN, 00H, U, U, 074H, 00H, 00H
113 113 $DGS BEG_FUN, ??bf_iic_mcu_write_a_byte, U, U, 00H, 065H, 01H, 00H
114 114 $DGS AUX_BEG, 0F2H, 02H, 066H
115 115 $DGS FUN_ARG, _SLA, 00H, 0FFFFH, 0CH, 09H, 00H, 00H
116 116 $DGS FUN_ARG, _adrs, 08H, 0FFFFH, 0CH, 09H, 00H, 00H
117 117 $DGS FUN_ARG, _dat, 0AH, 0FFFFH, 0CH, 09H, 00H, 00H
118 118 $DGS BEG_BLK, ??bb00_iic_mcu_write_a_byte, U, U, 00H, 064H, 01H, 00H
119 119 $DGS AUX_BEG, 04H, 00H, 06AH
120 120 $DGS END_BLK, ??eb00_iic_mcu_write_a_byte, U, U, 00H, 064H, 01H, 00H
121 121 $DGS AUX_END, 0CH
122 122 $DGS BEG_BLK, ??bb01_iic_mcu_write_a_byte, U, U, 00H, 064H, 01H, 00H
123 123 $DGS AUX_BEG, 0EH, 00H, 06EH
124 124 $DGS END_BLK, ??eb01_iic_mcu_write_a_byte, U, U, 00H, 064H, 01H, 00H
125 125 $DGS AUX_END, 010H
126 126 $DGS BEG_BLK, ??bb02_iic_mcu_write_a_byte, U, U, 00H, 064H, 01H, 00H
127 127 $DGS AUX_BEG, 01AH, 00H, 00H
128 128 $DGS END_BLK, ??eb02_iic_mcu_write_a_byte, U, U, 00H, 064H, 01H, 00H
129 129 $DGS AUX_END, 01DH
130 130 $DGS END_FUN, ??ef_iic_mcu_write_a_byte, U, U, 00H, 065H, 01H, 00H
131 131 $DGS AUX_END, 024H
132 132 $DGS GLV_SYM, _iic_mcu_write, U, U, 0CH, 026H, 01H, 02H
133 133 $DGS AUX_FUN, 00H, U, U, 097H, 00H, 00H
134 134 $DGS BEG_FUN, ??bf_iic_mcu_write, U, U, 00H, 065H, 01H, 00H
135 135 $DGS AUX_BEG, 0129H, 02H, 07DH
136 136 $DGS FUN_ARG, _slave, 00H, 0FFFFH, 0CH, 09H, 00H, 00H
137 137 $DGS FUN_ARG, _adrs, 08H, 0FFFFH, 0CH, 09H, 00H, 00H
138 138 $DGS FUN_ARG, _len, 0AH, 0FFFFH, 0CH, 09H, 00H, 00H
139 139 $DGS FUN_ARG, _src, 0CH, 0FFFFH, 01H, 09H, 01H, 01H
140 140 $DGS AUX_STR, 00H, 00H, 02H, 00H, 00H, 00H, 00H, 01H
141 141 $DGS BEG_BLK, ??bb00_iic_mcu_write, U, U, 00H, 064H, 01H, 00H
142 142 $DGS AUX_BEG, 05H, 00H, 081H
143 143 $DGS END_BLK, ??eb00_iic_mcu_write, U, U, 00H, 064H, 01H, 00H
144 144 $DGS AUX_END, 0DH
145 145 $DGS BEG_BLK, ??bb01_iic_mcu_write, U, U, 00H, 064H, 01H, 00H
146 146 $DGS AUX_BEG, 0FH, 00H, 085H
147 147 $DGS END_BLK, ??eb01_iic_mcu_write, U, U, 00H, 064H, 01H, 00H
148 148 $DGS AUX_END, 011H
149 149 $DGS BEG_BLK, ??bb02_iic_mcu_write, U, U, 00H, 064H, 01H, 00H
150 150 $DGS AUX_BEG, 020H, 00H, 089H
151 151 $DGS END_BLK, ??eb02_iic_mcu_write, U, U, 00H, 064H, 01H, 00H
152 152 $DGS AUX_END, 024H
153 153 $DGS BEG_BLK, ??bb03_iic_mcu_write, U, U, 00H, 064H, 01H, 00H
154 154 $DGS AUX_BEG, 028H, 00H, 08BH
155 155 $DGS BEG_BLK, ??bb04_iic_mcu_write, U, U, 00H, 064H, 01H, 00H
156 156 $DGS AUX_BEG, 02FH, 00H, 091H
157 157 $DGS END_BLK, ??eb04_iic_mcu_write, U, U, 00H, 064H, 01H, 00H
158 158 $DGS AUX_END, 030H
159 159 $DGS END_BLK, ??eb03_iic_mcu_write, U, U, 00H, 064H, 01H, 00H
160 160 $DGS AUX_END, 03EH
161 161 $DGS BEG_BLK, ??bb05_iic_mcu_write, U, U, 00H, 064H, 01H, 00H
162 162 $DGS AUX_BEG, 040H, 00H, 00H
163 163 $DGS END_BLK, ??eb05_iic_mcu_write, U, U, 00H, 064H, 01H, 00H
164 164 $DGS AUX_END, 04AH
165 165 $DGS END_FUN, ??ef_iic_mcu_write, U, U, 00H, 065H, 01H, 00H
166 166 $DGS AUX_END, 04CH
167 167 $DGS GLV_SYM, _int_dma1, U, U, 0E001H, 026H, 01H, 02H
168 168 $DGS AUX_FUN, 00H, U, U, 0AAH, 00H, 00H
169 169 $DGS BEG_FUN, ??bf_int_dma1, U, U, 00H, 065H, 01H, 00H
170 170 $DGS AUX_BEG, 0184H, 016H, 09CH
171 171 $DGS REG_VAR, _i, 0103H, 0FFFFH, 010DH, 04H, 00H, 00H
172 172 $DGS BEG_BLK, ??bb00_int_dma1, U, U, 00H, 064H, 01H, 00H
173 173 $DGS AUX_BEG, 09H, 00H, 09EH
174 174 $DGS BEG_BLK, ??bb01_int_dma1, U, U, 00H, 064H, 01H, 00H
175 175 $DGS AUX_BEG, 0BH, 00H, 0A4H
176 176 $DGS END_BLK, ??eb01_int_dma1, U, U, 00H, 064H, 01H, 00H
177 177 $DGS AUX_END, 0DH
178 178 $DGS END_BLK, ??eb00_int_dma1, U, U, 00H, 064H, 01H, 00H
179 179 $DGS AUX_END, 0EH
180 180 $DGS BEG_BLK, ??bb02_int_dma1, U, U, 00H, 064H, 01H, 00H
181 181 $DGS AUX_BEG, 011H, 00H, 00H
182 182 $DGS END_BLK, ??eb02_int_dma1, U, U, 00H, 064H, 01H, 00H
183 183 $DGS AUX_END, 033H
184 184 $DGS END_FUN, ??ef_int_dma1, U, U, 00H, 065H, 01H, 00H
185 185 $DGS AUX_END, 036H
186 186 $DGS GLV_SYM, _int_iic10, U, U, 0E001H, 026H, 01H, 02H
187 187 $DGS AUX_FUN, 00H, U, U, 0B8H, 00H, 00H
188 188 $DGS BEG_FUN, ??bf_int_iic10, U, U, 00H, 065H, 01H, 00H
189 189 $DGS AUX_BEG, 01C4H, 016H, 0AEH
190 190 $DGS BEG_BLK, ??bb00_int_iic10, U, U, 00H, 064H, 01H, 00H
191 191 $DGS AUX_BEG, 04H, 00H, 0B2H
192 192 $DGS END_BLK, ??eb00_int_iic10, U, U, 00H, 064H, 01H, 00H
193 193 $DGS AUX_END, 09H
194 194 $DGS BEG_BLK, ??bb01_int_iic10, U, U, 00H, 064H, 01H, 00H
195 195 $DGS AUX_BEG, 0EH, 00H, 00H
196 196 $DGS END_BLK, ??eb01_int_iic10, U, U, 00H, 064H, 01H, 00H
197 197 $DGS AUX_END, 030H
198 198 $DGS END_FUN, ??ef_int_iic10, U, U, 00H, 065H, 01H, 00H
199 199 $DGS AUX_END, 033H
200 200 $DGS STA_SYM, _iic_mcu_call_slave, U, U, 0CH, 03H, 01H, 02H
201 201 $DGS AUX_FUN, 00H, U, U, 0C3H, 00H, 00H
202 202 $DGS BEG_FUN, ??bf_iic_mcu_call_slave, U, U, 00H, 065H, 01H, 00H
203 203 $DGS AUX_BEG, 0201H, 02H, 0BDH
204 204 $DGS REG_PAR, _slave, 06H, 0FFFFH, 010CH, 011H, 00H, 00H
205 205 $DGS BEG_BLK, ??bb00_iic_mcu_call_slave, U, U, 00H, 064H, 01H, 00H
206 206 $DGS AUX_BEG, 06H, 00H, 00H
207 207 $DGS END_BLK, ??eb00_iic_mcu_call_slave, U, U, 00H, 064H, 01H, 00H
208 208 $DGS AUX_END, 09H
209 209 $DGS END_FUN, ??ef_iic_mcu_call_slave, U, U, 00H, 065H, 01H, 00H
210 210 $DGS AUX_END, 0CH
211 211 $DGS STA_SYM, _iic_mcu_send_a_byte, U, U, 0CH, 03H, 01H, 02H
212 212 $DGS AUX_FUN, 00H, U, U, 0D2H, 00H, 00H
213 213 $DGS BEG_FUN, ??bf_iic_mcu_send_a_byte, U, U, 00H, 065H, 01H, 00H
214 214 $DGS AUX_BEG, 0215H, 02H, 0C8H
215 215 $DGS REG_PAR, _dat, 06H, 0FFFFH, 010CH, 011H, 00H, 00H
216 216 $DGS BEG_BLK, ??bb00_iic_mcu_send_a_byte, U, U, 00H, 064H, 01H, 00H
217 217 $DGS AUX_BEG, 06H, 00H, 0CCH
218 218 $DGS END_BLK, ??eb00_iic_mcu_send_a_byte, U, U, 00H, 064H, 01H, 00H
219 219 $DGS AUX_END, 08H
220 220 $DGS BEG_BLK, ??bb01_iic_mcu_send_a_byte, U, U, 00H, 064H, 01H, 00H
221 221 $DGS AUX_BEG, 0AH, 00H, 00H
222 222 $DGS END_BLK, ??eb01_iic_mcu_send_a_byte, U, U, 00H, 064H, 01H, 00H
223 223 $DGS AUX_END, 0DH
224 224 $DGS END_FUN, ??ef_iic_mcu_send_a_byte, U, U, 00H, 065H, 01H, 00H
225 225 $DGS AUX_END, 0FH
226 226 $DGS STA_SYM, _iic_mcu_send_st, U, U, 01H, 03H, 01H, 02H
227 227 $DGS AUX_FUN, 00H, U, U, 0D8H, 00H, 00H
228 228 $DGS BEG_FUN, ??bf_iic_mcu_send_st, U, U, 00H, 065H, 01H, 00H
229 229 $DGS AUX_BEG, 022CH, 00H, 0D8H
230 230 $DGS END_FUN, ??ef_iic_mcu_send_st, U, U, 00H, 065H, 01H, 00H
231 231 $DGS AUX_END, 016H
232 232 $DGS STA_SYM, _iic_mcu_send_re_st, U, U, 01H, 03H, 01H, 02H
233 233 $DGS AUX_FUN, 00H, U, U, 0DEH, 00H, 00H
234 234 $DGS BEG_FUN, ??bf_iic_mcu_send_re_st, U, U, 00H, 065H, 01H, 00H
235 235 $DGS AUX_BEG, 0249H, 00H, 0DEH
236 236 $DGS END_FUN, ??ef_iic_mcu_send_re_st, U, U, 00H, 065H, 01H, 00H
237 237 $DGS AUX_END, 022H
238 238 $DGS STA_SYM, _iic_mcu_send_sp, U, U, 01H, 03H, 01H, 02H
239 239 $DGS AUX_FUN, 00H, U, U, 0E4H, 00H, 00H
240 240 $DGS BEG_FUN, ??bf_iic_mcu_send_sp, U, U, 00H, 065H, 01H, 00H
241 241 $DGS AUX_BEG, 0273H, 00H, 0E4H
242 242 $DGS END_FUN, ??ef_iic_mcu_send_sp, U, U, 00H, 065H, 01H, 00H
243 243 $DGS AUX_END, 023H
244 244 $DGS GLV_SYM, _iic_mcu_start, U, U, 01H, 026H, 01H, 02H
245 245 $DGS AUX_FUN, 00H, U, U, 0F2H, 00H, 00H
246 246 $DGS BEG_FUN, ??bf_iic_mcu_start, U, U, 00H, 065H, 01H, 00H
247 247 $DGS AUX_BEG, 029EH, 00H, 0E8H
248 248 $DGS BEG_BLK, ??bb00_iic_mcu_start, U, U, 00H, 064H, 01H, 00H
249 249 $DGS AUX_BEG, 06H, 00H, 0ECH
250 250 $DGS END_BLK, ??eb00_iic_mcu_start, U, U, 00H, 064H, 01H, 00H
251 251 $DGS AUX_END, 06H
252 252 $DGS BEG_BLK, ??bb01_iic_mcu_start, U, U, 00H, 064H, 01H, 00H
253 253 $DGS AUX_BEG, 02AH, 00H, 00H
254 254 $DGS END_BLK, ??eb01_iic_mcu_start, U, U, 00H, 064H, 01H, 00H
255 255 $DGS AUX_END, 02AH
256 256 $DGS END_FUN, ??ef_iic_mcu_start, U, U, 00H, 065H, 01H, 00H
257 257 $DGS AUX_END, 030H
258 258 $DGS GLV_SYM, _iic_mcu_stop, U, U, 01H, 026H, 01H, 02H
259 259 $DGS AUX_FUN, 00H, U, U, 0100H, 00H, 00H
260 260 $DGS BEG_FUN, ??bf_iic_mcu_stop, U, U, 00H, 065H, 01H, 00H
261 261 $DGS AUX_BEG, 02D6H, 00H, 0F6H
262 262 $DGS BEG_BLK, ??bb00_iic_mcu_stop, U, U, 00H, 064H, 01H, 00H
263 263 $DGS AUX_BEG, 03H, 00H, 0FAH
264 264 $DGS END_BLK, ??eb00_iic_mcu_stop, U, U, 00H, 064H, 01H, 00H
265 265 $DGS AUX_END, 04H
266 266 $DGS BEG_BLK, ??bb01_iic_mcu_stop, U, U, 00H, 064H, 01H, 00H
267 267 $DGS AUX_BEG, 06H, 00H, 00H
268 268 $DGS END_BLK, ??eb01_iic_mcu_stop, U, U, 00H, 064H, 01H, 00H
269 269 $DGS AUX_END, 06H
270 270 $DGS END_FUN, ??ef_iic_mcu_stop, U, U, 00H, 065H, 01H, 00H
271 271 $DGS AUX_END, 09H
272 272 $DGS GLV_SYM, _iic_mcu_wo_dma, U, U, 034CH, 027H, 00H, 00H
273 273 $DGS GLV_SYM, _iic_mcu_busy, U, U, 0134CH, 027H, 00H, 00H
274 274 $DGS GLV_SYM, _iic_mcu_initialized, U, U, 0134CH, 027H, 00H, 00H
275 275 $DGS GLV_SYM, _iic_send_work, U, U, 0CH, 026H, 01H, 03H
276 276 $DGS AUX_STR, 00H, 00H, 04H, 04H, 00H, 00H, 00H, 00H
277 277 $DGS GLV_SYM, _p_iic_send_wo_dma_dat, U, U, 0CH, 026H, 01H, 01H
278 278 $DGS AUX_STR, 00H, 00H, 02H, 00H, 00H, 00H, 00H, 01H
279 279 $DGS GLV_SYM, _iic_send_wo_dma_len, U, U, 0CH, 026H, 00H, 00H
280 280 $DGS GLV_SYM, _iic_mcu_bus_status, U, U, 0CH, 026H, 00H, 00H
281 281 $DGS GLV_SYM, _@SEGAX, U, U, 00H, 02H, 00H, 00H
282 282 $DGS GLV_SYM, _@SEGDE, U, U, 00H, 02H, 00H, 00H
283 283 $DGS GLV_SYM, _@RTARG0, U, U, 00H, 02H, 00H, 00H
284 284
285 285 EXTRN _@SEGAX
286 286 EXTRN _@SEGDE
287 287 EXTRN _@RTARG0
288 288 PUBLIC _iic_mcu_wo_dma
289 289 PUBLIC _iic_mcu_busy
290 290 PUBLIC _iic_mcu_initialized
291 291 PUBLIC _iic_send_work
292 292 PUBLIC _p_iic_send_wo_dma_dat
293 293 PUBLIC _iic_send_wo_dma_len
294 294 PUBLIC _iic_mcu_bus_status
295 295 PUBLIC _nop8
296 296 PUBLIC _iic_mcu_read_a_byte
297 297 PUBLIC _iic_mcu_read
298 298 PUBLIC _iic_mcu_write_a_byte
299 299 PUBLIC _iic_mcu_write
300 300 PUBLIC _int_dma1
301 301 PUBLIC _int_iic10
302 302 PUBLIC _iic_mcu_start
303 303 PUBLIC _iic_mcu_stop
304 304
305 305 ----- @@BITS BSEG
306 306 00000.0 _iic_mcu_wo_dma DBIT
307 307 00000.1 _iic_mcu_busy DBIT
308 308 00000.2 _iic_mcu_initialized DBIT
309 309
310 310 ----- @@CNST CSEG MIRRORP
311 311 00000 01 _lpf_coeff: DB 01H ; 1
312 312 00001 02 DB 02H ; 2
313 313 00002 02 DB 02H ; 2
314 314 00003 03 DB 03H ; 3
315 315 00004 03 DB 03H ; 3
316 316 00005 02 DB 02H ; 2
317 317 00006 00 DB 00H ; 0
318 318 00007 FE DB 0FEH ; 254
319 319 00008 FB DB 0FBH ; 251
320 320 00009 F7 DB 0F7H ; 247
321 321 0000A F3 DB 0F3H ; 243
322 322 0000B F0 DB 0F0H ; 240
323 323 0000C F0 DB 0F0H ; 240
324 324 0000D F3 DB 0F3H ; 243
325 325 0000E FA DB 0FAH ; 250
326 326 0000F 04 DB 04H ; 4
327 327 00010 12 DB 012H ; 18
328 328 00011 25 DB 025H ; 37
329 329 00012 38 DB 038H ; 56
330 330 00013 4D DB 04DH ; 77
331 331 00014 5F DB 05FH ; 95
332 332 00015 6E DB 06EH ; 110
333 333 00016 77 DB 077H ; 119
334 334 00017 7A DB 07AH ; 122
335 335 00018 77 DB 077H ; 119
336 336 00019 6E DB 06EH ; 110
337 337 0001A 5F DB 05FH ; 95
338 338 0001B 4D DB 04DH ; 77
339 339 0001C 38 DB 038H ; 56
340 340 0001D 25 DB 025H ; 37
341 341 0001E 12 DB 012H ; 18
342 342 0001F 04 DB 04H ; 4
343 343 00020 FA DB 0FAH ; 250
344 344 00021 F3 DB 0F3H ; 243
345 345 00022 F0 DB 0F0H ; 240
346 346 00023 F0 DB 0F0H ; 240
347 347 00024 F3 DB 0F3H ; 243
348 348 00025 F7 DB 0F7H ; 247
349 349 00026 FB DB 0FBH ; 251
350 350 00027 FE DB 0FEH ; 254
351 351 00028 00 DB 00H ; 0
352 352 00029 02 DB 02H ; 2
353 353 0002A 03 DB 03H ; 3
354 354 0002B 03 DB 03H ; 3
355 355 0002C 02 DB 02H ; 2
356 356 0002D 02 DB 02H ; 2
357 357 0002E 01 DB 01H ; 1
358 358 0002F 00 DB (1)
359 359
360 360 ----- @@R_INIT CSEG UNIT64KP
361 361
362 362 ----- @@INIT DSEG BASEP
363 363
364 364 ----- @@DATA DSEG BASEP
365 365 00000 _iic_send_work: DS (4)
366 366 00004 _p_iic_send_wo_dma_dat: DS (2)
367 367 00006 _iic_send_wo_dma_len: DS (1)
368 368 00007 _iic_mcu_bus_status: DS (1)
369 369
370 370 ----- @@R_INIS CSEG UNIT64KP
371 371
372 372 ----- @@INIS DSEG SADDRP
373 373
374 374 ----- @@DATS DSEG SADDRP
375 375
376 376 ----- @@CNSTL CSEG PAGE64KP
377 377
378 378 ----- @@RLINIT CSEG UNIT64KP
379 379
380 380 ----- @@INITL DSEG UNIT64KP
381 381
382 382 ----- @@DATAL DSEG UNIT64KP
383 383
384 384 ----- @@CALT CSEG CALLT0
385 385
386 386 ; Sub-Routines created by CC78K0R
387 387
388 388 ----- ROM_CODE CSEG BASE
389 389 00000 bs_F0085:
390 390 00000 318E shrw ax,8 ;[INF] 2, 1
391 391 00002 REDC701 br !_iic_mcu_send_a_byte ;[INF] 3, 3
392 392 00005 es_F0085:
393 393
394 394 ----- ROM_CODE CSEG BASE
395 395 00005 bs_S0086:
396 396 00005 300400 movw ax,#04H ; 4 ;[INF] 3, 1
397 397 00008 BF2401 movw !ST0,ax ;[INF] 3, 1
398 398 0000B D7 ret ;[INF] 1, 6
399 399 0000C es_S0086:
400 400
401 401 ----- ROM_CODE CSEG BASE
402 402 0000C bs_S0087:
403 403 0000C 300400 movw ax,#04H ; 4 ;[INF] 3, 1
404 404 0000F BF2201 movw !SS0,ax ;[INF] 3, 1
405 405 00012 D7 ret ;[INF] 1, 6
406 406 00013 es_S0087:
407 407
408 408 ----- ROM_CODE CSEG BASE
409 409 00013 bs_F0084:
410 410 00013 8B mov a,[hl] ;[INF] 1, 1
411 411 00014 318E shrw ax,8 ;[INF] 2, 1
412 412 00016 RFDB101 call !_iic_mcu_call_slave ;[INF] 3, 3
413 413 00019 D2 cmp0 c ;[INF] 1, 1
414 414 0001A D7 ret ;[INF] 1, 6
415 415 0001B es_F0084:
416 416
417 417 ; *** Sub-Routine Information ***
418 418 ;
419 419 ; $SUB bs_F0084
420 420 ; CODE SIZE= 8 bytes
421 421 ;
422 422 ; $SUB bs_F0085
423 423 ; CODE SIZE= 5 bytes
424 424 ;
425 425 ; $SUB bs_S0086
426 426 ; CODE SIZE= 7 bytes
427 427 ;
428 428 ; $SUB bs_S0087
429 429 ; CODE SIZE= 7 bytes
430 430
431 431 ; End of Sub-Routines
432 432
433 433 ; line 1 : /* ========================================================
434 434 ; line 2 : <20>Ȉ<EFBFBD>I2C<32>i<EFBFBD><69><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD>t<EFBFBD>F<EFBFBD><46><EFBFBD><EFBFBD><EFBFBD>g<EFBFBD>p<EFBFBD>j<EFBFBD>ʐM
435 435 ; line 3 : de JHL <20><><EFBFBD>c<EFBFBD><63><EFBFBD>J<EFBFBD>Z
436 436 ; line 4 : '09 Feb -
437 437 ; line 5 : ======================================================== */
438 438 ; line 6 : #pragma sfr
439 439 ; line 7 : #pragma di
440 440 ; line 8 : #pragma ei
441 441 ; line 9 : #pragma nop
442 442 ; line 10 : #pragma inline // memcpy()<29><><EFBFBD>C<EFBFBD><43><EFBFBD><EFBFBD><EFBFBD>C<EFBFBD><43><EFBFBD>W<EFBFBD>J<EFBFBD><4A><EFBFBD><EFBFBD>
443 443 ; line 11 :
444 444 ; line 12 : #include "incs.h"
445 445 ; line 13 : #include "i2c_mcu.h"
446 446 ; line 14 :
447 447 ; line 15 :
448 448 ; line 16 :
449 449 ; line 17 : // ========================================================
450 450 ; line 18 : // <20><><EFBFBD>W<EFBFBD>X<EFBFBD>^<5E>̃r<CC83>b<EFBFBD>g<EFBFBD><67>
451 451 ; line 19 : // <20>v<EFBFBD><76><EFBFBD>t<EFBFBD>B<EFBFBD>b<EFBFBD>N<EFBFBD>Xb<58><62><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><EFBFBD>̃r<CC83>b<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>W<EFBFBD>X<EFBFBD>^<5E><><EFBFBD>ɂ<EFBFBD><C982>Ԃ邽<D482><E982BD>..
452 452 ; .
453 453 ; line 20 : // SMR0n
454 454 ; line 21 : #define bCKS0 ( 1 << 15 )
455 455 ; line 22 : #define bCCS0 ( 1 << 14 )
456 456 ; line 23 : #define bSTS0 ( 1 << 8 )
457 457 ; line 24 : #define bSIS0 ( 1 << 6 )
458 458 ; line 25 : #define bMD0n2 ( 1 << 2 )
459 459 ; line 26 : #define bMD0n1 ( 1 << 1 )
460 460 ; line 27 : #define bMD0n0 ( 1 << 0 )
461 461 ; line 28 : #define bSMR0n_FIXEDBIT ( 1 << 5 )
462 462 ; line 29 :
463 463 ; line 30 : // SSR0n
464 464 ; line 31 : #define bit_TSF0 6
465 465 ; line 32 : #define PEF0 ( 1 << 1 )
466 466 ; line 33 :
467 467 ; line 34 : // SIR0n
468 468 ; line 35 : #define PECT0 ( 1 << 1 )
469 469 ; line 36 :
470 470 ; line 37 : // SCR0n
471 471 ; line 38 : #define TXE0 ( 1 << 15 )
472 472 ; line 39 : #define RXE0 ( 1 << 14 )
473 473 ; line 40 : #define SLC02 4
474 474 ; line 41 : #define DLS02 0
475 475 ; line 42 : #define TSF0 ( 1 << 6 )
476 476 ; line 43 :
477 477 ; line 44 : // SOn
478 478 ; line 45 : #define TAUS_MASK 0b0000101100001011;
479 479 ; line 46 :
480 480 ; line 47 : // DMCn
481 481 ; line 48 : #define DRS ( 1 << 6 )
482 482 ; line 49 :
483 483 ; line 50 :
484 484 ; line 51 :
485 485 ; line 52 :
486 486 ; line 53 : // ========================================================
487 487 ; line 54 : static void iic_mcu_send_st( );
488 488 ; line 55 : static void iic_mcu_send_re_st( );
489 489 ; line 56 : static void iic_mcu_send_sp( );
490 490 ; line 57 : static err iic_mcu_send_a_byte( u8 );
491 491 ; line 58 : static err iic_mcu_call_slave( u8 slave );
492 492 ; line 59 :
493 493 ; line 60 :
494 494 ; line 61 :
495 495 ; line 62 : // ========================================================
496 496 ; line 63 : bit iic_mcu_wo_dma;
497 497 ; line 64 : volatile bit iic_mcu_busy;
498 498 ; line 65 : volatile bit iic_mcu_initialized;
499 499 ; line 66 :
500 500 ; line 67 :
501 501 ; line 68 : u8 iic_send_work[4];
502 502 ; line 69 : u8 *p_iic_send_wo_dma_dat;
503 503 ; line 70 : u8 iic_send_wo_dma_len;
504 504 ; line 71 :
505 505 ; line 72 : u8 iic_mcu_bus_status; // <20><EFBFBD><EA95B6><EFBFBD><EFBFBD><EFBFBD>[<5B>h<EFBFBD>̎<EFBFBD><CC8E>̓f<CD83>[<5B>^<5E><><EFBFBD>Ԃ<EFBFBD>
506 506 ; <20>B
507 507 ; line 73 : // <20>X<EFBFBD>e<EFBFBD>[<5B>^<5E>X<EFBFBD><58><EFBFBD>K<EFBFBD>v<EFBFBD>Ȃ炱<C882><E782B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
508 508 ; <20><><EFBFBD><EFBFBD>
509 509 ; line 74 :
510 510 ; line 75 : void nop8()
511 511 ; line 76 : {
512 512
513 513 ----- ROM_CODE CSEG BASE
514 514 0001B _nop8:
515 515 $DGL 1,29
516 516 0001B ??bf_nop8:
517 517 ; line 77 : }
518 518 $DGL 0,2
519 519 0001B ??ef_nop8:
520 520 0001B D7 ret ;[INF] 1, 6
521 521 0001C ??ee_nop8:
522 522 ; line 78 :
523 523 ; line 79 :
524 524 ; line 80 :
525 525 ; line 81 : /* ========================================================
526 526 ; line 82 : <20>X<EFBFBD><58><EFBFBD>[<5B>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>w1<77><31><EFBFBD><EFBFBD><EFBFBD>x <20><><EFBFBD>[<5B>h
527 527 ; line 83 : <20>Ԓl<D492><6C><EFBFBD>f<EFBFBD>[<5B>^<5E><><EFBFBD>̂<EFBFBD><CC82>̂ł<CC82><C582>B
528 528 ; line 84 : <20>G<EFBFBD><47><EFBFBD>[<5B><><EFBFBD><EFBFBD>ł<EFBFBD><C582>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B
529 529 ; line 85 : ======================================================== */
530 530 ; line 86 : u8 iic_mcu_read_a_byte( u8 SLA, u8 adrs )
531 531 ; line 87 : {
532 532 0001C _iic_mcu_read_a_byte:
533 533 $DGL 1,35
534 534 0001C C7 push hl ;[INF] 1, 1
535 535 0001D C1 push ax ;[INF] 1, 1
536 536 0001E C1 push ax ;[INF] 1, 1
537 537 0001F FBF8FF movw hl,sp ;[INF] 3, 1
538 538 00022 ??bf_iic_mcu_read_a_byte:
539 539 ; line 88 : u8 dat;
540 540 ; line 89 :
541 541 ; line 90 : if( iic_mcu_initialized == 0 )
542 542 $DGL 0,4
543 543 00022 R31220003 bt _iic_mcu_initialized,$?L0005 ;[INF] 4, 5
544 544 ; line 91 : {
545 545 00026 ??bb00_iic_mcu_read_a_byte:
546 546 ; line 92 : #ifdef _debug_
547 547 ; line 93 : iic_mcu_start( );
548 548 $DGL 0,7
549 549 00026 RFD5902 call !_iic_mcu_start ;[INF] 3, 3
550 550 00029 ??eb00_iic_mcu_read_a_byte:
551 551 ; line 94 : #else
552 552 ; line 95 : while( 1 )
553 553 ; line 96 : {
554 554 ; line 97 : }
555 555 ; line 98 : #endif
556 556 ; line 99 : }
557 557 00029 ?L0005:
558 558 ; line 100 :
559 559 ; line 101 : while( iic_mcu_busy )
560 560 $DGL 0,15
561 561 00029 R31140003 bf _iic_mcu_busy,$?L0008 ;[INF] 4, 5
562 562 ; line 102 : {
563 563 0002D ??bb01_iic_mcu_read_a_byte:
564 564 ; line 103 : NOP( );
565 565 $DGL 0,17
566 566 0002D 00 nop ;[INF] 1, 1
567 567 0002E ??eb01_iic_mcu_read_a_byte:
568 568 ; line 104 : }
569 569 $DGL 0,18
570 570 0002E EFF9 br $?L0005 ;[INF] 2, 3
571 571 00030 ?L0008:
572 572 ; line 105 : iic_mcu_busy = 1;
573 573 $DGL 0,19
574 574 00030 R711200 set1 _iic_mcu_busy ;[INF] 3, 2
575 575 ; line 106 :
576 576 ; line 107 : iic_mcu_bus_status = ERR_OK;
577 577 $DGL 0,21
578 578 00033 RF50700 clrb !_iic_mcu_bus_status ;[INF] 3, 1
579 579 ; line 108 :
580 580 ; line 109 : // <20>X<EFBFBD>^<5E>[<5B>g<EFBFBD>R<EFBFBD><52><EFBFBD>f<EFBFBD>B<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD>ƃX<C683><58><EFBFBD>[<5B>u<EFBFBD>̌Ăяo<D18F><6F><EFBFBD>A<EFBFBD><41><EFBFBD>W<EFBFBD>X<EFBFBD>^<5E>A<EFBFBD>h<EFBFBD><68>
581 581 ; <20>X<EFBFBD>̑<EFBFBD><CC91>M
582 582 ; line 110 : if( iic_mcu_call_slave( SLA ) != 0 )
583 583 $DGL 0,24
584 584 00036 8C02 mov a,[hl+2] ; SLA ;[INF] 2, 1
585 585 00038 318E shrw ax,8 ;[INF] 2, 1
586 586 0003A RFDB101 call !_iic_mcu_call_slave ;[INF] 3, 3
587 587 0003D D2 cmp0 c ;[INF] 1, 1
588 588 0003E DD0A bz $?L0009 ;[INF] 2, 4
589 589 ; line 111 : {
590 590 00040 ??bb02_iic_mcu_read_a_byte:
591 591 ; line 112 : iic_mcu_bus_status = ERR_NOSLAVE;
592 592 $DGL 0,26
593 593 00040 RCF070002 mov !_iic_mcu_bus_status,#02H ; 2 ;[INF] 4, 1
594 594 ; line 113 : iic_mcu_busy = 0;
595 595 $DGL 0,27
596 596 00044 R711300 clr1 _iic_mcu_busy ;[INF] 3, 2
597 597 ; line 114 : return ( 0 );
598 598 $DGL 0,28
599 599 00047 F7 clrw bc ;[INF] 1, 1
600 600 00048 EF3D br $?L0004 ;[INF] 2, 3
601 601 0004A ??eb02_iic_mcu_read_a_byte:
602 602 ; line 115 : }
603 603 0004A ?L0009:
604 604 ; line 116 :
605 605 ; line 117 : // <20><><EFBFBD>W<EFBFBD>X<EFBFBD>^<5E>A<EFBFBD>h<EFBFBD><68><EFBFBD>X<EFBFBD>̑<EFBFBD><CC91>M
606 606 ; line 118 : iic_mcu_send_a_byte( adrs ); // <20>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD>܂ŋA<C58B><41><EFBFBD>Ă<EFBFBD><C482>Ȃ<EFBFBD>
607 607 $DGL 0,32
608 608 0004A 8C0A mov a,[hl+10] ; adrs ;[INF] 2, 1
609 609 0004C RFD0000 call !bs_F0085 ;[INF] 3, 3
610 610 ; line 119 : // if( err != ERR_SUCCESS )<29>`
611 611 ; line 120 :
612 612 ; line 121 : // <20>f<EFBFBD>[<5B>^<5E><><EFBFBD>M //
613 613 ; line 122 : iic_mcu_send_re_st( ); // <20><><EFBFBD>X<EFBFBD>^<5E>[<5B>g<EFBFBD>R<EFBFBD><52><EFBFBD>f<EFBFBD>B<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD>
614 614 $DGL 0,36
615 615 0004F RFD1002 call !_iic_mcu_send_re_st ;[INF] 3, 3
616 616 ; line 123 : iic_mcu_send_a_byte( SLA | 0x01 ); // <20><><EFBFBD>M<EFBFBD><4D><EFBFBD><EFBFBD><EFBFBD>܂Ŗ߂<C596><DF82>Ă<EFBFBD><C482><EFBFBD>
617 617 ; <20><><EFBFBD><EFBFBD><EFBFBD>B
618 618 $DGL 0,37
619 619 00052 8C02 mov a,[hl+2] ; SLA ;[INF] 2, 1
620 620 00054 6C01 or a,#01H ; 1 ;[INF] 2, 1
621 621 00056 RFD0000 call !bs_F0085 ;[INF] 3, 3
622 622 ; line 124 :
623 623 ; line 125 : ST0 = 0x0004; // <20><><EFBFBD>M<EFBFBD><4D><EFBFBD>[<5B>h<EFBFBD>ɐݒ<C990><DD92><EFBFBD><EFBFBD>ς<EFBFBD><CF82><EFBFBD><EFBFBD>̂Ń<CC82>
624 624 ; <20>W<EFBFBD>b<EFBFBD>N<EFBFBD><4E><EFBFBD>~
625 625 $DGL 0,39
626 626 00059 RFD0500 call !bs_S0086 ;[INF] 3, 3
627 627 ; line 126 : SCR02 = RXE0 | 1 << SLC02 | 7 << DLS02; // <20><><EFBFBD>M<EFBFBD>ݒ<EFBFBD>
628 628 $DGL 0,40
629 629 0005C 301740 movw ax,#04017H ; 16407 ;[INF] 3, 1
630 630 0005F BF1C01 movw !SCR02,ax ;[INF] 3, 1
631 631 ; line 127 : SS0 = 0x0004; // <20>ʐM<CA90>ҋ@
632 632 $DGL 0,41
633 633 00062 RFD0C00 call !bs_S0087 ;[INF] 3, 3
634 634 ; line 128 :
635 635 ; line 129 : SOE0 = 0x0000; // 1<>o<EFBFBD>C<EFBFBD>g<EFBFBD><67><EFBFBD>M<EFBFBD>Ȃ̂ŁA<C581>Ō<EFBFBD><C58C><EFBFBD>NAK<41><4B>
636 636 ; <20><><EFBFBD><EFBFBD>
637 637 $DGL 0,43
638 638 00065 F6 clrw ax ;[INF] 1, 1
639 639 00066 BF2A01 movw !SOE0,ax ;[INF] 3, 1
640 640 ; line 130 : IICIF10 = 0;
641 641 $DGL 0,44
642 642 00069 710BE2 clr1 IF1L.0 ;[INF] 3, 2
643 643 ; line 131 : SIO10 = 0xFF; // <20>_<EFBFBD>~<7E>[<5B>f<EFBFBD>[<5B>^<5E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǝ<EFBFBD><C68E>M<EFBFBD>J<EFBFBD>n
644 644 $DGL 0,45
645 645 0006C CE44FF mov SIO10,#0FFH ; 255 ;[INF] 3, 1
646 646 ; line 132 :
647 647 ; line 133 : while( IICIF10 == 0 )
648 648 $DGL 0,47
649 649 0006F ?L0011:
650 650 0006F 3182E202 bt IF1L.0,$?L0012 ;[INF] 4, 5
651 651 ; line 134 : { // <20><><EFBFBD>M<EFBFBD><4D><EFBFBD><EFBFBD><EFBFBD>҂<EFBFBD>
652 652 00073 ??bb03_iic_mcu_read_a_byte:
653 653 ; line 135 : ;
654 654 00073 ??eb03_iic_mcu_read_a_byte:
655 655 ; line 136 : }
656 656 $DGL 0,50
657 657 00073 EFFA br $?L0011 ;[INF] 2, 3
658 658 00075 ?L0012:
659 659 ; line 137 : dat = SIO10;
660 660 $DGL 0,51
661 661 00075 8E44 mov a,SIO10 ;[INF] 2, 1
662 662 00077 9C01 mov [hl+1],a ; dat ;[INF] 2, 1
663 663 ; line 138 :
664 664 ; line 139 : iic_mcu_send_sp( );
665 665 $DGL 0,53
666 666 00079 RFD3902 call !_iic_mcu_send_sp ;[INF] 3, 3
667 667 ; line 140 : IICIF10 = 0; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><C882><EFBFBD><EFBFBD><EFBFBD>
668 668 $DGL 0,54
669 669 0007C 710BE2 clr1 IF1L.0 ;[INF] 3, 2
670 670 ; line 141 : iic_mcu_busy = 0;
671 671 $DGL 0,55
672 672 0007F R711300 clr1 _iic_mcu_busy ;[INF] 3, 2
673 673 ; line 142 : return ( dat );
674 674 $DGL 0,56
675 675 00082 8C01 mov a,[hl+1] ; dat ;[INF] 2, 1
676 676 00084 318E shrw ax,8 ;[INF] 2, 1
677 677 00086 12 movw bc,ax ;[INF] 1, 1
678 678 ; line 143 : }
679 679 00087 ?L0004:
680 680 $DGL 0,57
681 681 00087 ??ef_iic_mcu_read_a_byte:
682 682 00087 1004 addw sp,#04H ;[INF] 2, 1
683 683 00089 C6 pop hl ;[INF] 1, 1
684 684 0008A D7 ret ;[INF] 1, 6
685 685 0008B ??ee_iic_mcu_read_a_byte:
686 686 ; line 144 :
687 687 ; line 145 :
688 688 ; line 146 :
689 689 ; line 147 : /* ========================================================
690 690 ; line 148 : <20>X<EFBFBD><58><EFBFBD>[<5B>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD>̃<EFBFBD><CC83>[<5B>h
691 691 ; line 149 : 0 <20><><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><49>
692 692 ; line 150 : 1 <20>X<EFBFBD><58><EFBFBD>[<5B>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD>
693 693 ; line 151 : 2 <20>o<EFBFBD>X<EFBFBD><58><EFBFBD>N<EFBFBD><4E><EFBFBD>ɐ<EFBFBD><C990>L<EFBFBD><4C><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482>ă^<5E>C<EFBFBD><43><EFBFBD>A<EFBFBD>E<EFBFBD>g
694 694 ; line 152 : 3 <20>Ӗ<EFBFBD><D396>s<EFBFBD><73><EFBFBD>G<EFBFBD><47><EFBFBD>[
695 695 ; line 153 : <20>y<EFBFBD><79><EFBFBD>z
696 696 ; line 154 : <20>X<EFBFBD><58><EFBFBD>[<5B>u<EFBFBD><75><EFBFBD>E<EFBFBD>F<EFBFBD>C<EFBFBD>g<EFBFBD>R<EFBFBD><52><EFBFBD>f<EFBFBD>B<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>o<EFBFBD><6F><EFBFBD><EFBFBD><EFBFBD>Ƃ͋֎~<7E>ł<EFBFBD><C582>B
697 697 ; line 155 : <20><><EFBFBD>̏ꍇ<CC8F>ł<EFBFBD><C582>G<EFBFBD><47><EFBFBD>[<5B><><EFBFBD>o<EFBFBD>Ȃǂł<C782><C582>܂<EFBFBD><DC82><EFBFBD>
698 698 ; line 156 : ======================================================== */
699 699 ; line 157 : err iic_mcu_read( u8 slave, u8 adrs, u8 len, u8 * dest )
700 700 ; line 158 : {
701 701 0008B _iic_mcu_read:
702 702 $DGL 1,60
703 703 0008B C7 push hl ;[INF] 1, 1
704 704 0008C C1 push ax ;[INF] 1, 1
705 705 0008D FBF8FF movw hl,sp ;[INF] 3, 1
706 706 00090 ??bf_iic_mcu_read:
707 707 ; line 159 :
708 708 ; line 160 : //*
709 709 ; line 161 : // <20>g<EFBFBD>p<EFBFBD><70><EFBFBD>Ȃ<EFBFBD><C882>҂<EFBFBD>
710 710 ; line 162 : if( iic_mcu_initialized == 0 )
711 711 $DGL 0,5
712 712 00090 R31220003 bt _iic_mcu_initialized,$?L0015 ;[INF] 4, 5
713 713 ; line 163 : {
714 714 00094 ??bb00_iic_mcu_read:
715 715 ; line 164 : #ifdef _debug_
716 716 ; line 165 : iic_mcu_start( );
717 717 $DGL 0,8
718 718 00094 RFD5902 call !_iic_mcu_start ;[INF] 3, 3
719 719 00097 ??eb00_iic_mcu_read:
720 720 ; line 166 : #else
721 721 ; line 167 : while( 1 )
722 722 ; line 168 : {
723 723 ; line 169 : }
724 724 ; line 170 : #endif
725 725 ; line 171 : }
726 726 00097 ?L0015:
727 727 ; line 172 : while( iic_mcu_busy )
728 728 $DGL 0,15
729 729 00097 R31140003 bf _iic_mcu_busy,$?L0018 ;[INF] 4, 5
730 730 ; line 173 : {
731 731 0009B ??bb01_iic_mcu_read:
732 732 ; line 174 : NOP( );
733 733 $DGL 0,17
734 734 0009B 00 nop ;[INF] 1, 1
735 735 0009C ??eb01_iic_mcu_read:
736 736 ; line 175 : }
737 737 $DGL 0,18
738 738 0009C EFF9 br $?L0015 ;[INF] 2, 3
739 739 0009E ?L0018:
740 740 ; line 176 : /*/
741 741 ; line 177 : // <20>g<EFBFBD>p<EFBFBD><70><EFBFBD>Ȃ<EFBFBD><C882>A<EFBFBD><41>
742 742 ; line 178 : if( iic_mcu_initialized == 0 ){
743 743 ; line 179 : return(0x80);
744 744 ; line 180 : }
745 745 ; line 181 : if( iic_mcu_busy != 0 ){
746 746 ; line 182 : return( 3 );
747 747 ; line 183 : }
748 748 ; line 184 : //*/
749 749 ; line 185 :
750 750 ; line 186 : iic_mcu_busy = 1;
751 751 $DGL 0,29
752 752 0009E R711200 set1 _iic_mcu_busy ;[INF] 3, 2
753 753 ; line 187 : // <20>X<EFBFBD>^<5E>[<5B>g<EFBFBD>R<EFBFBD><52><EFBFBD>f<EFBFBD>B<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD>ƃX<C683><58><EFBFBD>[<5B>u<EFBFBD>̌Ăяo<D18F><6F><EFBFBD>A<EFBFBD><41><EFBFBD>W<EFBFBD>X<EFBFBD>^<5E>A<EFBFBD>h<EFBFBD><68>
754 754 ; <20>X<EFBFBD>̑<EFBFBD><CC91>M
755 755 ; line 188 : if( iic_mcu_call_slave( slave ) != 0 )
756 756 $DGL 0,31
757 757 000A1 RFD1300 call !bs_F0084 ;[INF] 3, 3
758 758 000A4 DD07 bz $?L0019 ;[INF] 2, 4
759 759 ; line 189 : {
760 760 000A6 ??bb02_iic_mcu_read:
761 761 ; line 190 : iic_mcu_busy = 0;
762 762 $DGL 0,33
763 763 000A6 R711300 clr1 _iic_mcu_busy ;[INF] 3, 2
764 764 ; line 191 : return ( ERR_NOSLAVE );
765 765 $DGL 0,34
766 766 000A9 E7 onew bc ;[INF] 1, 1
767 767 000AA A3 incw bc ;[INF] 1, 1
768 768 000AB EF4A br $?L0014 ;[INF] 2, 3
769 769 000AD ??eb02_iic_mcu_read:
770 770 ; line 192 : }
771 771 000AD ?L0019:
772 772 ; line 193 :
773 773 ; line 194 : // <20><><EFBFBD>W<EFBFBD>X<EFBFBD>^<5E>A<EFBFBD>h<EFBFBD><68><EFBFBD>X<EFBFBD>̑<EFBFBD><CC91>M
774 774 ; line 195 : iic_mcu_send_a_byte( adrs ); // <20>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD>܂ŋA<C58B><41><EFBFBD>Ă<EFBFBD><C482>Ȃ<EFBFBD>
775 775 $DGL 0,38
776 776 000AD 8C08 mov a,[hl+8] ; adrs ;[INF] 2, 1
777 777 000AF RFD0000 call !bs_F0085 ;[INF] 3, 3
778 778 ; line 196 : // if( err != ERR_SUCCESS )<29>`
779 779 ; line 197 :
780 780 ; line 198 : // <20>f<EFBFBD>[<5B>^<5E><><EFBFBD>M //
781 781 ; line 199 : iic_mcu_send_re_st( ); // <20><><EFBFBD>X<EFBFBD>^<5E>[<5B>g<EFBFBD>R<EFBFBD><52><EFBFBD>f<EFBFBD>B<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD>
782 782 $DGL 0,42
783 783 000B2 RFD1002 call !_iic_mcu_send_re_st ;[INF] 3, 3
784 784 ; line 200 : iic_mcu_send_a_byte( slave | 0x01 ); // <20><><EFBFBD>M<EFBFBD><4D><EFBFBD><EFBFBD><EFBFBD>܂Ŗ<DC82>
785 785 ; <20><><EFBFBD>Ă<EFBFBD><C482>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B
786 786 $DGL 0,43
787 787 000B5 8B mov a,[hl] ; slave ;[INF] 1, 1
788 788 000B6 6C01 or a,#01H ; 1 ;[INF] 2, 1
789 789 000B8 RFD0000 call !bs_F0085 ;[INF] 3, 3
790 790 ; line 201 :
791 791 ; line 202 : // <20>f<EFBFBD>[<5B>^<5E><><EFBFBD>M
792 792 ; line 203 : ST0 = 0x0004; // <20><><EFBFBD>M<EFBFBD><4D><EFBFBD>[<5B>h<EFBFBD>ɐݒ<C990><DD92><EFBFBD><EFBFBD>ς<EFBFBD><CF82><EFBFBD><EFBFBD>̂Ń<CC82>
793 793 ; <20>W<EFBFBD>b<EFBFBD>N<EFBFBD><4E><EFBFBD>~
794 794 $DGL 0,46
795 795 000BB RFD0500 call !bs_S0086 ;[INF] 3, 3
796 796 ; line 204 : SCR02 = RXE0 | 1 << SLC02 | 7 << DLS02; // <20><><EFBFBD>M<EFBFBD>ݒ<EFBFBD>
797 797 $DGL 0,47
798 798 000BE 301740 movw ax,#04017H ; 16407 ;[INF] 3, 1
799 799 000C1 BF1C01 movw !SCR02,ax ;[INF] 3, 1
800 800 ; line 205 : SS0 = 0x0004; // <20>ʐM<CA90>ҋ@
801 801 $DGL 0,48
802 802 000C4 RFD0C00 call !bs_S0087 ;[INF] 3, 3
803 803 ; line 206 :
804 804 ; line 207 : do
805 805 000C7 ?L0021:
806 806 ; line 208 : {
807 807 000C7 ??bb03_iic_mcu_read:
808 808 ; line 209 : if( len == 1 )
809 809 $DGL 0,52
810 810 000C7 8C0A mov a,[hl+10] ; len ;[INF] 2, 1
811 811 000C9 91 dec a ;[INF] 1, 1
812 812 000CA DF04 bnz $?L0024 ;[INF] 2, 4
813 813 ; line 210 : {
814 814 000CC ??bb04_iic_mcu_read:
815 815 ; line 211 : SOE0 = 0x0000; // <20>Ō<EFBFBD><C58C><EFBFBD>NAK
816 816 $DGL 0,54
817 817 000CC F6 clrw ax ;[INF] 1, 1
818 818 000CD BF2A01 movw !SOE0,ax ;[INF] 3, 1
819 819 000D0 ??eb04_iic_mcu_read:
820 820 ; line 212 : }
821 821 000D0 ?L0024:
822 822 ; line 213 : IICIF10 = 0;
823 823 $DGL 0,56
824 824 000D0 710BE2 clr1 IF1L.0 ;[INF] 3, 2
825 825 ; line 214 : SIO10 = 0xFF; // <20>_<EFBFBD>~<7E>[<5B>f<EFBFBD>[<5B>^<5E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǝ<EFBFBD><C68E>M<EFBFBD>J<EFBFBD>n
826 826 $DGL 0,57
827 827 000D3 CE44FF mov SIO10,#0FFH ; 255 ;[INF] 3, 1
828 828 ; line 215 : while( IICIF10 == 0 )
829 829 $DGL 0,58
830 830 000D6 ?L0026:
831 831 000D6 3182E202 bt IF1L.0,$?L0027 ;[INF] 4, 5
832 832 ; line 216 : { // <20><><EFBFBD>M<EFBFBD><4D><EFBFBD><EFBFBD><EFBFBD>҂<EFBFBD>
833 833 000DA ??bb05_iic_mcu_read:
834 834 ; line 217 : ;
835 835 000DA ??eb05_iic_mcu_read:
836 836 ; line 218 : }
837 837 $DGL 0,61
838 838 000DA EFFA br $?L0026 ;[INF] 2, 3
839 839 000DC ?L0027:
840 840 ; line 219 : *dest = SIO10;
841 841 $DGL 0,62
842 842 000DC AC0C movw ax,[hl+12] ; dest ;[INF] 2, 1
843 843 000DE 14 movw de,ax ;[INF] 1, 1
844 844 000DF 8E44 mov a,SIO10 ;[INF] 2, 1
845 845 000E1 99 mov [de],a ;[INF] 1, 1
846 846 ; line 220 : dest++;
847 847 $DGL 0,63
848 848 000E2 61790C incw [hl+12] ; dest ;[INF] 3, 2
849 849 ; line 221 : len--;
850 850 $DGL 0,64
851 851 000E5 61690A dec [hl+10] ; len ;[INF] 3, 2
852 852 000E8 ??eb03_iic_mcu_read:
853 853 ; line 222 : }
854 854 ; line 223 : while( len != 0 );
855 855 $DGL 0,66
856 856 000E8 8C0A mov a,[hl+10] ; len ;[INF] 2, 1
857 857 000EA D1 cmp0 a ;[INF] 1, 1
858 858 000EB DFDA bnz $?L0021 ;[INF] 2, 4
859 859 ; line 224 :
860 860 ; line 225 : iic_mcu_send_sp( );
861 861 $DGL 0,68
862 862 000ED RFD3902 call !_iic_mcu_send_sp ;[INF] 3, 3
863 863 ; line 226 :
864 864 ; line 227 : IICIF10 = 0;
865 865 $DGL 0,70
866 866 000F0 710BE2 clr1 IF1L.0 ;[INF] 3, 2
867 867 ; line 228 : iic_mcu_busy = 0;
868 868 $DGL 0,71
869 869 000F3 R711300 clr1 _iic_mcu_busy ;[INF] 3, 2
870 870 ; line 229 : return ( ERR_SUCCESS );
871 871 $DGL 0,72
872 872 000F6 F7 clrw bc ;[INF] 1, 1
873 873 ; line 230 : }
874 874 000F7 ?L0014:
875 875 $DGL 0,73
876 876 000F7 ??ef_iic_mcu_read:
877 877 000F7 C0 pop ax ;[INF] 1, 1
878 878 000F8 C6 pop hl ;[INF] 1, 1
879 879 000F9 D7 ret ;[INF] 1, 6
880 880 000FA ??ee_iic_mcu_read:
881 881 ; line 231 :
882 882 ; line 232 :
883 883 ; line 233 :
884 884 ; line 234 :
885 885 ; line 235 : /* ========================================================
886 886 ; line 236 : <20>X<EFBFBD><58><EFBFBD>[<5B>u<EFBFBD><75> <20>w<EFBFBD>P<EFBFBD>o<EFBFBD>C<EFBFBD>g<EFBFBD>x <20><><EFBFBD>C<EFBFBD>g
887 887 ; line 237 : <20>O<EFBFBD>̓]<5D><><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD>̂<EFBFBD><CC82>҂<EFBFBD><D282>āA<C481><41><EFBFBD>C<EFBFBD>g<EFBFBD><67><EFBFBD>܂<EFBFBD><DC82>B
888 888 ; line 238 : <20>Ԓl<D492>@iic_mcu_write<74>@<40>ɓ<EFBFBD><C993><EFBFBD>
889 889 ; line 239 :
890 890 ; line 240 : ======================================================== */
891 891 ; line 241 : err iic_mcu_write_a_byte( u8 SLA, u8 adrs, u8 dat )
892 892 ; line 242 : {
893 893 000FA _iic_mcu_write_a_byte:
894 894 $DGL 1,95
895 895 000FA C7 push hl ;[INF] 1, 1
896 896 000FB C1 push ax ;[INF] 1, 1
897 897 000FC FBF8FF movw hl,sp ;[INF] 3, 1
898 898 000FF ??bf_iic_mcu_write_a_byte:
899 899 ; line 243 :
900 900 ; line 244 : if( iic_mcu_initialized == 0 )
901 901 $DGL 0,3
902 902 000FF R31220003 bt _iic_mcu_initialized,$?L0030 ;[INF] 4, 5
903 903 ; line 245 : {
904 904 00103 ??bb00_iic_mcu_write_a_byte:
905 905 ; line 246 : #ifdef _debug_
906 906 ; line 247 : iic_mcu_start( );
907 907 $DGL 0,6
908 908 00103 RFD5902 call !_iic_mcu_start ;[INF] 3, 3
909 909 00106 ??eb00_iic_mcu_write_a_byte:
910 910 ; line 248 : #else
911 911 ; line 249 : while( 1 )
912 912 ; line 250 : {
913 913 ; line 251 : }
914 914 ; line 252 : #endif
915 915 ; line 253 : }
916 916 00106 ?L0030:
917 917 ; line 254 : while( iic_mcu_busy )
918 918 $DGL 0,13
919 919 00106 R31140003 bf _iic_mcu_busy,$?L0033 ;[INF] 4, 5
920 920 ; line 255 : {
921 921 0010A ??bb01_iic_mcu_write_a_byte:
922 922 ; line 256 : NOP( );
923 923 $DGL 0,15
924 924 0010A 00 nop ;[INF] 1, 1
925 925 0010B ??eb01_iic_mcu_write_a_byte:
926 926 ; line 257 : }
927 927 $DGL 0,16
928 928 0010B EFF9 br $?L0030 ;[INF] 2, 3
929 929 0010D ?L0033:
930 930 ; line 258 : iic_mcu_busy = 1;
931 931 $DGL 0,17
932 932 0010D R711200 set1 _iic_mcu_busy ;[INF] 3, 2
933 933 ; line 259 : #if 0
934 934 ; line 260 : temp = dat;
935 935 ; line 261 : return ( iic_mcu_write( SLA, adrs, 1, &temp ) );
936 936 ; line 262 : }
937 937 ; line 263 : #else
938 938 ; line 264 : // <20>X<EFBFBD>^<5E>[<5B>g<EFBFBD>R<EFBFBD><52><EFBFBD>f<EFBFBD>B<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD>ƃX<C683><58><EFBFBD>[<5B>u<EFBFBD>̌Ăяo<D18F><6F>...
939 939 ; line 265 : IICMK10 = 1;
940 940 $DGL 0,24
941 941 00110 710AE6 set1 MK1L.0 ;[INF] 3, 2
942 942 ; line 266 : if( iic_mcu_call_slave( SLA ) != 0 )
943 943 $DGL 0,25
944 944 00113 RFD1300 call !bs_F0084 ;[INF] 3, 3
945 945 00116 DD06 bz $?L0034 ;[INF] 2, 4
946 946 ; line 267 : {
947 947 00118 ??bb02_iic_mcu_write_a_byte:
948 948 ; line 268 : iic_mcu_busy = 0;
949 949 $DGL 0,27
950 950 00118 R711300 clr1 _iic_mcu_busy ;[INF] 3, 2
951 951 ; line 269 : return ( ERR_NAK );
952 952 $DGL 0,28
953 953 0011B E7 onew bc ;[INF] 1, 1
954 954 0011C EF11 br $?L0029 ;[INF] 2, 3
955 955 0011E ??eb02_iic_mcu_write_a_byte:
956 956 ; line 270 : }
957 957 0011E ?L0034:
958 958 ; line 271 : iic_mcu_send_a_byte( adrs );
959 959 $DGL 0,30
960 960 0011E 8C08 mov a,[hl+8] ; adrs ;[INF] 2, 1
961 961 00120 RFD0000 call !bs_F0085 ;[INF] 3, 3
962 962 ; line 272 : iic_mcu_send_a_byte( dat );
963 963 $DGL 0,31
964 964 00123 8C0A mov a,[hl+10] ; dat ;[INF] 2, 1
965 965 00125 RFD0000 call !bs_F0085 ;[INF] 3, 3
966 966 ; line 273 : iic_mcu_send_sp( );
967 967 $DGL 0,32
968 968 00128 RFD3902 call !_iic_mcu_send_sp ;[INF] 3, 3
969 969 ; line 274 : iic_mcu_busy = 0;
970 970 $DGL 0,33
971 971 0012B R711300 clr1 _iic_mcu_busy ;[INF] 3, 2
972 972 ; line 275 : return ( ERR_SUCCESS );
973 973 $DGL 0,34
974 974 0012E F7 clrw bc ;[INF] 1, 1
975 975 ; line 276 : #endif
976 976 ; line 277 : }
977 977 0012F ?L0029:
978 978 $DGL 0,36
979 979 0012F ??ef_iic_mcu_write_a_byte:
980 980 0012F C0 pop ax ;[INF] 1, 1
981 981 00130 C6 pop hl ;[INF] 1, 1
982 982 00131 D7 ret ;[INF] 1, 6
983 983 00132 ??ee_iic_mcu_write_a_byte:
984 984 ; line 278 :
985 985 ; line 279 :
986 986 ; line 280 :
987 987 ; line 281 : /* ========================================================
988 988 ; line 282 : <20>X<EFBFBD><58><EFBFBD>[<5B>u<EFBFBD>փ<EFBFBD><D683>C<EFBFBD>g
989 989 ; line 283 : <20><><EFBFBD>W<EFBFBD>X<EFBFBD>^ adrs <20><><EFBFBD><EFBFBD>ɁA
990 990 ; line 284 : *str<74><72><EFBFBD><EFBFBD>
991 991 ; line 285 : len<65><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
992 992 ; line 286 :
993 993 ; line 287 : 0 <20><><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><49>
994 994 ; line 288 : 1 <20>X<EFBFBD><58><EFBFBD>[<5B>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD>
995 995 ; line 289 : 2 <20>o<EFBFBD>X<EFBFBD><58><EFBFBD>N<EFBFBD><4E><EFBFBD>ɐ<EFBFBD><C990>L<EFBFBD><4C><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482>ă^<5E>C<EFBFBD><43><EFBFBD>A<EFBFBD>E<EFBFBD>g
996 996 ; line 290 : 3 <20>O<EFBFBD>Ɏw<C98E><77><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʐM<CA90><4D><EFBFBD>܂<EFBFBD><DC82>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD>ĂȂ<C482>
997 997 ; line 291 : <20>y<EFBFBD><79><EFBFBD>z
998 998 ; line 292 : <20>X<EFBFBD><58><EFBFBD>[<5B>u<EFBFBD><75><EFBFBD>E<EFBFBD>F<EFBFBD>C<EFBFBD>g<EFBFBD>R<EFBFBD><52><EFBFBD>f<EFBFBD>B<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>o<EFBFBD><6F><EFBFBD><EFBFBD><EFBFBD>Ƃ͋֎~<7E>ł<EFBFBD><C582>B
999 999 ; line 293 : <20><><EFBFBD>̏ꍇ<CC8F>ł<EFBFBD><C582>G<EFBFBD><47><EFBFBD>[<5B><><EFBFBD>o<EFBFBD>Ȃǂł<C782><C582>܂<EFBFBD><DC82><EFBFBD>
1000 1000 ; line 294 : DMA1<41><31><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD>܂<EFBFBD><DC82>B
1001 1001 ; line 295 : ***************************************************************
1002 1002 ; ***************/
1003 1003 ; line 296 : err iic_mcu_write( u8 slave, u8 adrs, u8 len, void * src )
1004 1004 ; line 297 : {
1005 1005 00132 _iic_mcu_write:
1006 1006 $DGL 1,116
1007 1007 00132 C7 push hl ;[INF] 1, 1
1008 1008 00133 C1 push ax ;[INF] 1, 1
1009 1009 00134 FBF8FF movw hl,sp ;[INF] 3, 1
1010 1010 00137 ??bf_iic_mcu_write:
1011 1011 ; line 298 : //*
1012 1012 ; line 299 : // <20>g<EFBFBD>p<EFBFBD><70><EFBFBD>Ȃ<EFBFBD><C882>҂<EFBFBD>
1013 1013 ; line 300 : if( iic_mcu_initialized == 0 )
1014 1014 $DGL 0,4
1015 1015 00137 R31220003 bt _iic_mcu_initialized,$?L0038 ;[INF] 4, 5
1016 1016 ; line 301 : {
1017 1017 0013B ??bb00_iic_mcu_write:
1018 1018 ; line 302 : #ifdef _debug_
1019 1019 ; line 303 : iic_mcu_start( );
1020 1020 $DGL 0,7
1021 1021 0013B RFD5902 call !_iic_mcu_start ;[INF] 3, 3
1022 1022 0013E ??eb00_iic_mcu_write:
1023 1023 ; line 304 : #else
1024 1024 ; line 305 : while( 1 )
1025 1025 ; line 306 : {
1026 1026 ; line 307 : }
1027 1027 ; line 308 : #endif
1028 1028 ; line 309 : }
1029 1029 0013E ?L0038:
1030 1030 ; line 310 : while( iic_mcu_busy )
1031 1031 $DGL 0,14
1032 1032 0013E R31140003 bf _iic_mcu_busy,$?L0041 ;[INF] 4, 5
1033 1033 ; line 311 : {
1034 1034 00142 ??bb01_iic_mcu_write:
1035 1035 ; line 312 : NOP( );
1036 1036 $DGL 0,16
1037 1037 00142 00 nop ;[INF] 1, 1
1038 1038 00143 ??eb01_iic_mcu_write:
1039 1039 ; line 313 : }
1040 1040 $DGL 0,17
1041 1041 00143 EFF9 br $?L0038 ;[INF] 2, 3
1042 1042 00145 ?L0041:
1043 1043 ; line 314 : /*/
1044 1044 ; line 315 : // <20>g<EFBFBD>p<EFBFBD><70><EFBFBD>Ȃ<EFBFBD><C882>A<EFBFBD><41>
1045 1045 ; line 316 : if( iic_mcu_initialized == 0 ){
1046 1046 ; line 317 : return(0x80);
1047 1047 ; line 318 : }
1048 1048 ; line 319 : if( iic_mcu_busy != 0 ){
1049 1049 ; line 320 : return( 3 );
1050 1050 ; line 321 : }
1051 1051 ; line 322 : //*/
1052 1052 ; line 323 : iic_mcu_busy = 1;
1053 1053 $DGL 0,27
1054 1054 00145 R711200 set1 _iic_mcu_busy ;[INF] 3, 2
1055 1055 ; line 324 : // <20>X<EFBFBD>^<5E>[<5B>g<EFBFBD>R<EFBFBD><52><EFBFBD>f<EFBFBD>B<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD>ƃX<C683><58><EFBFBD>[<5B>u<EFBFBD>̌Ăяo<D18F><6F>...
1056 1056 ; line 325 : IICMK10 = 1;
1057 1057 $DGL 0,29
1058 1058 00148 710AE6 set1 MK1L.0 ;[INF] 3, 2
1059 1059 ; line 326 : IICIF10 = 0;
1060 1060 $DGL 0,30
1061 1061 0014B 710BE2 clr1 IF1L.0 ;[INF] 3, 2
1062 1062 ; line 327 : if( iic_mcu_call_slave( slave ) != 0 )
1063 1063 $DGL 0,31
1064 1064 0014E RFD1300 call !bs_F0084 ;[INF] 3, 3
1065 1065 00151 DD09 bz $?L0042 ;[INF] 2, 4
1066 1066 ; line 328 : {
1067 1067 00153 ??bb02_iic_mcu_write:
1068 1068 ; line 329 : iic_mcu_busy = 0;
1069 1069 $DGL 0,33
1070 1070 00153 R711300 clr1 _iic_mcu_busy ;[INF] 3, 2
1071 1071 ; line 330 : EI( );
1072 1072 $DGL 0,34
1073 1073 00156 717AFA ei ;[INF] 3, 4
1074 1074 ; line 331 : return ( ERR_NAK );
1075 1075 $DGL 0,35
1076 1076 00159 E7 onew bc ;[INF] 1, 1
1077 1077 0015A EF52 br $?L0037 ;[INF] 2, 3
1078 1078 0015C ??eb02_iic_mcu_write:
1079 1079 ; line 332 : }
1080 1080 0015C ?L0042:
1081 1081 ; line 333 :
1082 1082 ; line 334 : IICIF10 = 0;
1083 1083 $DGL 0,38
1084 1084 0015C 710BE2 clr1 IF1L.0 ;[INF] 3, 2
1085 1085 ; line 335 : if( !iic_mcu_wo_dma )
1086 1086 $DGL 0,39
1087 1087 0015F R31020039 bt _iic_mcu_wo_dma,$?L0044 ;[INF] 4, 5
1088 1088 ; line 336 : {
1089 1089 00163 ??bb03_iic_mcu_write:
1090 1090 ; line 337 : // DMA<4D><41><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD><EFBFBD><EFBFBD>i<EFBFBD>ʏ<EFBFBD><CA8F>j
1091 1091 ; line 338 :
1092 1092 ; line 339 : // <20><><EFBFBD>W<EFBFBD>X<EFBFBD>^<5E>A<EFBFBD>h<EFBFBD><68><EFBFBD>X<EFBFBD>𑗂<EFBFBD><F0919782>A<EFBFBD>f<EFBFBD>[<5B>^<5E>̏<EFBFBD><CC8F><EFBFBD>
1093 1093 ; line 340 : memcpy( iic_send_work, src, 4 ); //<2F>o<EFBFBD>b<EFBFBD>t<EFBFBD>@<40>Ƃ<EFBFBD><C682><EFBFBD>
1094 1094 ; 4<>o<EFBFBD>C<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD>p<EFBFBD>ӂ<EFBFBD><D382>Ė<EFBFBD><C496><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߁B
1095 1095 $DGL 0,44
1096 1096 00163 C7 push hl ;[INF] 1, 1
1097 1097 00164 R340000 movw de,#loww (_iic_send_work) ;[INF] 3, 1
1098 1098 00167 AC0C movw ax,[hl+12] ; src ;[INF] 2, 1
1099 1099 00169 16 movw hl,ax ;[INF] 1, 1
1100 1100 0016A 5204 mov c,#04H ; 4 ;[INF] 2, 1
1101 1101 0016C ?L0046:
1102 1102 0016C 8B mov a,[hl] ;[INF] 1, 1
1103 1103 0016D 99 mov [de],a ;[INF] 1, 1
1104 1104 0016E A5 incw de ;[INF] 1, 1
1105 1105 0016F A7 incw hl ;[INF] 1, 1
1106 1106 00170 92 dec c ;[INF] 1, 1
1107 1107 00171 DFF9 bnz $?L0046 ;[INF] 2, 4
1108 1108 00173 C6 pop hl ;[INF] 1, 1
1109 1109 ; line 341 : // DMA<4D>Z<EFBFBD>b<EFBFBD>g
1110 1110 ; line 342 : while( DST1 )
1111 1111 $DGL 0,46
1112 1112 00174 ?L0048:
1113 1113 00174 3184BD02 bf DRC1.0,$?L0049 ;[INF] 4, 5
1114 1114 ; line 343 : {;
1115 1115 00178 ??bb04_iic_mcu_write:
1116 1116 00178 ??eb04_iic_mcu_write:
1117 1117 ; line 344 : }
1118 1118 $DGL 0,48
1119 1119 00178 EFFA br $?L0048 ;[INF] 2, 3
1120 1120 0017A ?L0049:
1121 1121 ; line 345 :
1122 1122 ; line 346 : DEN1 = 1;
1123 1123 $DGL 0,50
1124 1124 0017A 717ABD set1 DRC1.7 ;[INF] 3, 2
1125 1125 ; line 347 : DSA1 = ( u8 ) ( &SIO10 );
1126 1126 $DGL 0,51
1127 1127 0017D CEB144 mov DSA1,#044H ; 68 ;[INF] 3, 1
1128 1128 ; line 348 : DRA1 = ( u16 ) iic_send_work;
1129 1129 $DGL 0,52
1130 1130 00180 RCBB40000 movw DRA1,#loww (_iic_send_work) ;[INF] 4, 1
1131 1131 ; line 349 : DBC1 = len;
1132 1132 $DGL 0,53
1133 1133 00184 8C0A mov a,[hl+10] ; len ;[INF] 2, 1
1134 1134 00186 318E shrw ax,8 ;[INF] 2, 1
1135 1135 00188 BEB8 movw DBC1,ax ;[INF] 2, 1
1136 1136 ; line 350 : DMC1 = DRS | 8; // RAM -> SFR, 8bit, IRQ, IIC10
1137 1137 $DGL 0,54
1138 1138 0018A CEBB48 mov DMC1,#048H ; 72 ;[INF] 3, 1
1139 1139 ; line 351 :
1140 1140 ; line 352 : DMAIF1 = 0;
1141 1141 $DGL 0,56
1142 1142 0018D 714BE1 clr1 IF0H.4 ;[INF] 3, 2
1143 1143 ; line 353 : DMAMK1 = 0;
1144 1144 $DGL 0,57
1145 1145 00190 714BE5 clr1 MK0H.4 ;[INF] 3, 2
1146 1146 ; line 354 : DST1 = 1;
1147 1147 $DGL 0,58
1148 1148 00193 710ABD set1 DRC1.0 ;[INF] 3, 2
1149 1149 ; line 355 :
1150 1150 ; line 356 : SIO10 = adrs; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ςȂ<CF82><C882>I <20><><EFBFBD><EFBFBD>݂<EFBFBD><DD82><EFBFBD><EFBFBD><EFBFBD>
1151 1151 ; <20><><EFBFBD><EFBFBD>DMA<4D>X<EFBFBD>^<5E>[<5B>g
1152 1152 $DGL 0,60
1153 1153 00196 8C08 mov a,[hl+8] ; adrs ;[INF] 2, 1
1154 1154 00198 9E44 mov SIO10,a ;[INF] 2, 1
1155 1155 0019A ??eb03_iic_mcu_write:
1156 1156 ; line 357 : // <20>c<EFBFBD><63><EFBFBD>͊<EFBFBD><CD8A><EFBFBD>݃<EFBFBD><DD83>[<5B>`<60><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
1157 1157 ; line 358 : }
1158 1158 $DGL 0,62
1159 1159 0019A EF11 br $?L0045 ;[INF] 2, 3
1160 1160 0019C ?L0044:
1161 1161 ; line 359 : else
1162 1162 ; line 360 : {
1163 1163 0019C ??bb05_iic_mcu_write:
1164 1164 ; line 361 : // DMA<4D><41><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD>Ȃ<EFBFBD> //
1165 1165 ; line 362 :
1166 1166 ; line 363 : // <20><><EFBFBD>W<EFBFBD>X<EFBFBD>^<5E>A<EFBFBD>h<EFBFBD><68><EFBFBD>X<EFBFBD>̑<EFBFBD><CC91>M
1167 1167 ; line 364 : SIO10 = adrs;
1168 1168 $DGL 0,68
1169 1169 0019C 8C08 mov a,[hl+8] ; adrs ;[INF] 2, 1
1170 1170 0019E 9E44 mov SIO10,a ;[INF] 2, 1
1171 1171 ; line 365 :
1172 1172 ; line 366 : IICMK10 = 0;
1173 1173 $DGL 0,70
1174 1174 001A0 710BE6 clr1 MK1L.0 ;[INF] 3, 2
1175 1175 ; line 367 : iic_send_wo_dma_len = len;
1176 1176 $DGL 0,71
1177 1177 001A3 8C0A mov a,[hl+10] ; len ;[INF] 2, 1
1178 1178 001A5 R9F0600 mov !_iic_send_wo_dma_len,a ;[INF] 3, 1
1179 1179 ; line 368 : p_iic_send_wo_dma_dat = src;
1180 1180 $DGL 0,72
1181 1181 001A8 AC0C movw ax,[hl+12] ; src ;[INF] 2, 1
1182 1182 001AA RBF0400 movw !_p_iic_send_wo_dma_dat,ax ;[INF] 3, 1
1183 1183 001AD ??eb05_iic_mcu_write:
1184 1184 ; line 369 : // <20>c<EFBFBD><63><EFBFBD>͊<EFBFBD><CD8A><EFBFBD>݃<EFBFBD><DD83>[<5B>`<60><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
1185 1185 ; line 370 : }
1186 1186 001AD ?L0045:
1187 1187 ; line 371 : return ( ERR_SUCCESS );
1188 1188 $DGL 0,75
1189 1189 001AD F7 clrw bc ;[INF] 1, 1
1190 1190 ; line 372 : }
1191 1191 001AE ?L0037:
1192 1192 $DGL 0,76
1193 1193 001AE ??ef_iic_mcu_write:
1194 1194 001AE C0 pop ax ;[INF] 1, 1
1195 1195 001AF C6 pop hl ;[INF] 1, 1
1196 1196 001B0 D7 ret ;[INF] 1, 6
1197 1197 001B1 ??ee_iic_mcu_write:
1198 1198 ; line 373 :
1199 1199 ; line 374 :
1200 1200 ; line 375 :
1201 1201 ; line 376 :
1202 1202 ; line 377 : /* ========================================================
1203 1203 ; line 378 : DMA<4D>P<EFBFBD>]<5D><><EFBFBD>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E88D9E>
1204 1204 ; line 379 : IIC_mcu <20>̑<EFBFBD><CC91>M<EFBFBD><4D><EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B><><EFBFBD>o<EFBFBD>b<EFBFBD>N<EFBFBD>֐<EFBFBD><D690>̂悤<CC82>Ȃ<EFBFBD><C882><EFBFBD>
1205 1205 ; line 380 : <20><><EFBFBD>FDMA<4D>]<5D><><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŁAI2C<32>̓]<5D><><EFBFBD>͏I<CD8F><49><EFBFBD><EFBFBD><EFBFBD>Ă܂<C482><DC82><EFBFBD>
1206 1206 ; line 381 : <20>@ <20><><EFBFBD><EFBFBD>ݒ<EFBFBD><DD92>ȂǂŁADMA1<41>̏<EFBFBD><CC8F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A
1207 1207 ; line 382 : IIC10<31>̊<EFBFBD><CC8A><EFBFBD>݂̏<DD82><CC8F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ł<EFBFBD><C582><EFBFBD><EFBFBD>ɁA<C981><41><EFBFBD><EFBFBD>݂𔭐<DD82><F094AD90><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><C882>Ȃ<EFBFBD>
1208 1208 ; line 383 : <20><><EFBFBD><EFBFBD><EA82AA><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B<EFBFBD>܂<EFBFBD><DC82>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD>ɂ<EFBFBD><C982><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B
1209 1209 ; line 384 : <20>@<40><><EFBFBD>̂<EFBFBD><CC82>߁ADMA<4D>d<EFBFBD>l<EFBFBD>̍<EFBFBD><CC8D>ق́A<CD81>Ō<EFBFBD><C58C>̃o<CC83>C<EFBFBD>g<EFBFBD>͑<EFBFBD><CD91>M<EFBFBD><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
1210 1210 ; line 385 : <20>t<EFBFBD><74><EFBFBD>O<EFBFBD>̃|<7C>[<5B><><EFBFBD><EFBFBD><EFBFBD>O<EFBFBD>Ŋm<C58A>F<EFBFBD><46><EFBFBD>܂<EFBFBD><DC82>B
1211 1211 ; line 386 : ======================================================== */
1212 1212 ; line 387 : __interrupt void int_dma1( )
1213 1213 ; line 388 : {
1214 1214
1215 1215 ----- @@BASE CSEG BASE
1216 1216 00000 _int_dma1:
1217 1217 $DGL 1,151
1218 1218 00000 C1 push ax ;[INF] 1, 1
1219 1219 00001 C3 push bc ;[INF] 1, 1
1220 1220 00002 C5 push de ;[INF] 1, 1
1221 1221 00003 C7 push hl ;[INF] 1, 1
1222 1222 00004 520C mov c,#0CH ;[INF] 2, 1
1223 1223 00006 92 dec c ;[INF] 1, 1
1224 1224 00007 92 dec c ;[INF] 1, 1
1225 1225 00008 R690000 movw ax,_@SEGAX[c] ;[INF] 3, 1
1226 1226 0000B C1 push ax ;[INF] 1, 1
1227 1227 0000C DFF8 bnz $$-6 ;[INF] 2, 4
1228 1228 0000E 8EFD mov a,ES ;[INF] 2, 1
1229 1229 00010 70 mov x,a ;[INF] 1, 1
1230 1230 00011 8EFC mov a,CS ;[INF] 2, 1
1231 1231 00013 C1 push ax ;[INF] 1, 1
1232 1232 00014 ??bf_int_dma1:
1233 1233 ; line 389 : u16 i = 0;
1234 1234 $DGL 0,2
1235 1235 00014 F6 clrw ax ;[INF] 1, 1
1236 1236 00015 16 movw hl,ax ;[INF] 1, 1
1237 1237 ; line 390 :
1238 1238 ; line 391 : EI();
1239 1239 $DGL 0,4
1240 1240 00016 717AFA ei ;[INF] 3, 4
1241 1241 ; line 392 :
1242 1242 ; line 393 : DMAMK1 = 1;
1243 1243 $DGL 0,6
1244 1244 00019 714AE5 set1 MK0H.4 ;[INF] 3, 2
1245 1245 ; line 394 : DEN1 = 0;
1246 1246 $DGL 0,7
1247 1247 0001C 717BBD clr1 DRC1.7 ;[INF] 3, 2
1248 1248 ; line 395 : while( ( SSR02L & TSF0 ) != 0 )
1249 1249 $DGL 0,8
1250 1250 0001F ?L0052:
1251 1251 0001F 5140 mov a,#040H ; 64 ;[INF] 2, 1
1252 1252 00021 5F0401 and a,!SSR02L ;[INF] 3, 1
1253 1253 00024 D1 cmp0 a ;[INF] 1, 1
1254 1254 00025 DD05 bz $?L0053 ;[INF] 2, 4
1255 1255 ; line 396 : {
1256 1256 00027 ??bb00_int_dma1:
1257 1257 ; line 397 : if( ++i == 0 ) // <20>^<5E>C<EFBFBD><43><EFBFBD>A<EFBFBD>E<EFBFBD>g<EFBFBD>H
1258 1258 $DGL 0,10
1259 1259 00027 A7 incw hl ;[INF] 1, 1
1260 1260 00028 F6 clrw ax ;[INF] 1, 1
1261 1261 00029 47 cmpw ax,hl ;[INF] 1, 1
1262 1262 0002A DFF3 bnz $?L0052 ;[INF] 2, 4
1263 1263 ; line 398 : {
1264 1264 0002C ??bb01_int_dma1:
1265 1265 ; line 399 : break;
1266 1266 0002C ??eb01_int_dma1:
1267 1267 ; line 400 : }
1268 1268 0002C ??eb00_int_dma1:
1269 1269 ; line 401 : }
1270 1270 0002C ?L0053:
1271 1271 ; line 402 :
1272 1272 ; line 403 : // iic_mcu_send_sp(); // ISR<53><52><EFBFBD>ŊO<C58A>̊֐<CC8A><D690><EFBFBD><EFBFBD>ĂԂ͓̂s<CD93><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
1273 1273 ; <20>œW<C593>J
1274 1274 ; line 404 : {
1275 1275 0002C ??bb02_int_dma1:
1276 1276 ; line 405 : ST0 = 0x0004;
1277 1277 $DGL 0,18
1278 1278 0002C 300400 movw ax,#04H ; 4 ;[INF] 3, 1
1279 1279 0002F BF2401 movw !ST0,ax ;[INF] 3, 1
1280 1280 ; line 406 : SOE0 = 0; // <20><><EFBFBD>M<EFBFBD>̎<EFBFBD><CC8E>͂<EFBFBD><CD82><EFBFBD><EFBFBD>ƑO<C691>Ɂu<C981><75><EFBFBD>v<EFBFBD>ݒ<EFBFBD>
1281 1281 ; <20><><EFBFBD>Ă<EFBFBD><C482>B(NACK<43>o<EFBFBD><6F>)
1282 1282 $DGL 0,19
1283 1283 00032 F6 clrw ax ;[INF] 1, 1
1284 1284 00033 BF2A01 movw !SOE0,ax ;[INF] 3, 1
1285 1285 ; line 407 : SO0 = 0x0000 | TAUS_MASK; // SCL
1286 1286 $DGL 0,20
1287 1287 00036 300B0B movw ax,#0B0BH ; 2827 ;[INF] 3, 1
1288 1288 00039 BF2801 movw !SO0,ax ;[INF] 3, 1
1289 1289 ; line 408 : nop8();
1290 1290 $DGL 0,21
1291 1291 0003C RFD1B00 call !_nop8 ;[INF] 3, 3
1292 1292 ; line 409 : /*
1293 1293 ; line 410 : NOP( );
1294 1294 ; line 411 : NOP( );
1295 1295 ; line 412 : NOP( );
1296 1296 ; line 413 : NOP( );
1297 1297 ; line 414 : #ifdef _OVERCLOCK_
1298 1298 ; line 415 : NOP( );
1299 1299 ; line 416 : NOP( );
1300 1300 ; line 417 : NOP( );
1301 1301 ; line 418 : NOP( );
1302 1302 ; line 419 : NOP( );
1303 1303 ; line 420 : #endif
1304 1304 ; line 421 : */
1305 1305 ; line 422 : SO0 = 0x0400 | TAUS_MASK; // SCL
1306 1306 $DGL 0,35
1307 1307 0003F 300B0F movw ax,#0F0BH ; 3851 ;[INF] 3, 1
1308 1308 00042 BF2801 movw !SO0,ax ;[INF] 3, 1
1309 1309 ; line 423 : nop8();
1310 1310 $DGL 0,36
1311 1311 00045 RFD1B00 call !_nop8 ;[INF] 3, 3
1312 1312 ; line 424 : /*
1313 1313 ; line 425 : NOP( );
1314 1314 ; line 426 : NOP( );
1315 1315 ; line 427 : NOP( );
1316 1316 ; line 428 : NOP( );
1317 1317 ; line 429 : #ifdef _OVERCLOCK_
1318 1318 ; line 430 : NOP( );
1319 1319 ; line 431 : NOP( );
1320 1320 ; line 432 : NOP( );
1321 1321 ; line 433 : NOP( );
1322 1322 ; line 434 : NOP( );
1323 1323 ; line 435 : #endif
1324 1324 ; line 436 : */
1325 1325 ; line 437 : SO0 = 0x0404 | TAUS_MASK;
1326 1326 $DGL 0,50
1327 1327 00048 300F0F movw ax,#0F0FH ; 3855 ;[INF] 3, 1
1328 1328 0004B BF2801 movw !SO0,ax ;[INF] 3, 1
1329 1329 0004E ??eb02_int_dma1:
1330 1330 ; line 438 : }
1331 1331 ; line 439 : IICMK10 = 1;
1332 1332 $DGL 0,52
1333 1333 0004E 710AE6 set1 MK1L.0 ;[INF] 3, 2
1334 1334 ; line 440 : iic_mcu_busy = 0;
1335 1335 $DGL 0,53
1336 1336 00051 R711300 clr1 _iic_mcu_busy ;[INF] 3, 2
1337 1337 ; line 441 : }
1338 1338 $DGL 0,54
1339 1339 00054 ??ef_int_dma1:
1340 1340 00054 C0 pop ax ;[INF] 1, 1
1341 1341 00055 9EFC mov CS,a ;[INF] 2, 1
1342 1342 00057 60 mov a,x ;[INF] 1, 1
1343 1343 00058 9EFD mov ES,a ;[INF] 2, 1
1344 1344 0005A R340000 movw de,#_@SEGAX ;[INF] 3, 1
1345 1345 0005D 5206 mov c,#06H ;[INF] 2, 1
1346 1346 0005F C0 pop ax ;[INF] 1, 1
1347 1347 00060 B9 movw [de],ax ;[INF] 1, 1
1348 1348 00061 A5 incw de ;[INF] 1, 1
1349 1349 00062 A5 incw de ;[INF] 1, 1
1350 1350 00063 92 dec c ;[INF] 1, 1
1351 1351 00064 DFF9 bnz $$-5 ;[INF] 2, 4
1352 1352 00066 C6 pop hl ;[INF] 1, 1
1353 1353 00067 C4 pop de ;[INF] 1, 1
1354 1354 00068 C2 pop bc ;[INF] 1, 1
1355 1355 00069 C0 pop ax ;[INF] 1, 1
1356 1356 0006A 61FC reti ;[INF] 2, 6
1357 1357 0006C ??ee_int_dma1:
1358 1358 ; line 442 :
1359 1359 ; line 443 :
1360 1360 ; line 444 :
1361 1361 ; line 445 : /* ========================================================
1362 1362 ; line 446 : IIC MCU<43>̃o<CC83>C<EFBFBD>g<EFBFBD><67><EFBFBD>o<EFBFBD><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E88D9E>
1363 1363 ; line 447 : <20><>DMA<4D>g<EFBFBD>p<EFBFBD><70><EFBFBD>͎g<CD8E>p<EFBFBD><70><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B
1364 1364 ; line 448 : <20>@<40><><EFBFBD>̊<EFBFBD><CC8A><EFBFBD>ݏ<EFBFBD><DD8F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DMA<4D>̊<EFBFBD><CC8A><EFBFBD>݂ɂ<DD82><C982><EFBFBD><EFBFBD><EFBFBD><EFBFBD>΂Ȃ<CE82><C882><EFBFBD>A
1365 1365 ; line 449 : <20>@IIC<49><43><EFBFBD><EFBFBD>݂̃Z<CC83>b<EFBFBD>g<EFBFBD><67><EFBFBD>Ԃɍ<D482><C98D><EFBFBD><ED82B8><EFBFBD><EFBFBD>Ƃ<EFBFBD><C682><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
1366 1366 ; line 450 : ======================================================== */
1367 1367 ; line 451 : __interrupt void int_iic10( )
1368 1368 ; line 452 : {
1369 1369 0006C _int_iic10:
1370 1370 $DGL 1,170
1371 1371 0006C C1 push ax ;[INF] 1, 1
1372 1372 0006D C3 push bc ;[INF] 1, 1
1373 1373 0006E C5 push de ;[INF] 1, 1
1374 1374 0006F C7 push hl ;[INF] 1, 1
1375 1375 00070 520C mov c,#0CH ;[INF] 2, 1
1376 1376 00072 92 dec c ;[INF] 1, 1
1377 1377 00073 92 dec c ;[INF] 1, 1
1378 1378 00074 R690000 movw ax,_@SEGAX[c] ;[INF] 3, 1
1379 1379 00077 C1 push ax ;[INF] 1, 1
1380 1380 00078 DFF8 bnz $$-6 ;[INF] 2, 4
1381 1381 0007A 8EFD mov a,ES ;[INF] 2, 1
1382 1382 0007C 70 mov x,a ;[INF] 1, 1
1383 1383 0007D 8EFC mov a,CS ;[INF] 2, 1
1384 1384 0007F C1 push ax ;[INF] 1, 1
1385 1385 00080 ??bf_int_iic10:
1386 1386 ; line 453 : EI();
1387 1387 $DGL 0,2
1388 1388 00080 717AFA ei ;[INF] 3, 4
1389 1389 ; line 454 : if( iic_send_wo_dma_len != 0 )
1390 1390 $DGL 0,3
1391 1391 00083 RD50600 cmp0 !_iic_send_wo_dma_len ;[INF] 3, 1
1392 1392 00086 DD0E bz $?L0058 ;[INF] 2, 4
1393 1393 ; line 455 : {
1394 1394 00088 ??bb00_int_iic10:
1395 1395 ; line 456 : SIO10 = *p_iic_send_wo_dma_dat;
1396 1396 $DGL 0,5
1397 1397 00088 REB0400 movw de,!_p_iic_send_wo_dma_dat ;[INF] 3, 1
1398 1398 0008B 89 mov a,[de] ;[INF] 1, 1
1399 1399 0008C 9E44 mov SIO10,a ;[INF] 2, 1
1400 1400 ; line 457 : p_iic_send_wo_dma_dat++;
1401 1401 $DGL 0,6
1402 1402 0008E RA20400 incw !_p_iic_send_wo_dma_dat ;[INF] 3, 2
1403 1403 ; line 458 : iic_send_wo_dma_len--;
1404 1404 $DGL 0,7
1405 1405 00091 RB00600 dec !_iic_send_wo_dma_len ;[INF] 3, 2
1406 1406 ; line 459 : return;
1407 1407 $DGL 0,8
1408 1408 00094 EF2B br $?L0057 ;[INF] 2, 3
1409 1409 00096 ??eb00_int_iic10:
1410 1410 ; line 460 : }
1411 1411 00096 ?L0058:
1412 1412 ; line 461 :
1413 1413 ; line 462 : // <20>Ō<EFBFBD><C58C>̃o<CC83>C<EFBFBD>g<EFBFBD><67><EFBFBD>M<EFBFBD><4D><EFBFBD><EFBFBD>
1414 1414 ; line 463 : IICMK10 = 1;
1415 1415 $DGL 0,12
1416 1416 00096 710AE6 set1 MK1L.0 ;[INF] 3, 2
1417 1417 ; line 464 : // iic_mcu_send_sp(); // ISR<53><52><EFBFBD>ŊO<C58A>̊֐<CC8A><D690><EFBFBD><EFBFBD>ĂԂ͓̂s<CD93><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
1418 1418 ; <20>̂œW<C593>J
1419 1419 ; line 465 : {
1420 1420 00099 ??bb01_int_iic10:
1421 1421 ; line 466 : ST0 = 0x0004;
1422 1422 $DGL 0,15
1423 1423 00099 300400 movw ax,#04H ; 4 ;[INF] 3, 1
1424 1424 0009C BF2401 movw !ST0,ax ;[INF] 3, 1
1425 1425 ; line 467 : SOE0 = 0; // <20><><EFBFBD>M<EFBFBD>̎<EFBFBD><CC8E>͂<EFBFBD><CD82><EFBFBD><EFBFBD>ƑO<C691>Ɂu<C981><75><EFBFBD>v<EFBFBD>ݒ<EFBFBD>
1426 1426 ; <20><><EFBFBD>Ă<EFBFBD><C482>B(NACK<43>o<EFBFBD><6F>)
1427 1427 $DGL 0,16
1428 1428 0009F F6 clrw ax ;[INF] 1, 1
1429 1429 000A0 BF2A01 movw !SOE0,ax ;[INF] 3, 1
1430 1430 ; line 468 : SO0 = 0x0000 | TAUS_MASK; // SCL
1431 1431 $DGL 0,17
1432 1432 000A3 300B0B movw ax,#0B0BH ; 2827 ;[INF] 3, 1
1433 1433 000A6 BF2801 movw !SO0,ax ;[INF] 3, 1
1434 1434 ; line 469 : nop8();
1435 1435 $DGL 0,18
1436 1436 000A9 RFD1B00 call !_nop8 ;[INF] 3, 3
1437 1437 ; line 470 : /*
1438 1438 ; line 471 : NOP( );
1439 1439 ; line 472 : NOP( );
1440 1440 ; line 473 : NOP( );
1441 1441 ; line 474 : NOP( );
1442 1442 ; line 475 : #ifdef _OVERCLOCK_
1443 1443 ; line 476 : NOP( );
1444 1444 ; line 477 : NOP( );
1445 1445 ; line 478 : NOP( );
1446 1446 ; line 479 : NOP( );
1447 1447 ; line 480 : NOP( );
1448 1448 ; line 481 : #endif
1449 1449 ; line 482 : */
1450 1450 ; line 483 : SO0 = 0x0400 | TAUS_MASK; // SCL
1451 1451 $DGL 0,32
1452 1452 000AC 300B0F movw ax,#0F0BH ; 3851 ;[INF] 3, 1
1453 1453 000AF BF2801 movw !SO0,ax ;[INF] 3, 1
1454 1454 ; line 484 : nop8();
1455 1455 $DGL 0,33
1456 1456 000B2 RFD1B00 call !_nop8 ;[INF] 3, 3
1457 1457 ; line 485 : /*
1458 1458 ; line 486 : NOP( );
1459 1459 ; line 487 : NOP( );
1460 1460 ; line 488 : NOP( );
1461 1461 ; line 489 : NOP( );
1462 1462 ; line 490 : #ifdef _OVERCLOCK_
1463 1463 ; line 491 : NOP( );
1464 1464 ; line 492 : NOP( );
1465 1465 ; line 493 : NOP( );
1466 1466 ; line 494 : NOP( );
1467 1467 ; line 495 : NOP( );
1468 1468 ; line 496 : #endif
1469 1469 ; line 497 : */
1470 1470 ; line 498 : SO0 = 0x0404 | TAUS_MASK;
1471 1471 $DGL 0,47
1472 1472 000B5 300F0F movw ax,#0F0FH ; 3855 ;[INF] 3, 1
1473 1473 000B8 BF2801 movw !SO0,ax ;[INF] 3, 1
1474 1474 000BB ??eb01_int_iic10:
1475 1475 ; line 499 : }
1476 1476 ; line 500 : iic_mcu_wo_dma = 0;
1477 1477 $DGL 0,49
1478 1478 000BB R710300 clr1 _iic_mcu_wo_dma ;[INF] 3, 2
1479 1479 ; line 501 : iic_mcu_busy = 0;
1480 1480 $DGL 0,50
1481 1481 000BE R711300 clr1 _iic_mcu_busy ;[INF] 3, 2
1482 1482 ; line 502 : }
1483 1483 000C1 ?L0057:
1484 1484 $DGL 0,51
1485 1485 000C1 ??ef_int_iic10:
1486 1486 000C1 C0 pop ax ;[INF] 1, 1
1487 1487 000C2 9EFC mov CS,a ;[INF] 2, 1
1488 1488 000C4 60 mov a,x ;[INF] 1, 1
1489 1489 000C5 9EFD mov ES,a ;[INF] 2, 1
1490 1490 000C7 R340000 movw de,#_@SEGAX ;[INF] 3, 1
1491 1491 000CA 5206 mov c,#06H ;[INF] 2, 1
1492 1492 000CC C0 pop ax ;[INF] 1, 1
1493 1493 000CD B9 movw [de],ax ;[INF] 1, 1
1494 1494 000CE A5 incw de ;[INF] 1, 1
1495 1495 000CF A5 incw de ;[INF] 1, 1
1496 1496 000D0 92 dec c ;[INF] 1, 1
1497 1497 000D1 DFF9 bnz $$-5 ;[INF] 2, 4
1498 1498 000D3 C6 pop hl ;[INF] 1, 1
1499 1499 000D4 C4 pop de ;[INF] 1, 1
1500 1500 000D5 C2 pop bc ;[INF] 1, 1
1501 1501 000D6 C0 pop ax ;[INF] 1, 1
1502 1502 000D7 61FC reti ;[INF] 2, 6
1503 1503 000D9 ??ee_int_iic10:
1504 1504 ; line 503 :
1505 1505 ; line 504 :
1506 1506 ; line 505 :
1507 1507 ; line 506 : /* ========================================================
1508 1508 ; line 507 : <20>X<EFBFBD><58><EFBFBD>[<5B>u<EFBFBD>̌Ăяo<D18F><6F>
1509 1509 ; line 508 : <20>@<40>X<EFBFBD><58><EFBFBD>[<5B>u<EFBFBD>A<EFBFBD>h<EFBFBD><68><EFBFBD>X<EFBFBD><58><EFBFBD>Ă<EFBFBD><C482>ŁAACK<43>̊m<CC8A>F<EFBFBD>B
1510 1510 ; line 509 : ACK<43>@<40><><EFBFBD>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>ԁF0
1511 1511 ; line 510 : <20>@NACK <20><><EFBFBD>@<40>X<EFBFBD>g<EFBFBD>b<EFBFBD>v<EFBFBD>R<EFBFBD><52><EFBFBD>f<EFBFBD>B<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>o<EFBFBD><6F><EFBFBD>B<EFBFBD>@<40>ԁF1
1512 1512 ; line 511 : ======================================================== */
1513 1513 ; line 512 : static err iic_mcu_call_slave( u8 slave )
1514 1514 ; line 513 : {
1515 1515
1516 1516 ----- ROM_CODE CSEG BASE
1517 1517 001B1 _iic_mcu_call_slave:
1518 1518 $DGL 1,184
1519 1519 001B1 C7 push hl ;[INF] 1, 1
1520 1520 001B2 16 movw hl,ax ;[INF] 1, 1
1521 1521 001B3 ??bf_iic_mcu_call_slave:
1522 1522 ; line 514 : iic_mcu_send_st( );
1523 1523 $DGL 0,2
1524 1524 001B3 RFDEB01 call !_iic_mcu_send_st ;[INF] 3, 3
1525 1525 ; line 515 :
1526 1526 ; line 516 : // SIR02 = SSR02; // NAK<41>G<EFBFBD><47><EFBFBD>[<5B>̃t<CC83><74><EFBFBD>O<EFBFBD>N<EFBFBD><4E><EFBFBD>A
1527 1527 ; line 517 : if( iic_mcu_send_a_byte( slave ) != ERR_SUCCESS )
1528 1528 $DGL 0,5
1529 1529 001B6 17 movw ax,hl ;[INF] 1, 1
1530 1530 001B7 F1 clrb a ;[INF] 1, 1
1531 1531 001B8 RFDC701 call !_iic_mcu_send_a_byte ;[INF] 3, 3
1532 1532 001BB D2 cmp0 c ;[INF] 1, 1
1533 1533 001BC DD06 bz $?L0062 ;[INF] 2, 4
1534 1534 ; line 518 : {
1535 1535 001BE ??bb00_iic_mcu_call_slave:
1536 1536 ; line 519 : iic_mcu_send_sp( );
1537 1537 $DGL 0,7
1538 1538 001BE RFD3902 call !_iic_mcu_send_sp ;[INF] 3, 3
1539 1539 ; line 520 : return ( ERR_NAK ); // <20>w<EFBFBD><77><EFBFBD>̃X<CC83><58><EFBFBD>[<5B>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD> / busy
1540 1540 $DGL 0,8
1541 1541 001C1 E7 onew bc ;[INF] 1, 1
1542 1542 001C2 EF01 br $?L0061 ;[INF] 2, 3
1543 1543 001C4 ??eb00_iic_mcu_call_slave:
1544 1544 ; line 521 : }
1545 1545 001C4 ?L0062:
1546 1546 ; line 522 :
1547 1547 ; line 523 : return ( ERR_SUCCESS );
1548 1548 $DGL 0,11
1549 1549 001C4 F7 clrw bc ;[INF] 1, 1
1550 1550 ; line 524 : }
1551 1551 001C5 ?L0061:
1552 1552 $DGL 0,12
1553 1553 001C5 ??ef_iic_mcu_call_slave:
1554 1554 001C5 C6 pop hl ;[INF] 1, 1
1555 1555 001C6 D7 ret ;[INF] 1, 6
1556 1556 001C7 ??ee_iic_mcu_call_slave:
1557 1557 ; line 525 :
1558 1558 ; line 526 :
1559 1559 ; line 527 :
1560 1560 ; line 528 : /* ========================================================
1561 1561 ; line 529 : <20>ق<EFBFBD><D982>ƂɂP<C982>o<EFBFBD>C<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD>̂<EFBFBD>
1562 1562 ; line 530 : <20><><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD>܂ŋA<C58B><41><EFBFBD>܂<EFBFBD><DC82><EFBFBD>
1563 1563 ; line 531 : ======================================================== */
1564 1564 ; line 532 : static err iic_mcu_send_a_byte( u8 dat )
1565 1565 ; line 533 : {
1566 1566 001C7 _iic_mcu_send_a_byte:
1567 1567 $DGL 1,195
1568 1568 001C7 C7 push hl ;[INF] 1, 1
1569 1569 001C8 16 movw hl,ax ;[INF] 1, 1
1570 1570 001C9 ??bf_iic_mcu_send_a_byte:
1571 1571 ; line 534 : IICMK10 = 1;
1572 1572 $DGL 0,2
1573 1573 001C9 710AE6 set1 MK1L.0 ;[INF] 3, 2
1574 1574 ; line 535 : IICIF10 = 0;
1575 1575 $DGL 0,3
1576 1576 001CC 710BE2 clr1 IF1L.0 ;[INF] 3, 2
1577 1577 ; line 536 : SIO10 = dat;
1578 1578 $DGL 0,4
1579 1579 001CF 66 mov a,l ;[INF] 1, 1
1580 1580 001D0 9E44 mov SIO10,a ;[INF] 2, 1
1581 1581 ; line 537 : while( IICIF10 == 0 )
1582 1582 $DGL 0,5
1583 1583 001D2 ?L0066:
1584 1584 001D2 3182E203 bt IF1L.0,$?L0067 ;[INF] 4, 5
1585 1585 ; line 538 : {
1586 1586 001D6 ??bb00_iic_mcu_send_a_byte:
1587 1587 ; line 539 : NOP( );
1588 1588 $DGL 0,7
1589 1589 001D6 00 nop ;[INF] 1, 1
1590 1590 001D7 ??eb00_iic_mcu_send_a_byte:
1591 1591 ; line 540 : } // <20>ʐM<CA90><4D>
1592 1592 $DGL 0,8
1593 1593 001D7 EFF9 br $?L0066 ;[INF] 2, 3
1594 1594 001D9 ?L0067:
1595 1595 ; line 541 : if( SSR02 != 0 )
1596 1596 $DGL 0,9
1597 1597 001D9 F6 clrw ax ;[INF] 1, 1
1598 1598 001DA 420401 cmpw ax,!SSR02 ;[INF] 3, 1
1599 1599 001DD DD09 bz $?L0068 ;[INF] 2, 4
1600 1600 ; line 542 : {
1601 1601 001DF ??bb01_iic_mcu_send_a_byte:
1602 1602 ; line 543 : SIR02 = SSR02;
1603 1603 $DGL 0,11
1604 1604 001DF AF0401 movw ax,!SSR02 ;[INF] 3, 1
1605 1605 001E2 BF0C01 movw !SIR02,ax ;[INF] 3, 1
1606 1606 ; line 544 : return ( ERR_NAK );
1607 1607 $DGL 0,12
1608 1608 001E5 E7 onew bc ;[INF] 1, 1
1609 1609 001E6 EF01 br $?L0065 ;[INF] 2, 3
1610 1610 001E8 ??eb01_iic_mcu_send_a_byte:
1611 1611 ; line 545 : }
1612 1612 001E8 ?L0068:
1613 1613 ; line 546 : return ( ERR_SUCCESS );
1614 1614 $DGL 0,14
1615 1615 001E8 F7 clrw bc ;[INF] 1, 1
1616 1616 ; line 547 : }
1617 1617 001E9 ?L0065:
1618 1618 $DGL 0,15
1619 1619 001E9 ??ef_iic_mcu_send_a_byte:
1620 1620 001E9 C6 pop hl ;[INF] 1, 1
1621 1621 001EA D7 ret ;[INF] 1, 6
1622 1622 001EB ??ee_iic_mcu_send_a_byte:
1623 1623 ; line 548 :
1624 1624 ; line 549 :
1625 1625 ; line 550 :
1626 1626 ; line 551 : /* ========================================================
1627 1627 ; line 552 : <20>X<EFBFBD>^<5E>[<5B>g<EFBFBD>R<EFBFBD><52><EFBFBD>f<EFBFBD>B<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD>𔭍s
1628 1628 ; line 553 : <20>\<5C>t<EFBFBD>g<EFBFBD>E<EFBFBD>F<EFBFBD>A<EFBFBD><41><EFBFBD><EFBFBD>
1629 1629 ; line 554 : ======================================================== */
1630 1630 ; line 555 : static void iic_mcu_send_st( )
1631 1631 ; line 556 : {
1632 1632 001EB _iic_mcu_send_st:
1633 1633 $DGL 1,210
1634 1634 001EB ??bf_iic_mcu_send_st:
1635 1635 ; line 557 : SO0 &= ~0x0004; // SDA
1636 1636 $DGL 0,2
1637 1637 001EB AF2801 movw ax,!SO0 ;[INF] 3, 1
1638 1638 001EE 08 xch a,x ;[INF] 1, 1
1639 1639 001EF 5CFB and a,#0FBH ; 251 ;[INF] 2, 1
1640 1640 001F1 08 xch a,x ;[INF] 1, 1
1641 1641 001F2 BF2801 movw !SO0,ax ;[INF] 3, 1
1642 1642 ; line 558 : nop8();
1643 1643 $DGL 0,3
1644 1644 001F5 RFD1B00 call !_nop8 ;[INF] 3, 3
1645 1645 ; line 559 : /*
1646 1646 ; line 560 : NOP( );
1647 1647 ; line 561 : NOP( );
1648 1648 ; line 562 : NOP( );
1649 1649 ; line 563 : NOP( );
1650 1650 ; line 564 : #ifdef _OVERCLOCK_
1651 1651 ; line 565 : NOP( );
1652 1652 ; line 566 : NOP( );
1653 1653 ; line 567 : NOP( );
1654 1654 ; line 568 : NOP( );
1655 1655 ; line 569 : NOP( );
1656 1656 ; line 570 : #endif
1657 1657 ; line 571 : */
1658 1658 ; line 572 : SO0 &= ~0x0400; // SCL
1659 1659 $DGL 0,17
1660 1660 001F8 AF2801 movw ax,!SO0 ;[INF] 3, 1
1661 1661 001FB 5CFB and a,#0FBH ; 251 ;[INF] 2, 1
1662 1662 001FD BF2801 movw !SO0,ax ;[INF] 3, 1
1663 1663 ; line 573 : SOE0 = 0x0004; // <20>n<EFBFBD>[<5B>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
1664 1664 $DGL 0,18
1665 1665 00200 300400 movw ax,#04H ; 4 ;[INF] 3, 1
1666 1666 00203 BF2A01 movw !SOE0,ax ;[INF] 3, 1
1667 1667 ; line 574 :
1668 1668 ; line 575 : SCR02 = TXE0 | 1 << SLC02 | 7 << DLS02; // <20><><EFBFBD>M<EFBFBD><4D><EFBFBD>A<C281>f<EFBFBD>[
1669 1669 ; <20>^<5E>͂W<CD82>r<EFBFBD>b<EFBFBD>g<EFBFBD>P<EFBFBD><50>
1670 1670 $DGL 0,20
1671 1671 00206 301780 movw ax,#08017H ; -32745 ;[INF] 3, 1
1672 1672 00209 BF1C01 movw !SCR02,ax ;[INF] 3, 1
1673 1673 ; line 576 : SS0 = 0x0004; // <20>ʐM<CA90>ҋ@
1674 1674 $DGL 0,21
1675 1675 0020C RFD0C00 call !bs_S0087 ;[INF] 3, 3
1676 1676 ; line 577 : }
1677 1677 $DGL 0,22
1678 1678 0020F ??ef_iic_mcu_send_st:
1679 1679 0020F D7 ret ;[INF] 1, 6
1680 1680 00210 ??ee_iic_mcu_send_st:
1681 1681 ; line 578 :
1682 1682 ; line 579 :
1683 1683 ; line 580 :
1684 1684 ; line 581 : /* ========================================================
1685 1685 ; line 582 : <20><><EFBFBD>X<EFBFBD>^<5E>[<5B>g<EFBFBD><67><EFBFBD>s
1686 1686 ; line 583 : ======================================================== */
1687 1687 ; line 584 : static void iic_mcu_send_re_st( )
1688 1688 ; line 585 : {
1689 1689 00210 _iic_mcu_send_re_st:
1690 1690 $DGL 1,216
1691 1691 00210 ??bf_iic_mcu_send_re_st:
1692 1692 ; line 586 : ST0 |= 0x0004;
1693 1693 $DGL 0,2
1694 1694 00210 AF2401 movw ax,!ST0 ;[INF] 3, 1
1695 1695 00213 08 xch a,x ;[INF] 1, 1
1696 1696 00214 6C04 or a,#04H ; 4 ;[INF] 2, 1
1697 1697 00216 08 xch a,x ;[INF] 1, 1
1698 1698 00217 BF2401 movw !ST0,ax ;[INF] 3, 1
1699 1699 ; line 587 : SO0 |= 0x0400 | TAUS_MASK; // ( SDA = H ), SCL -> H
1700 1700 $DGL 0,3
1701 1701 0021A AF2801 movw ax,!SO0 ;[INF] 3, 1
1702 1702 0021D 6C0F or a,#0FH ; 15 ;[INF] 2, 1
1703 1703 0021F 08 xch a,x ;[INF] 1, 1
1704 1704 00220 6C0B or a,#0BH ; 11 ;[INF] 2, 1
1705 1705 00222 08 xch a,x ;[INF] 1, 1
1706 1706 00223 BF2801 movw !SO0,ax ;[INF] 3, 1
1707 1707 ; line 588 : nop8();
1708 1708 $DGL 0,4
1709 1709 00226 RFD1B00 call !_nop8 ;[INF] 3, 3
1710 1710 ; line 589 : /*
1711 1711 ; line 590 : NOP( );
1712 1712 ; line 591 : NOP( );
1713 1713 ; line 592 : NOP( );
1714 1714 ; line 593 : NOP( );
1715 1715 ; line 594 : #ifdef _OVERCLOCK_
1716 1716 ; line 595 : NOP( );
1717 1717 ; line 596 : NOP( );
1718 1718 ; line 597 : NOP( );
1719 1719 ; line 598 : NOP( );
1720 1720 ; line 599 : NOP( );
1721 1721 ; line 600 : #endif
1722 1722 ; line 601 : */
1723 1723 ; line 602 : SOE0 &= ~0x0004; // ( SCL = H ), SDA -> L
1724 1724 $DGL 0,18
1725 1725 00229 AF2A01 movw ax,!SOE0 ;[INF] 3, 1
1726 1726 0022C 08 xch a,x ;[INF] 1, 1
1727 1727 0022D 5CFB and a,#0FBH ; 251 ;[INF] 2, 1
1728 1728 0022F 08 xch a,x ;[INF] 1, 1
1729 1729 00230 BF2A01 movw !SOE0,ax ;[INF] 3, 1
1730 1730 ; line 603 : nop8();
1731 1731 $DGL 0,19
1732 1732 00233 RFD1B00 call !_nop8 ;[INF] 3, 3
1733 1733 ; line 604 : /*
1734 1734 ; line 605 : NOP( );
1735 1735 ; line 606 : NOP( );
1736 1736 ; line 607 : NOP( );
1737 1737 ; line 608 : NOP( );
1738 1738 ; line 609 : #ifdef _OVERCLOCK_
1739 1739 ; line 610 : NOP( );
1740 1740 ; line 611 : NOP( );
1741 1741 ; line 612 : NOP( );
1742 1742 ; line 613 : NOP( );
1743 1743 ; line 614 : NOP( );
1744 1744 ; line 615 : #endif
1745 1745 ; line 616 : */
1746 1746 ; line 617 : iic_mcu_send_st( );
1747 1747 $DGL 0,33
1748 1748 00236 REDEB01 br !_iic_mcu_send_st ;[INF] 3, 3
1749 1749 00239 ??ef_iic_mcu_send_re_st:
1750 1750 00239 ??ee_iic_mcu_send_re_st:
1751 1751 ; line 618 : }
1752 1752 ; line 619 :
1753 1753 ; line 620 :
1754 1754 ; line 621 :
1755 1755 ; line 622 : /* ========================================================
1756 1756 ; line 623 : <20>X<EFBFBD>g<EFBFBD>b<EFBFBD>v<EFBFBD>R<EFBFBD><52><EFBFBD>f<EFBFBD>B<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>s
1757 1757 ; line 624 : <20><><EFBFBD>̑O<CC91>ɁA<C981>u<EFBFBD>Ō<EFBFBD><C58C>̃o<CC83>C<EFBFBD>g<EFBFBD>̑<EFBFBD><CC91><EFBFBD><EFBFBD>M<EFBFBD>v<EFBFBD>̎<EFBFBD><CC8E>ɑO<C991><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>K<EFBFBD>v<EFBFBD>ł<EFBFBD><C582>B
1758 1758 ; line 625 : ======================================================== */
1759 1759 ; line 626 : static void iic_mcu_send_sp( )
1760 1760 ; line 627 : {
1761 1761 00239 _iic_mcu_send_sp:
1762 1762 $DGL 1,222
1763 1763 00239 ??bf_iic_mcu_send_sp:
1764 1764 ; line 628 : ST0 = 0x0004;
1765 1765 $DGL 0,2
1766 1766 00239 RFD0500 call !bs_S0086 ;[INF] 3, 3
1767 1767 ; line 629 : SOE0 = 0; // <20><><EFBFBD>M<EFBFBD>̎<EFBFBD><CC8E>͂<EFBFBD><CD82><EFBFBD><EFBFBD>ƑO<C691>Ɂu<C981><75><EFBFBD>v<EFBFBD>ݒ<EFBFBD>
1768 1768 ; <20><><EFBFBD>Ă<EFBFBD><C482>B(NACK<43>o<EFBFBD><6F>)
1769 1769 $DGL 0,3
1770 1770 0023C F6 clrw ax ;[INF] 1, 1
1771 1771 0023D BF2A01 movw !SOE0,ax ;[INF] 3, 1
1772 1772 ; line 630 : SO0 = 0x0000 | TAUS_MASK; // SCL
1773 1773 $DGL 0,4
1774 1774 00240 300B0B movw ax,#0B0BH ; 2827 ;[INF] 3, 1
1775 1775 00243 BF2801 movw !SO0,ax ;[INF] 3, 1
1776 1776 ; line 631 : nop8();
1777 1777 $DGL 0,5
1778 1778 00246 RFD1B00 call !_nop8 ;[INF] 3, 3
1779 1779 ; line 632 : /*
1780 1780 ; line 633 : NOP( );
1781 1781 ; line 634 : NOP( );
1782 1782 ; line 635 : NOP( );
1783 1783 ; line 636 : NOP( );
1784 1784 ; line 637 : #ifdef _OVERCLOCK_
1785 1785 ; line 638 : NOP( );
1786 1786 ; line 639 : NOP( );
1787 1787 ; line 640 : NOP( );
1788 1788 ; line 641 : NOP( );
1789 1789 ; line 642 : NOP( );
1790 1790 ; line 643 : #endif
1791 1791 ; line 644 : */
1792 1792 ; line 645 : SO0 = 0x0400 | TAUS_MASK; // SCL
1793 1793 $DGL 0,19
1794 1794 00249 300B0F movw ax,#0F0BH ; 3851 ;[INF] 3, 1
1795 1795 0024C BF2801 movw !SO0,ax ;[INF] 3, 1
1796 1796 ; line 646 : nop8();
1797 1797 $DGL 0,20
1798 1798 0024F RFD1B00 call !_nop8 ;[INF] 3, 3
1799 1799 ; line 647 : /*
1800 1800 ; line 648 : NOP( );
1801 1801 ; line 649 : NOP( );
1802 1802 ; line 650 : NOP( );
1803 1803 ; line 651 : NOP( );
1804 1804 ; line 652 : #ifdef _OVERCLOCK_
1805 1805 ; line 653 : NOP( );
1806 1806 ; line 654 : NOP( );
1807 1807 ; line 655 : NOP( );
1808 1808 ; line 656 : NOP( );
1809 1809 ; line 657 : NOP( );
1810 1810 ; line 658 : #endif
1811 1811 ; line 659 : */
1812 1812 ; line 660 : SO0 = 0x0404 | TAUS_MASK;
1813 1813 $DGL 0,34
1814 1814 00252 300F0F movw ax,#0F0FH ; 3855 ;[INF] 3, 1
1815 1815 00255 BF2801 movw !SO0,ax ;[INF] 3, 1
1816 1816 ; line 661 : }
1817 1817 $DGL 0,35
1818 1818 00258 ??ef_iic_mcu_send_sp:
1819 1819 00258 D7 ret ;[INF] 1, 6
1820 1820 00259 ??ee_iic_mcu_send_sp:
1821 1821 ; line 662 :
1822 1822 ; line 663 :
1823 1823 ; line 664 :
1824 1824 ; line 665 :
1825 1825 ; line 666 : /* ========================================================
1826 1826 ; line 667 : <20>y<EFBFBD><79><EFBFBD>t<EFBFBD>F<EFBFBD><46><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>W<EFBFBD><57><EFBFBD>[<5B><><EFBFBD>̏<EFBFBD><CC8F><EFBFBD><EFBFBD><EFBFBD>
1827 1827 ; line 668 : ======================================================== */
1828 1828 ; line 669 : void iic_mcu_start( )
1829 1829 ; line 670 : {
1830 1830 00259 _iic_mcu_start:
1831 1831 $DGL 1,228
1832 1832 00259 ??bf_iic_mcu_start:
1833 1833 ; line 671 : DST1 = 0;
1834 1834 $DGL 0,2
1835 1835 00259 710BBD clr1 DRC1.0 ;[INF] 3, 2
1836 1836 ; line 672 : NOP( ); // 2clk<6C><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>́ADSTn==0<><30><EFBFBD>|<7C>[<5B><>
1837 1837 ; <20><><EFBFBD>O
1838 1838 $DGL 0,3
1839 1839 0025C 00 nop ;[INF] 1, 1
1840 1840 ; line 673 : NOP( );
1841 1841 $DGL 0,4
1842 1842 0025D 00 nop ;[INF] 1, 1
1843 1843 ; line 674 : DEN1 = 0;
1844 1844 $DGL 0,5
1845 1845 0025E 717BBD clr1 DRC1.7 ;[INF] 3, 2
1846 1846 ; line 675 : I2C_PU_on();
1847 1847 $DGL 0,6
1848 1848 00261 ??bb00_iic_mcu_start:
1849 1849 00261 713A25 set1 PM5.3 ;[INF] 3, 2
1850 1850 00264 713A23 set1 PM3.3 ;[INF] 3, 2
1851 1851 00267 6A0E03 or P14,#03H ; 3 ;[INF] 3, 2
1852 1852 0026A 713205 set1 P5.3 ;[INF] 3, 2
1853 1853 0026D 713B25 clr1 PM5.3 ;[INF] 3, 2
1854 1854 00270 713203 set1 P3.3 ;[INF] 3, 2
1855 1855 00273 713B23 clr1 PM3.3 ;[INF] 3, 2
1856 1856 00276 ??eb00_iic_mcu_start:
1857 1857 ; line 676 : SAU0EN = 1;
1858 1858 $DGL 0,7
1859 1859 00276 7120F000 set1 !PER0.2 ;[INF] 4, 2
1860 1860 ; line 677 : nop8();
1861 1861 $DGL 0,8
1862 1862 0027A RFD1B00 call !_nop8 ;[INF] 3, 3
1863 1863 ; line 678 : /*
1864 1864 ; line 679 : NOP( );
1865 1865 ; line 680 : NOP( );
1866 1866 ; line 681 : NOP( );
1867 1867 ; line 682 : NOP( );
1868 1868 ; line 683 : #ifdef _OVERCLOCK_
1869 1869 ; line 684 : NOP( );
1870 1870 ; line 685 : NOP( );
1871 1871 ; line 686 : NOP( );
1872 1872 ; line 687 : NOP( );
1873 1873 ; line 688 : NOP( );
1874 1874 ; line 689 : #endif
1875 1875 ; line 690 : */
1876 1876 ; line 691 : SPS0 = 0x0000; // <20>V<EFBFBD><56><EFBFBD>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD>j<EFBFBD>b<EFBFBD>g<EFBFBD>̃N<CC83><4E><EFBFBD>b<EFBFBD>N<EFBFBD>O<EFBFBD>B
1877 1877 ; (8M/2)/1
1878 1878 $DGL 0,22
1879 1879 0027D F6 clrw ax ;[INF] 1, 1
1880 1880 0027E BF2601 movw !SPS0,ax ;[INF] 3, 1
1881 1881 ; line 692 : SMR02 = bSMR0n_FIXEDBIT | bMD0n2; // <20>Ȉ<EFBFBD>I2C<32>ɐݒ<C990>
1882 1882 $DGL 0,23
1883 1883 00281 5024 mov x,#024H ; 36 ;[INF] 2, 1
1884 1884 00283 BF1401 movw !SMR02,ax ;[INF] 3, 1
1885 1885 ; line 693 : #ifdef _OVERCLOCK_
1886 1886 ; line 694 : SDR02 = 12 << 9; // <20>{<7B>[<5B><><EFBFBD>[<5B>g<EFBFBD>ݒ<EFBFBD> (8M/2)/1/(x+1
1887 1887 ; )/2
1888 1888 $DGL 0,25
1889 1889 00286 CB440018 movw SDR02,#01800H ; 6144 ;[INF] 4, 1
1890 1890 ; line 695 : #else
1891 1891 ; line 696 : SDR02 = 5 << 9; // <20>{<7B>[<5B><><EFBFBD>[<5B>g<EFBFBD>ݒ<EFBFBD> (8M/2)/1/(x+1)
1892 1892 ; /2
1893 1893 ; line 697 : #endif
1894 1894 ; line 698 :
1895 1895 ; line 699 : SO0 = 0x0404 | TAUS_MASK; // <20>ŏ<EFBFBD><C58F><EFBFBD>HH
1896 1896 $DGL 0,30
1897 1897 0028A 300F0F movw ax,#0F0FH ; 3855 ;[INF] 3, 1
1898 1898 0028D BF2801 movw !SO0,ax ;[INF] 3, 1
1899 1899 ; line 700 : iic_mcu_busy = 0;
1900 1900 $DGL 0,31
1901 1901 00290 R711300 clr1 _iic_mcu_busy ;[INF] 3, 2
1902 1902 ; line 701 : iic_mcu_wo_dma = 0;
1903 1903 $DGL 0,32
1904 1904 00293 R710300 clr1 _iic_mcu_wo_dma ;[INF] 3, 2
1905 1905 ; line 702 :
1906 1906 ; line 703 :
1907 1907 ; line 704 : // <20>o<EFBFBD>X<EFBFBD>̃<EFBFBD><CC83>Z<EFBFBD>b<EFBFBD>g
1908 1908 ; line 705 : IICIF10 = 0;
1909 1909 $DGL 0,36
1910 1910 00296 710BE2 clr1 IF1L.0 ;[INF] 3, 2
1911 1911 ; line 706 : IICMK10 = 1;
1912 1912 $DGL 0,37
1913 1913 00299 710AE6 set1 MK1L.0 ;[INF] 3, 2
1914 1914 ; line 707 :
1915 1915 ; line 708 : iic_mcu_send_st();
1916 1916 $DGL 0,39
1917 1917 0029C RFDEB01 call !_iic_mcu_send_st ;[INF] 3, 3
1918 1918 ; line 709 :
1919 1919 ; line 710 : SIO10 = 0xFF;
1920 1920 $DGL 0,41
1921 1921 0029F CE44FF mov SIO10,#0FFH ; 255 ;[INF] 3, 1
1922 1922 ; line 711 : while( IICIF10 == 0 ){} // <20>ʐM<CA90><4D>
1923 1923 $DGL 0,42
1924 1924 002A2 ?L0078:
1925 1925 002A2 3182E202 bt IF1L.0,$?L0079 ;[INF] 4, 5
1926 1926 002A6 ??bb01_iic_mcu_start:
1927 1927 002A6 ??eb01_iic_mcu_start:
1928 1928 002A6 EFFA br $?L0078 ;[INF] 2, 3
1929 1929 002A8 ?L0079:
1930 1930 ; line 712 : iic_mcu_send_sp();
1931 1931 $DGL 0,43
1932 1932 002A8 RFD3902 call !_iic_mcu_send_sp ;[INF] 3, 3
1933 1933 ; line 713 :
1934 1934 ; line 714 : SIR02 = SSR02;
1935 1935 $DGL 0,45
1936 1936 002AB AF0401 movw ax,!SSR02 ;[INF] 3, 1
1937 1937 002AE BF0C01 movw !SIR02,ax ;[INF] 3, 1
1938 1938 ; line 715 :
1939 1939 ; line 716 : iic_mcu_initialized = 1;
1940 1940 $DGL 0,47
1941 1941 002B1 R712200 set1 _iic_mcu_initialized ;[INF] 3, 2
1942 1942 ; line 717 : }
1943 1943 $DGL 0,48
1944 1944 002B4 ??ef_iic_mcu_start:
1945 1945 002B4 D7 ret ;[INF] 1, 6
1946 1946 002B5 ??ee_iic_mcu_start:
1947 1947 ; line 718 :
1948 1948 ; line 719 :
1949 1949 ; line 720 :
1950 1950 ; line 721 : /* ========================================================
1951 1951 ; line 722 : <20><><EFBFBD>W<EFBFBD><57><EFBFBD>[<5B><><EFBFBD>̒<EFBFBD><CC92>~
1952 1952 ; line 723 : <20>ēx<C493>g<EFBFBD><67><EFBFBD>Ƃ<EFBFBD><C682>͏<EFBFBD><CD8F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>K<EFBFBD>v
1953 1953 ; line 724 : ======================================================== */
1954 1954 ; line 725 : void iic_mcu_stop( )
1955 1955 ; line 726 : {
1956 1956 002B5 _iic_mcu_stop:
1957 1957 $DGL 1,242
1958 1958 002B5 ??bf_iic_mcu_stop:
1959 1959 ; line 727 : while( iic_mcu_busy )
1960 1960 $DGL 0,2
1961 1961 002B5 ?L0082:
1962 1962 002B5 R31140002 bf _iic_mcu_busy,$?L0083 ;[INF] 4, 5
1963 1963 ; line 728 : {;
1964 1964 002B9 ??bb00_iic_mcu_stop:
1965 1965 002B9 ??eb00_iic_mcu_stop:
1966 1966 ; line 729 : } // DMA<4D><41><EFBFBD><EFBFBD>͂<EFBFBD><CD82><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>҂<EFBFBD>
1967 1967 $DGL 0,4
1968 1968 002B9 EFFA br $?L0082 ;[INF] 2, 3
1969 1969 002BB ?L0083:
1970 1970 ; line 730 : iic_mcu_send_re_st( ); // SCL,SDA<44><41>LL<4C>ɂ<EFBFBD><C982><EFBFBD>
1971 1971 $DGL 0,5
1972 1972 002BB RFD1002 call !_iic_mcu_send_re_st ;[INF] 3, 3
1973 1973 ; line 731 : I2C_PU_off();
1974 1974 $DGL 0,6
1975 1975 002BE ??bb01_iic_mcu_stop:
1976 1976 002BE 713A25 set1 PM5.3 ;[INF] 3, 2
1977 1977 002C1 713A23 set1 PM3.3 ;[INF] 3, 2
1978 1978 002C4 5A0EFC and P14,#0FCH ; 252 ;[INF] 3, 2
1979 1979 002C7 713305 clr1 P5.3 ;[INF] 3, 2
1980 1980 002CA 713B25 clr1 PM5.3 ;[INF] 3, 2
1981 1981 002CD 713303 clr1 P3.3 ;[INF] 3, 2
1982 1982 002D0 713B23 clr1 PM3.3 ;[INF] 3, 2
1983 1983 002D3 ??eb01_iic_mcu_stop:
1984 1984 ; line 732 : SAU0EN = 0;
1985 1985 $DGL 0,7
1986 1986 002D3 7128F000 clr1 !PER0.2 ;[INF] 4, 2
1987 1987 ; line 733 : iic_mcu_initialized = 0;
1988 1988 $DGL 0,8
1989 1989 002D7 R712300 clr1 _iic_mcu_initialized ;[INF] 3, 2
1990 1990 ; line 734 : }
1991 1991 $DGL 0,9
1992 1992 002DA ??ef_iic_mcu_stop:
1993 1993 002DA D7 ret ;[INF] 1, 6
1994 1994 002DB ??ee_iic_mcu_stop:
1995 1995
1996 1996 ----- @@CODEL CSEG
1997 1997 END
1998 1998
1999 1999
2000 2000 ; *** Code Information ***
2001 2001 ;
2002 2002 ; $FILE C:\78k_data\yav-mcu-basara\branches\0.10(fix)\i2c_mcu.c
2003 2003 ;
2004 2004 ; $FUNC nop8(76)
2005 2005 ; void=(void)
2006 2006 ; CODE SIZE= 1 bytes, CLOCK_SIZE= 6 clocks, STACK_SIZE= 0 bytes
2007 2007 ;
2008 2008 ; $FUNC iic_mcu_read_a_byte(87)
2009 2009 ; bc=(unsigned char SLA:x, unsigned char adrs:[sp+4])
2010 2010 ; CODE SIZE= 111 bytes, CLOCK_SIZE= 118 clocks, STACK_SIZE= 10 bytes
2011 2011 ;
2012 2012 ; $CALL iic_mcu_start(93)
2013 2013 ; void=(void)
2014 2014 ;
2015 2015 ; $CALL iic_mcu_call_slave(110)
2016 2016 ; bc=(int:ax)
2017 2017 ;
2018 2018 ; $CALL iic_mcu_send_a_byte(118)
2019 2019 ; bc=(int:ax)
2020 2020 ;
2021 2021 ; $CALL iic_mcu_send_re_st(122)
2022 2022 ; void=(void)
2023 2023 ;
2024 2024 ; $CALL iic_mcu_send_a_byte(123)
2025 2025 ; bc=(int:ax)
2026 2026 ;
2027 2027 ; $CALL iic_mcu_send_sp(139)
2028 2028 ; void=(void)
2029 2029 ;
2030 2030 ; $FUNC iic_mcu_read(158)
2031 2031 ; bc=(unsigned char slave:x, unsigned char adrs:[sp+4],
2032 2032 ; unsigned char len:[sp+6], pointer dest:[sp+8])
2033 2033 ; CODE SIZE= 111 bytes, CLOCK_SIZE= 141 clocks, STACK_SIZE= 12 bytes
2034 2034 ;
2035 2035 ; $CALL iic_mcu_start(165)
2036 2036 ; void=(void)
2037 2037 ;
2038 2038 ; $CALL iic_mcu_call_slave(188)
2039 2039 ; bc=(int:ax)
2040 2040 ;
2041 2041 ; $CALL iic_mcu_send_a_byte(195)
2042 2042 ; bc=(int:ax)
2043 2043 ;
2044 2044 ; $CALL iic_mcu_send_re_st(199)
2045 2045 ; void=(void)
2046 2046 ;
2047 2047 ; $CALL iic_mcu_send_a_byte(200)
2048 2048 ; bc=(int:ax)
2049 2049 ;
2050 2050 ; $CALL iic_mcu_send_sp(225)
2051 2051 ; void=(void)
2052 2052 ;
2053 2053 ; $FUNC iic_mcu_write_a_byte(242)
2054 2054 ; bc=(unsigned char SLA:x, unsigned char adrs:[sp+4],
2055 2055 ; unsigned char dat:[sp+6])
2056 2056 ; CODE SIZE= 56 bytes, CLOCK_SIZE= 79 clocks, STACK_SIZE= 12 bytes
2057 2057 ;
2058 2058 ; $CALL iic_mcu_start(247)
2059 2059 ; void=(void)
2060 2060 ;
2061 2061 ; $CALL iic_mcu_call_slave(266)
2062 2062 ; bc=(int:ax)
2063 2063 ;
2064 2064 ; $CALL iic_mcu_send_a_byte(271)
2065 2065 ; bc=(int:ax)
2066 2066 ;
2067 2067 ; $CALL iic_mcu_send_a_byte(272)
2068 2068 ; bc=(int:ax)
2069 2069 ;
2070 2070 ; $CALL iic_mcu_send_sp(273)
2071 2071 ; void=(void)
2072 2072 ;
2073 2073 ; $FUNC iic_mcu_write(297)
2074 2074 ; bc=(unsigned char slave:x, unsigned char adrs:[sp+4],
2075 2075 ; unsigned char len:[sp+6], pointer src:[sp+8])
2076 2076 ; CODE SIZE= 127 bytes, CLOCK_SIZE= 121 clocks, STACK_SIZE= 12 bytes
2077 2077 ;
2078 2078 ; $CALL iic_mcu_start(303)
2079 2079 ; void=(void)
2080 2080 ;
2081 2081 ; $CALL iic_mcu_call_slave(327)
2082 2082 ; bc=(int:ax)
2083 2083 ;
2084 2084 ; $FUNC int_dma1(388)
2085 2085 ; void=(void)
2086 2086 ; CODE SIZE= 108 bytes, CLOCK_SIZE= 86 clocks, STACK_SIZE= 26 bytes
2087 2087 ;
2088 2088 ; $CALL nop8(408)
2089 2089 ; void=(void)
2090 2090 ;
2091 2091 ; $CALL nop8(423)
2092 2092 ; void=(void)
2093 2093 ;
2094 2094 ; $FUNC int_iic10(452)
2095 2095 ; void=(void)
2096 2096 ; CODE SIZE= 109 bytes, CLOCK_SIZE= 83 clocks, STACK_SIZE= 26 bytes
2097 2097 ;
2098 2098 ; $CALL nop8(469)
2099 2099 ; void=(void)
2100 2100 ;
2101 2101 ; $CALL nop8(484)
2102 2102 ; void=(void)
2103 2103 ;
2104 2104 ; $FUNC iic_mcu_call_slave(513)
2105 2105 ; bc=(unsigned char slave:x)
2106 2106 ; CODE SIZE= 22 bytes, CLOCK_SIZE= 30 clocks, STACK_SIZE= 6 bytes
2107 2107 ;
2108 2108 ; $CALL iic_mcu_send_st(514)
2109 2109 ; void=(void)
2110 2110 ;
2111 2111 ; $CALL iic_mcu_send_a_byte(517)
2112 2112 ; bc=(int:ax)
2113 2113 ;
2114 2114 ; $CALL iic_mcu_send_sp(519)
2115 2115 ; void=(void)
2116 2116 ;
2117 2117 ; $FUNC iic_mcu_send_a_byte(533)
2118 2118 ; bc=(unsigned char dat:x)
2119 2119 ; CODE SIZE= 36 bytes, CLOCK_SIZE= 37 clocks, STACK_SIZE= 2 bytes
2120 2120 ;
2121 2121 ; $FUNC iic_mcu_send_st(556)
2122 2122 ; void=(void)
2123 2123 ; CODE SIZE= 37 bytes, CLOCK_SIZE= 32 clocks, STACK_SIZE= 4 bytes
2124 2124 ;
2125 2125 ; $CALL nop8(558)
2126 2126 ; void=(void)
2127 2127 ;
2128 2128 ; $FUNC iic_mcu_send_re_st(585)
2129 2129 ; void=(void)
2130 2130 ; CODE SIZE= 41 bytes, CLOCK_SIZE= 25 clocks, STACK_SIZE= 4 bytes
2131 2131 ;
2132 2132 ; $CALL nop8(588)
2133 2133 ; void=(void)
2134 2134 ;
2135 2135 ; $CALL nop8(603)
2136 2136 ; void=(void)
2137 2137 ;
2138 2138 ; $CALL iic_mcu_send_st(617)
2139 2139 ; void=(void)
2140 2140 ;
2141 2141 ; $FUNC iic_mcu_send_sp(627)
2142 2142 ; void=(void)
2143 2143 ; CODE SIZE= 32 bytes, CLOCK_SIZE= 31 clocks, STACK_SIZE= 4 bytes
2144 2144 ;
2145 2145 ; $CALL nop8(631)
2146 2146 ; void=(void)
2147 2147 ;
2148 2148 ; $CALL nop8(646)
2149 2149 ; void=(void)
2150 2150 ;
2151 2151 ; $FUNC iic_mcu_start(670)
2152 2152 ; void=(void)
2153 2153 ; CODE SIZE= 92 bytes, CLOCK_SIZE= 65 clocks, STACK_SIZE= 4 bytes
2154 2154 ;
2155 2155 ; $CALL nop8(677)
2156 2156 ; void=(void)
2157 2157 ;
2158 2158 ; $CALL iic_mcu_send_st(708)
2159 2159 ; void=(void)
2160 2160 ;
2161 2161 ; $CALL iic_mcu_send_sp(712)
2162 2162 ; void=(void)
2163 2163 ;
2164 2164 ; $FUNC iic_mcu_stop(726)
2165 2165 ; void=(void)
2166 2166 ; CODE SIZE= 38 bytes, CLOCK_SIZE= 35 clocks, STACK_SIZE= 4 bytes
2167 2167 ;
2168 2168 ; $CALL iic_mcu_send_re_st(730)
2169 2169 ; void=(void)
2170 2170
2171 2171 ; Target chip : uPD79F0104
2172 2172 ; Device file : E1.00b
Segment informations:
ADRS LEN NAME
00000 00000H.3 @@BITS
00000 00030H @@CNST
00000 00000H @@R_INIT
00000 00000H @@INIT
00000 00008H @@DATA
00000 00000H @@R_INIS
00000 00000H @@INIS
00000 00000H @@DATS
00000 00000H @@CNSTL
00000 00000H @@RLINIT
00000 00000H @@INITL
00000 00000H @@DATAL
00000 00000H @@CALT
00000 002DBH ROM_CODE
00000 000D9H @@BASE
00000 00000H @@CODEL
Target chip : uPD79F0104
Device file : E1.00b
Assembly complete, 0 error(s) and 0 warning(s) found. ( 0)