Guest User

specan.rst

a guest
Oct 8th, 2010
3,291
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 1 ;--------------------------------------------------------
  2. 2 ; File Created by SDCC : free open source ANSI-C Compiler
  3. 3 ; Version 2.9.7 #5859 (Jun 24 2010) (Mac OS X ppc)
  4. 4 ; This file was generated Thu Oct 7 15:37:00 2010
  5. 5 ;--------------------------------------------------------
  6. 6 .module specan
  7. 7 .optsdcc -mmcs51 --model-small
  8. 8
  9. 9 ;--------------------------------------------------------
  10. 10 ; Public variables in this module
  11. 11 ;--------------------------------------------------------
  12. 12 .globl _MODE
  13. 13 .globl _RE
  14. 14 .globl _SLAVE
  15. 15 .globl _FE
  16. 16 .globl _ERR
  17. 17 .globl _RX_BYTE
  18. 18 .globl _TX_BYTE
  19. 19 .globl _ACTIVE
  20. 20 .globl _B_7
  21. 21 .globl _B_6
  22. 22 .globl _B_5
  23. 23 .globl _B_4
  24. 24 .globl _B_3
  25. 25 .globl _B_2
  26. 26 .globl _B_1
  27. 27 .globl _B_0
  28. 28 .globl _WDTIF
  29. 29 .globl _P1IF
  30. 30 .globl _UTX1IF
  31. 31 .globl _UTX0IF
  32. 32 .globl _P2IF
  33. 33 .globl _ACC_7
  34. 34 .globl _ACC_6
  35. 35 .globl _ACC_5
  36. 36 .globl _ACC_4
  37. 37 .globl _ACC_3
  38. 38 .globl _ACC_2
  39. 39 .globl _ACC_1
  40. 40 .globl _ACC_0
  41. 41 .globl _OVFIM
  42. 42 .globl _T4CH1IF
  43. 43 .globl _T4CH0IF
  44. 44 .globl _T4OVFIF
  45. 45 .globl _T3CH1IF
  46. 46 .globl _T3CH0IF
  47. 47 .globl _T3OVFIF
  48. 48 .globl _CY
  49. 49 .globl _AC
  50. 50 .globl _F0
  51. 51 .globl _RS1
  52. 52 .globl _RS0
  53. 53 .globl _OV
  54. 54 .globl _F1
  55. 55 .globl _P
  56. 56 .globl _STIF
  57. 57 .globl _P0IF
  58. 58 .globl _T4IF
  59. 59 .globl _T3IF
  60. 60 .globl _T2IF
  61. 61 .globl _T1IF
  62. 62 .globl _DMAIF
  63. 63 .globl _P0IE
  64. 64 .globl _T4IE
  65. 65 .globl _T3IE
  66. 66 .globl _T2IE
  67. 67 .globl _T1IE
  68. 68 .globl _DMAIE
  69. 69 .globl _EA
  70. 70 .globl _STIE
  71. 71 .globl _ENCIE
  72. 72 .globl _URX1IE
  73. 73 .globl _URX0IE
  74. 74 .globl _ADCIE
  75. 75 .globl _RFTXRXIE
  76. 76 .globl _P2_7
  77. 77 .globl _P2_6
  78. 78 .globl _P2_5
  79. 79 .globl _P2_4
  80. 80 .globl _P2_3
  81. 81 .globl _P2_2
  82. 82 .globl _P2_1
  83. 83 .globl _P2_0
  84. 84 .globl _ENCIF_1
  85. 85 .globl _ENCIF_0
  86. 86 .globl _P1_7
  87. 87 .globl _P1_6
  88. 88 .globl _P1_5
  89. 89 .globl _P1_4
  90. 90 .globl _P1_3
  91. 91 .globl _P1_2
  92. 92 .globl _P1_1
  93. 93 .globl _P1_0
  94. 94 .globl _URX1IF
  95. 95 .globl _ADCIF
  96. 96 .globl _URX0IF
  97. 97 .globl _IT1
  98. 98 .globl _RFTXRXIF
  99. 99 .globl _IT0
  100. 100 .globl _P0_7
  101. 101 .globl _P0_6
  102. 102 .globl _P0_5
  103. 103 .globl _P0_4
  104. 104 .globl _P0_3
  105. 105 .globl _P0_2
  106. 106 .globl _P0_1
  107. 107 .globl _P0_0
  108. 108 .globl _P2DIR
  109. 109 .globl _P1DIR
  110. 110 .globl _P0DIR
  111. 111 .globl _U1GCR
  112. 112 .globl _U1UCR
  113. 113 .globl _U1BAUD
  114. 114 .globl _U1DBUF
  115. 115 .globl _U1CSR
  116. 116 .globl _P2INP
  117. 117 .globl _P1INP
  118. 118 .globl _P2SEL
  119. 119 .globl _P1SEL
  120. 120 .globl _P0SEL
  121. 121 .globl _ADCCFG
  122. 122 .globl _PERCFG
  123. 123 .globl _B
  124. 124 .globl _T4CC1
  125. 125 .globl _T4CCTL1
  126. 126 .globl _T4CC0
  127. 127 .globl _T4CCTL0
  128. 128 .globl _T4CTL
  129. 129 .globl _T4CNT
  130. 130 .globl _RFIF
  131. 131 .globl _IRCON2
  132. 132 .globl _T1CCTL2
  133. 133 .globl _T1CCTL1
  134. 134 .globl _T1CCTL0
  135. 135 .globl _T1CTL
  136. 136 .globl _T1CNTH
  137. 137 .globl _T1CNTL
  138. 138 .globl _RFST
  139. 139 .globl _ACC
  140. 140 .globl _T1CC2H
  141. 141 .globl _T1CC2L
  142. 142 .globl _T1CC1H
  143. 143 .globl _T1CC1L
  144. 144 .globl _T1CC0H
  145. 145 .globl _T1CC0L
  146. 146 .globl _RFD
  147. 147 .globl _TIMIF
  148. 148 .globl _DMAREQ
  149. 149 .globl _DMAARM
  150. 150 .globl _DMA0CFGH
  151. 151 .globl _DMA0CFGL
  152. 152 .globl _DMA1CFGH
  153. 153 .globl _DMA1CFGL
  154. 154 .globl _DMAIRQ
  155. 155 .globl _PSW
  156. 156 .globl _T3CC1
  157. 157 .globl _T3CCTL1
  158. 158 .globl _T3CC0
  159. 159 .globl _T3CCTL0
  160. 160 .globl _T3CTL
  161. 161 .globl _T3CNT
  162. 162 .globl _WDCTL
  163. 163 .globl __SFRC8
  164. 164 .globl _MEMCTR
  165. 165 .globl _CLKCON
  166. 166 .globl _U0GCR
  167. 167 .globl _U0UCR
  168. 168 .globl __SFRC3
  169. 169 .globl _U0BAUD
  170. 170 .globl _U0DBUF
  171. 171 .globl _IRCON
  172. 172 .globl __SFRBF
  173. 173 .globl _SLEEP
  174. 174 .globl _RNDH
  175. 175 .globl _RNDL
  176. 176 .globl _ADCH
  177. 177 .globl _ADCL
  178. 178 .globl _IP1
  179. 179 .globl _IEN1
  180. 180 .globl __SFRB7
  181. 181 .globl _ADCCON3
  182. 182 .globl _ADCCON2
  183. 183 .globl _ADCCON1
  184. 184 .globl _ENCCS
  185. 185 .globl _ENCDO
  186. 186 .globl _ENCDI
  187. 187 .globl __SFRB0
  188. 188 .globl _FWDATA
  189. 189 .globl _FCTL
  190. 190 .globl _FADDRH
  191. 191 .globl _FADDRL
  192. 192 .globl _FWT
  193. 193 .globl __SFRAA
  194. 194 .globl _IP0
  195. 195 .globl _IEN0
  196. 196 .globl __SFRA7
  197. 197 .globl _WORTIME1
  198. 198 .globl _WORTIME0
  199. 199 .globl _WOREVT1
  200. 200 .globl _WOREVT0
  201. 201 .globl _WORCTRL
  202. 202 .globl _WORIRQ
  203. 203 .globl _P2
  204. 204 .globl __SFR9F
  205. 205 .globl _T2CTL
  206. 206 .globl _T2PR
  207. 207 .globl _T2CT
  208. 208 .globl _S1CON
  209. 209 .globl _IEN2
  210. 210 .globl __SFR99
  211. 211 .globl _S0CON
  212. 212 .globl __SFR97
  213. 213 .globl __SFR96
  214. 214 .globl __SFR95
  215. 215 .globl __SFR94
  216. 216 .globl __XPAGE
  217. 217 .globl _MPAGE
  218. 218 .globl _DPS
  219. 219 .globl _RFIM
  220. 220 .globl _P1
  221. 221 .globl _P0INP
  222. 222 .globl __SFR8E
  223. 223 .globl _P1IEN
  224. 224 .globl _PICTL
  225. 225 .globl _P2IFG
  226. 226 .globl _P1IFG
  227. 227 .globl _P0IFG
  228. 228 .globl _TCON
  229. 229 .globl _PCON
  230. 230 .globl _U0CSR
  231. 231 .globl _DPH1
  232. 232 .globl _DPL1
  233. 233 .globl _DPH0
  234. 234 .globl _DPL0
  235. 235 .globl _SP
  236. 236 .globl _P0
  237. 237 .globl _chan_table
  238. 238 .globl _X_P2DIR
  239. 239 .globl _X_P1DIR
  240. 240 .globl _X_P0DIR
  241. 241 .globl _X_U1GCR
  242. 242 .globl _X_U1UCR
  243. 243 .globl _X_U1BAUD
  244. 244 .globl _X_U1DBUF
  245. 245 .globl _X_U1CSR
  246. 246 .globl _X_P2INP
  247. 247 .globl _X_P1INP
  248. 248 .globl _X_P2SEL
  249. 249 .globl _X_P1SEL
  250. 250 .globl _X_P0SEL
  251. 251 .globl _X_ADCCFG
  252. 252 .globl _X_PERCFG
  253. 253 .globl __NA_B
  254. 254 .globl _X_T4CC1
  255. 255 .globl _X_T4CCTL1
  256. 256 .globl _X_T4CC0
  257. 257 .globl _X_T4CCTL0
  258. 258 .globl _X_T4CTL
  259. 259 .globl _X_T4CNT
  260. 260 .globl _X_RFIF
  261. 261 .globl __NA_IRCON2
  262. 262 .globl _X_T1CCTL2
  263. 263 .globl _X_T1CCTL1
  264. 264 .globl _X_T1CCTL0
  265. 265 .globl _X_T1CTL
  266. 266 .globl _X_T1CNTH
  267. 267 .globl _X_T1CNTL
  268. 268 .globl _X_RFST
  269. 269 .globl __NA_ACC
  270. 270 .globl _X_T1CC2H
  271. 271 .globl _X_T1CC2L
  272. 272 .globl _X_T1CC1H
  273. 273 .globl _X_T1CC1L
  274. 274 .globl _X_T1CC0H
  275. 275 .globl _X_T1CC0L
  276. 276 .globl _X_RFD
  277. 277 .globl _X_TIMIF
  278. 278 .globl _X_DMAREQ
  279. 279 .globl _X_DMAARM
  280. 280 .globl _X_DMA0CFGH
  281. 281 .globl _X_DMA0CFGL
  282. 282 .globl _X_DMA1CFGH
  283. 283 .globl _X_DMA1CFGL
  284. 284 .globl _X_DMAIRQ
  285. 285 .globl __NA_PSW
  286. 286 .globl _X_T3CC1
  287. 287 .globl _X_T3CCTL1
  288. 288 .globl _X_T3CC0
  289. 289 .globl _X_T3CCTL0
  290. 290 .globl _X_T3CTL
  291. 291 .globl _X_T3CNT
  292. 292 .globl _X_WDCTL
  293. 293 .globl __X_SFRC8
  294. 294 .globl _X_MEMCTR
  295. 295 .globl _X_CLKCON
  296. 296 .globl _X_U0GCR
  297. 297 .globl _X_U0UCR
  298. 298 .globl __X_SFRC3
  299. 299 .globl _X_U0BAUD
  300. 300 .globl _X_U0DBUF
  301. 301 .globl __NA_IRCON
  302. 302 .globl __X_SFRBF
  303. 303 .globl _X_SLEEP
  304. 304 .globl _X_RNDH
  305. 305 .globl _X_RNDL
  306. 306 .globl _X_ADCH
  307. 307 .globl _X_ADCL
  308. 308 .globl __NA_IP1
  309. 309 .globl __NA_IEN1
  310. 310 .globl __X_SFRB7
  311. 311 .globl _X_ADCCON3
  312. 312 .globl _X_ADCCON2
  313. 313 .globl _X_ADCCON1
  314. 314 .globl _X_ENCCS
  315. 315 .globl _X_ENCDO
  316. 316 .globl _X_ENCDI
  317. 317 .globl __X_SFRB0
  318. 318 .globl _X_FWDATA
  319. 319 .globl _X_FCTL
  320. 320 .globl _X_FADDRH
  321. 321 .globl _X_FADDRL
  322. 322 .globl _X_FWT
  323. 323 .globl __X_SFRAA
  324. 324 .globl __NA_IP0
  325. 325 .globl __NA_IEN0
  326. 326 .globl __X_SFRA7
  327. 327 .globl _X_WORTIME1
  328. 328 .globl _X_WORTIME0
  329. 329 .globl _X_WOREVT1
  330. 330 .globl _X_WOREVT0
  331. 331 .globl _X_WORCTRL
  332. 332 .globl _X_WORIRQ
  333. 333 .globl __NA_P2
  334. 334 .globl __X_SFR9F
  335. 335 .globl _X_T2CTL
  336. 336 .globl _X_T2PR
  337. 337 .globl _X_T2CT
  338. 338 .globl __NA_S1CON
  339. 339 .globl __NA_IEN2
  340. 340 .globl __X_SFR99
  341. 341 .globl __NA_S0CON
  342. 342 .globl __X_SFR97
  343. 343 .globl __X_SFR96
  344. 344 .globl __X_SFR95
  345. 345 .globl __X_SFR94
  346. 346 .globl _X_MPAGE
  347. 347 .globl __NA_DPS
  348. 348 .globl _X_RFIM
  349. 349 .globl __NA_P1
  350. 350 .globl _X_P0INP
  351. 351 .globl __X_SFR8E
  352. 352 .globl _X_P1IEN
  353. 353 .globl _X_PICTL
  354. 354 .globl _X_P2IFG
  355. 355 .globl _X_P1IFG
  356. 356 .globl _X_P0IFG
  357. 357 .globl __NA_TCON
  358. 358 .globl __NA_PCON
  359. 359 .globl _X_U0CSR
  360. 360 .globl __NA_DPH1
  361. 361 .globl __NA_DPL1
  362. 362 .globl __NA_DPH0
  363. 363 .globl __NA_DPL0
  364. 364 .globl __NA_SP
  365. 365 .globl __NA_P0
  366. 366 .globl _I2SCLKF2
  367. 367 .globl _I2SCLKF1
  368. 368 .globl _I2SCLKF0
  369. 369 .globl _I2SSTAT
  370. 370 .globl _I2SWCNT
  371. 371 .globl _I2SDATH
  372. 372 .globl _I2SDATL
  373. 373 .globl _I2SCFG1
  374. 374 .globl _I2SCFG0
  375. 375 .globl _VCO_VC_DAC
  376. 376 .globl _PKTSTATUS
  377. 377 .globl _MARCSTATE
  378. 378 .globl _RSSI
  379. 379 .globl _LQI
  380. 380 .globl _FREQEST
  381. 381 .globl _VERSION
  382. 382 .globl _PARTNUM
  383. 383 .globl __XREGDF35
  384. 384 .globl __XREGDF34
  385. 385 .globl __XREGDF33
  386. 386 .globl __XREGDF32
  387. 387 .globl _IOCFG0
  388. 388 .globl _IOCFG1
  389. 389 .globl _IOCFG2
  390. 390 .globl _PA_TABLE0
  391. 391 .globl _PA_TABLE1
  392. 392 .globl _PA_TABLE2
  393. 393 .globl _PA_TABLE3
  394. 394 .globl _PA_TABLE4
  395. 395 .globl _PA_TABLE5
  396. 396 .globl _PA_TABLE6
  397. 397 .globl _PA_TABLE7
  398. 398 .globl __XREGDF26
  399. 399 .globl _TEST0
  400. 400 .globl _TEST1
  401. 401 .globl _TEST2
  402. 402 .globl __XREGDF22
  403. 403 .globl __XREGDF21
  404. 404 .globl __XREGDF20
  405. 405 .globl _FSCAL0
  406. 406 .globl _FSCAL1
  407. 407 .globl _FSCAL2
  408. 408 .globl _FSCAL3
  409. 409 .globl _FREND0
  410. 410 .globl _FREND1
  411. 411 .globl _AGCCTRL0
  412. 412 .globl _AGCCTRL1
  413. 413 .globl _AGCCTRL2
  414. 414 .globl _BSCFG
  415. 415 .globl _FOCCFG
  416. 416 .globl _MCSM0
  417. 417 .globl _MCSM1
  418. 418 .globl _MCSM2
  419. 419 .globl _DEVIATN
  420. 420 .globl _MDMCFG0
  421. 421 .globl _MDMCFG1
  422. 422 .globl _MDMCFG2
  423. 423 .globl _MDMCFG3
  424. 424 .globl _MDMCFG4
  425. 425 .globl _FREQ0
  426. 426 .globl _FREQ1
  427. 427 .globl _FREQ2
  428. 428 .globl _FSCTRL0
  429. 429 .globl _FSCTRL1
  430. 430 .globl _CHANNR
  431. 431 .globl _ADDR
  432. 432 .globl _PKTCTRL0
  433. 433 .globl _PKTCTRL1
  434. 434 .globl _PKTLEN
  435. 435 .globl _SYNC0
  436. 436 .globl _SYNC1
  437. 437 .globl _MDMCTRL0H
  438. 438 .globl _sleepy
  439. 439 .globl _height
  440. 440 .globl _max_hold
  441. 441 .globl _calibrate_freq_PARM_2
  442. 442 .globl _max_chan
  443. 443 .globl _min_chan
  444. 444 .globl _vscroll
  445. 445 .globl _width
  446. 446 .globl _band
  447. 447 .globl _user_freq
  448. 448 .globl _center_freq
  449. 449 .globl _plot
  450. 450 .globl _draw_ruler
  451. 451 .globl _draw_freq
  452. 452 .globl _radio_setup
  453. 453 .globl _set_filter
  454. 454 .globl _set_radio_freq
  455. 455 .globl _calibrate_freq
  456. 456 .globl _set_center_freq
  457. 457 .globl _tune
  458. 458 .globl _set_width
  459. 459 .globl _poll_keyboard
  460. 460 .globl _main
  461. 461 ;--------------------------------------------------------
  462. 462 ; special function registers
  463. 463 ;--------------------------------------------------------
  464. 464 .area RSEG (ABS,DATA)
  465. 0000 465 .org 0x0000
  466. 0080 466 _P0 = 0x0080
  467. 0081 467 _SP = 0x0081
  468. 0082 468 _DPL0 = 0x0082
  469. 0083 469 _DPH0 = 0x0083
  470. 0084 470 _DPL1 = 0x0084
  471. 0085 471 _DPH1 = 0x0085
  472. 0086 472 _U0CSR = 0x0086
  473. 0087 473 _PCON = 0x0087
  474. 0088 474 _TCON = 0x0088
  475. 0089 475 _P0IFG = 0x0089
  476. 008A 476 _P1IFG = 0x008a
  477. 008B 477 _P2IFG = 0x008b
  478. 008C 478 _PICTL = 0x008c
  479. 008D 479 _P1IEN = 0x008d
  480. 008E 480 __SFR8E = 0x008e
  481. 008F 481 _P0INP = 0x008f
  482. 0090 482 _P1 = 0x0090
  483. 0091 483 _RFIM = 0x0091
  484. 0092 484 _DPS = 0x0092
  485. 0093 485 _MPAGE = 0x0093
  486. 0093 486 __XPAGE = 0x0093
  487. 0094 487 __SFR94 = 0x0094
  488. 0095 488 __SFR95 = 0x0095
  489. 0096 489 __SFR96 = 0x0096
  490. 0097 490 __SFR97 = 0x0097
  491. 0098 491 _S0CON = 0x0098
  492. 0099 492 __SFR99 = 0x0099
  493. 009A 493 _IEN2 = 0x009a
  494. 009B 494 _S1CON = 0x009b
  495. 009C 495 _T2CT = 0x009c
  496. 009D 496 _T2PR = 0x009d
  497. 009E 497 _T2CTL = 0x009e
  498. 009F 498 __SFR9F = 0x009f
  499. 00A0 499 _P2 = 0x00a0
  500. 00A1 500 _WORIRQ = 0x00a1
  501. 00A2 501 _WORCTRL = 0x00a2
  502. 00A3 502 _WOREVT0 = 0x00a3
  503. 00A4 503 _WOREVT1 = 0x00a4
  504. 00A5 504 _WORTIME0 = 0x00a5
  505. 00A6 505 _WORTIME1 = 0x00a6
  506. 00A7 506 __SFRA7 = 0x00a7
  507. 00A8 507 _IEN0 = 0x00a8
  508. 00A9 508 _IP0 = 0x00a9
  509. 00AA 509 __SFRAA = 0x00aa
  510. 00AB 510 _FWT = 0x00ab
  511. 00AC 511 _FADDRL = 0x00ac
  512. 00AD 512 _FADDRH = 0x00ad
  513. 00AE 513 _FCTL = 0x00ae
  514. 00AF 514 _FWDATA = 0x00af
  515. 00B0 515 __SFRB0 = 0x00b0
  516. 00B1 516 _ENCDI = 0x00b1
  517. 00B2 517 _ENCDO = 0x00b2
  518. 00B3 518 _ENCCS = 0x00b3
  519. 00B4 519 _ADCCON1 = 0x00b4
  520. 00B5 520 _ADCCON2 = 0x00b5
  521. 00B6 521 _ADCCON3 = 0x00b6
  522. 00B7 522 __SFRB7 = 0x00b7
  523. 00B8 523 _IEN1 = 0x00b8
  524. 00B9 524 _IP1 = 0x00b9
  525. 00BA 525 _ADCL = 0x00ba
  526. 00BB 526 _ADCH = 0x00bb
  527. 00BC 527 _RNDL = 0x00bc
  528. 00BD 528 _RNDH = 0x00bd
  529. 00BE 529 _SLEEP = 0x00be
  530. 00BF 530 __SFRBF = 0x00bf
  531. 00C0 531 _IRCON = 0x00c0
  532. 00C1 532 _U0DBUF = 0x00c1
  533. 00C2 533 _U0BAUD = 0x00c2
  534. 00C3 534 __SFRC3 = 0x00c3
  535. 00C4 535 _U0UCR = 0x00c4
  536. 00C5 536 _U0GCR = 0x00c5
  537. 00C6 537 _CLKCON = 0x00c6
  538. 00C7 538 _MEMCTR = 0x00c7
  539. 00C8 539 __SFRC8 = 0x00c8
  540. 00C9 540 _WDCTL = 0x00c9
  541. 00CA 541 _T3CNT = 0x00ca
  542. 00CB 542 _T3CTL = 0x00cb
  543. 00CC 543 _T3CCTL0 = 0x00cc
  544. 00CD 544 _T3CC0 = 0x00cd
  545. 00CE 545 _T3CCTL1 = 0x00ce
  546. 00CF 546 _T3CC1 = 0x00cf
  547. 00D0 547 _PSW = 0x00d0
  548. 00D1 548 _DMAIRQ = 0x00d1
  549. 00D2 549 _DMA1CFGL = 0x00d2
  550. 00D3 550 _DMA1CFGH = 0x00d3
  551. 00D4 551 _DMA0CFGL = 0x00d4
  552. 00D5 552 _DMA0CFGH = 0x00d5
  553. 00D6 553 _DMAARM = 0x00d6
  554. 00D7 554 _DMAREQ = 0x00d7
  555. 00D8 555 _TIMIF = 0x00d8
  556. 00D9 556 _RFD = 0x00d9
  557. 00DA 557 _T1CC0L = 0x00da
  558. 00DB 558 _T1CC0H = 0x00db
  559. 00DC 559 _T1CC1L = 0x00dc
  560. 00DD 560 _T1CC1H = 0x00dd
  561. 00DE 561 _T1CC2L = 0x00de
  562. 00DF 562 _T1CC2H = 0x00df
  563. 00E0 563 _ACC = 0x00e0
  564. 00E1 564 _RFST = 0x00e1
  565. 00E2 565 _T1CNTL = 0x00e2
  566. 00E3 566 _T1CNTH = 0x00e3
  567. 00E4 567 _T1CTL = 0x00e4
  568. 00E5 568 _T1CCTL0 = 0x00e5
  569. 00E6 569 _T1CCTL1 = 0x00e6
  570. 00E7 570 _T1CCTL2 = 0x00e7
  571. 00E8 571 _IRCON2 = 0x00e8
  572. 00E9 572 _RFIF = 0x00e9
  573. 00EA 573 _T4CNT = 0x00ea
  574. 00EB 574 _T4CTL = 0x00eb
  575. 00EC 575 _T4CCTL0 = 0x00ec
  576. 00ED 576 _T4CC0 = 0x00ed
  577. 00EE 577 _T4CCTL1 = 0x00ee
  578. 00EF 578 _T4CC1 = 0x00ef
  579. 00F0 579 _B = 0x00f0
  580. 00F1 580 _PERCFG = 0x00f1
  581. 00F2 581 _ADCCFG = 0x00f2
  582. 00F3 582 _P0SEL = 0x00f3
  583. 00F4 583 _P1SEL = 0x00f4
  584. 00F5 584 _P2SEL = 0x00f5
  585. 00F6 585 _P1INP = 0x00f6
  586. 00F7 586 _P2INP = 0x00f7
  587. 00F8 587 _U1CSR = 0x00f8
  588. 00F9 588 _U1DBUF = 0x00f9
  589. 00FA 589 _U1BAUD = 0x00fa
  590. 00FB 590 _U1UCR = 0x00fb
  591. 00FC 591 _U1GCR = 0x00fc
  592. 00FD 592 _P0DIR = 0x00fd
  593. 00FE 593 _P1DIR = 0x00fe
  594. 00FF 594 _P2DIR = 0x00ff
  595. 595 ;--------------------------------------------------------
  596. 596 ; special function bits
  597. 597 ;--------------------------------------------------------
  598. 598 .area RSEG (ABS,DATA)
  599. 0000 599 .org 0x0000
  600. 0080 600 _P0_0 = 0x0080
  601. 0081 601 _P0_1 = 0x0081
  602. 0082 602 _P0_2 = 0x0082
  603. 0083 603 _P0_3 = 0x0083
  604. 0084 604 _P0_4 = 0x0084
  605. 0085 605 _P0_5 = 0x0085
  606. 0086 606 _P0_6 = 0x0086
  607. 0087 607 _P0_7 = 0x0087
  608. 0088 608 _IT0 = 0x0088
  609. 0089 609 _RFTXRXIF = 0x0089
  610. 008A 610 _IT1 = 0x008a
  611. 008B 611 _URX0IF = 0x008b
  612. 008D 612 _ADCIF = 0x008d
  613. 008F 613 _URX1IF = 0x008f
  614. 0090 614 _P1_0 = 0x0090
  615. 0091 615 _P1_1 = 0x0091
  616. 0092 616 _P1_2 = 0x0092
  617. 0093 617 _P1_3 = 0x0093
  618. 0094 618 _P1_4 = 0x0094
  619. 0095 619 _P1_5 = 0x0095
  620. 0096 620 _P1_6 = 0x0096
  621. 0097 621 _P1_7 = 0x0097
  622. 0098 622 _ENCIF_0 = 0x0098
  623. 0099 623 _ENCIF_1 = 0x0099
  624. 00A0 624 _P2_0 = 0x00a0
  625. 00A1 625 _P2_1 = 0x00a1
  626. 00A2 626 _P2_2 = 0x00a2
  627. 00A3 627 _P2_3 = 0x00a3
  628. 00A4 628 _P2_4 = 0x00a4
  629. 00A5 629 _P2_5 = 0x00a5
  630. 00A6 630 _P2_6 = 0x00a6
  631. 00A7 631 _P2_7 = 0x00a7
  632. 00A8 632 _RFTXRXIE = 0x00a8
  633. 00A9 633 _ADCIE = 0x00a9
  634. 00AA 634 _URX0IE = 0x00aa
  635. 00AB 635 _URX1IE = 0x00ab
  636. 00AC 636 _ENCIE = 0x00ac
  637. 00AD 637 _STIE = 0x00ad
  638. 00AF 638 _EA = 0x00af
  639. 00B8 639 _DMAIE = 0x00b8
  640. 00B9 640 _T1IE = 0x00b9
  641. 00BA 641 _T2IE = 0x00ba
  642. 00BB 642 _T3IE = 0x00bb
  643. 00BC 643 _T4IE = 0x00bc
  644. 00BD 644 _P0IE = 0x00bd
  645. 00C0 645 _DMAIF = 0x00c0
  646. 00C1 646 _T1IF = 0x00c1
  647. 00C2 647 _T2IF = 0x00c2
  648. 00C3 648 _T3IF = 0x00c3
  649. 00C4 649 _T4IF = 0x00c4
  650. 00C5 650 _P0IF = 0x00c5
  651. 00C7 651 _STIF = 0x00c7
  652. 00D0 652 _P = 0x00d0
  653. 00D1 653 _F1 = 0x00d1
  654. 00D2 654 _OV = 0x00d2
  655. 00D3 655 _RS0 = 0x00d3
  656. 00D4 656 _RS1 = 0x00d4
  657. 00D5 657 _F0 = 0x00d5
  658. 00D6 658 _AC = 0x00d6
  659. 00D7 659 _CY = 0x00d7
  660. 00D8 660 _T3OVFIF = 0x00d8
  661. 00D9 661 _T3CH0IF = 0x00d9
  662. 00DA 662 _T3CH1IF = 0x00da
  663. 00DB 663 _T4OVFIF = 0x00db
  664. 00DC 664 _T4CH0IF = 0x00dc
  665. 00DD 665 _T4CH1IF = 0x00dd
  666. 00DE 666 _OVFIM = 0x00de
  667. 00E0 667 _ACC_0 = 0x00e0
  668. 00E1 668 _ACC_1 = 0x00e1
  669. 00E2 669 _ACC_2 = 0x00e2
  670. 00E3 670 _ACC_3 = 0x00e3
  671. 00E4 671 _ACC_4 = 0x00e4
  672. 00E5 672 _ACC_5 = 0x00e5
  673. 00E6 673 _ACC_6 = 0x00e6
  674. 00E7 674 _ACC_7 = 0x00e7
  675. 00E8 675 _P2IF = 0x00e8
  676. 00E9 676 _UTX0IF = 0x00e9
  677. 00EA 677 _UTX1IF = 0x00ea
  678. 00EB 678 _P1IF = 0x00eb
  679. 00EC 679 _WDTIF = 0x00ec
  680. 00F0 680 _B_0 = 0x00f0
  681. 00F1 681 _B_1 = 0x00f1
  682. 00F2 682 _B_2 = 0x00f2
  683. 00F3 683 _B_3 = 0x00f3
  684. 00F4 684 _B_4 = 0x00f4
  685. 00F5 685 _B_5 = 0x00f5
  686. 00F6 686 _B_6 = 0x00f6
  687. 00F7 687 _B_7 = 0x00f7
  688. 00F8 688 _ACTIVE = 0x00f8
  689. 00F9 689 _TX_BYTE = 0x00f9
  690. 00FA 690 _RX_BYTE = 0x00fa
  691. 00FB 691 _ERR = 0x00fb
  692. 00FC 692 _FE = 0x00fc
  693. 00FD 693 _SLAVE = 0x00fd
  694. 00FE 694 _RE = 0x00fe
  695. 00FF 695 _MODE = 0x00ff
  696. 696 ;--------------------------------------------------------
  697. 697 ; overlayable register banks
  698. 698 ;--------------------------------------------------------
  699. 699 .area REG_BANK_0 (REL,OVR,DATA)
  700. 0000 700 .ds 8
  701. 701 ;--------------------------------------------------------
  702. 702 ; internal ram data
  703. 703 ;--------------------------------------------------------
  704. 704 .area DSEG (DATA)
  705. 0022 705 _center_freq::
  706. 0022 706 .ds 2
  707. 0024 707 _user_freq::
  708. 0024 708 .ds 2
  709. 0026 709 _band::
  710. 0026 710 .ds 1
  711. 0027 711 _width::
  712. 0027 712 .ds 1
  713. 0028 713 _vscroll::
  714. 0028 714 .ds 1
  715. 0029 715 _min_chan::
  716. 0029 716 .ds 1
  717. 002A 717 _max_chan::
  718. 002A 718 .ds 1
  719. 002B 719 _plot_col_1_1:
  720. 002B 720 .ds 1
  721. 002C 721 _plot_sloc0_1_0:
  722. 002C 722 .ds 2
  723. 002E 723 _calibrate_freq_PARM_2:
  724. 002E 724 .ds 1
  725. 002F 725 _set_center_freq_freq_1_1:
  726. 002F 726 .ds 2
  727. 0031 727 _set_center_freq_new_band_1_1:
  728. 0031 728 .ds 1
  729. 0032 729 _set_center_freq_spacing_1_1:
  730. 0032 730 .ds 4
  731. 0036 731 _set_center_freq_min_hz_1_1:
  732. 0036 732 .ds 4
  733. 003A 733 _set_center_freq_max_hz_1_1:
  734. 003A 734 .ds 4
  735. 003E 735 _set_center_freq_margin_1_1:
  736. 003E 736 .ds 1
  737. 003F 737 _set_center_freq_step_1_1:
  738. 003F 738 .ds 1
  739. 0040 739 _set_center_freq_upper_limit_1_1:
  740. 0040 740 .ds 2
  741. 0042 741 _set_center_freq_lower_limit_1_1:
  742. 0042 742 .ds 2
  743. 0044 743 _set_center_freq_sloc0_1_0:
  744. 0044 744 .ds 2
  745. 0046 745 _set_center_freq_sloc1_1_0:
  746. 0046 746 .ds 2
  747. 0048 747 _set_center_freq_sloc2_1_0:
  748. 0048 748 .ds 2
  749. 004A 749 _main_sloc0_1_0:
  750. 004A 750 .ds 1
  751. 751 ;--------------------------------------------------------
  752. 752 ; overlayable items in internal ram
  753. 753 ;--------------------------------------------------------
  754. 754 .area OSEG (OVR,DATA)
  755. 755 ;--------------------------------------------------------
  756. 756 ; Stack segment in internal ram
  757. 757 ;--------------------------------------------------------
  758. 758 .area SSEG (DATA)
  759. 0064 759 __start__stack:
  760. 0064 760 .ds 1
  761. 761
  762. 762 ;--------------------------------------------------------
  763. 763 ; indirectly addressable internal ram data
  764. 764 ;--------------------------------------------------------
  765. 765 .area ISEG (DATA)
  766. 766 ;--------------------------------------------------------
  767. 767 ; absolute internal ram data
  768. 768 ;--------------------------------------------------------
  769. 769 .area IABS (ABS,DATA)
  770. 770 .area IABS (ABS,DATA)
  771. 771 ;--------------------------------------------------------
  772. 772 ; bit data
  773. 773 ;--------------------------------------------------------
  774. 774 .area BSEG (BIT)
  775. 0000 775 _max_hold::
  776. 0000 776 .ds 1
  777. 0001 777 _height::
  778. 0001 778 .ds 1
  779. 0002 779 _sleepy::
  780. 0002 780 .ds 1
  781. 781 ;--------------------------------------------------------
  782. 782 ; paged external ram data
  783. 783 ;--------------------------------------------------------
  784. 784 .area PSEG (PAG,XDATA)
  785. 785 ;--------------------------------------------------------
  786. 786 ; external ram data
  787. 787 ;--------------------------------------------------------
  788. 788 .area XSEG (XDATA)
  789. DF02 789 _MDMCTRL0H = 0xdf02
  790. DF00 790 _SYNC1 = 0xdf00
  791. DF01 791 _SYNC0 = 0xdf01
  792. DF02 792 _PKTLEN = 0xdf02
  793. DF03 793 _PKTCTRL1 = 0xdf03
  794. DF04 794 _PKTCTRL0 = 0xdf04
  795. DF05 795 _ADDR = 0xdf05
  796. DF06 796 _CHANNR = 0xdf06
  797. DF07 797 _FSCTRL1 = 0xdf07
  798. DF08 798 _FSCTRL0 = 0xdf08
  799. DF09 799 _FREQ2 = 0xdf09
  800. DF0A 800 _FREQ1 = 0xdf0a
  801. DF0B 801 _FREQ0 = 0xdf0b
  802. DF0C 802 _MDMCFG4 = 0xdf0c
  803. DF0D 803 _MDMCFG3 = 0xdf0d
  804. DF0E 804 _MDMCFG2 = 0xdf0e
  805. DF0F 805 _MDMCFG1 = 0xdf0f
  806. DF10 806 _MDMCFG0 = 0xdf10
  807. DF11 807 _DEVIATN = 0xdf11
  808. DF12 808 _MCSM2 = 0xdf12
  809. DF13 809 _MCSM1 = 0xdf13
  810. DF14 810 _MCSM0 = 0xdf14
  811. DF15 811 _FOCCFG = 0xdf15
  812. DF16 812 _BSCFG = 0xdf16
  813. DF17 813 _AGCCTRL2 = 0xdf17
  814. DF18 814 _AGCCTRL1 = 0xdf18
  815. DF19 815 _AGCCTRL0 = 0xdf19
  816. DF1A 816 _FREND1 = 0xdf1a
  817. DF1B 817 _FREND0 = 0xdf1b
  818. DF1C 818 _FSCAL3 = 0xdf1c
  819. DF1D 819 _FSCAL2 = 0xdf1d
  820. DF1E 820 _FSCAL1 = 0xdf1e
  821. DF1F 821 _FSCAL0 = 0xdf1f
  822. DF20 822 __XREGDF20 = 0xdf20
  823. DF21 823 __XREGDF21 = 0xdf21
  824. DF22 824 __XREGDF22 = 0xdf22
  825. DF23 825 _TEST2 = 0xdf23
  826. DF24 826 _TEST1 = 0xdf24
  827. DF25 827 _TEST0 = 0xdf25
  828. DF26 828 __XREGDF26 = 0xdf26
  829. DF27 829 _PA_TABLE7 = 0xdf27
  830. DF28 830 _PA_TABLE6 = 0xdf28
  831. DF29 831 _PA_TABLE5 = 0xdf29
  832. DF2A 832 _PA_TABLE4 = 0xdf2a
  833. DF2B 833 _PA_TABLE3 = 0xdf2b
  834. DF2C 834 _PA_TABLE2 = 0xdf2c
  835. DF2D 835 _PA_TABLE1 = 0xdf2d
  836. DF2E 836 _PA_TABLE0 = 0xdf2e
  837. DF2F 837 _IOCFG2 = 0xdf2f
  838. DF30 838 _IOCFG1 = 0xdf30
  839. DF31 839 _IOCFG0 = 0xdf31
  840. DF32 840 __XREGDF32 = 0xdf32
  841. DF33 841 __XREGDF33 = 0xdf33
  842. DF34 842 __XREGDF34 = 0xdf34
  843. DF35 843 __XREGDF35 = 0xdf35
  844. DF36 844 _PARTNUM = 0xdf36
  845. DF37 845 _VERSION = 0xdf37
  846. DF38 846 _FREQEST = 0xdf38
  847. DF39 847 _LQI = 0xdf39
  848. DF3A 848 _RSSI = 0xdf3a
  849. DF3B 849 _MARCSTATE = 0xdf3b
  850. DF3C 850 _PKTSTATUS = 0xdf3c
  851. DF3D 851 _VCO_VC_DAC = 0xdf3d
  852. DF40 852 _I2SCFG0 = 0xdf40
  853. DF41 853 _I2SCFG1 = 0xdf41
  854. DF42 854 _I2SDATL = 0xdf42
  855. DF43 855 _I2SDATH = 0xdf43
  856. DF44 856 _I2SWCNT = 0xdf44
  857. DF45 857 _I2SSTAT = 0xdf45
  858. DF46 858 _I2SCLKF0 = 0xdf46
  859. DF47 859 _I2SCLKF1 = 0xdf47
  860. DF48 860 _I2SCLKF2 = 0xdf48
  861. DF80 861 __NA_P0 = 0xdf80
  862. DF81 862 __NA_SP = 0xdf81
  863. DF82 863 __NA_DPL0 = 0xdf82
  864. DF83 864 __NA_DPH0 = 0xdf83
  865. DF84 865 __NA_DPL1 = 0xdf84
  866. DF85 866 __NA_DPH1 = 0xdf85
  867. DF86 867 _X_U0CSR = 0xdf86
  868. DF87 868 __NA_PCON = 0xdf87
  869. DF88 869 __NA_TCON = 0xdf88
  870. DF89 870 _X_P0IFG = 0xdf89
  871. DF8A 871 _X_P1IFG = 0xdf8a
  872. DF8B 872 _X_P2IFG = 0xdf8b
  873. DF8C 873 _X_PICTL = 0xdf8c
  874. DF8D 874 _X_P1IEN = 0xdf8d
  875. DF8E 875 __X_SFR8E = 0xdf8e
  876. DF8F 876 _X_P0INP = 0xdf8f
  877. DF90 877 __NA_P1 = 0xdf90
  878. DF91 878 _X_RFIM = 0xdf91
  879. DF92 879 __NA_DPS = 0xdf92
  880. DF93 880 _X_MPAGE = 0xdf93
  881. DF94 881 __X_SFR94 = 0xdf94
  882. DF95 882 __X_SFR95 = 0xdf95
  883. DF96 883 __X_SFR96 = 0xdf96
  884. DF97 884 __X_SFR97 = 0xdf97
  885. DF98 885 __NA_S0CON = 0xdf98
  886. DF99 886 __X_SFR99 = 0xdf99
  887. DF9A 887 __NA_IEN2 = 0xdf9a
  888. DF9B 888 __NA_S1CON = 0xdf9b
  889. DF9C 889 _X_T2CT = 0xdf9c
  890. DF9D 890 _X_T2PR = 0xdf9d
  891. DF9E 891 _X_T2CTL = 0xdf9e
  892. DF9F 892 __X_SFR9F = 0xdf9f
  893. DFA0 893 __NA_P2 = 0xdfa0
  894. DFA1 894 _X_WORIRQ = 0xdfa1
  895. DFA2 895 _X_WORCTRL = 0xdfa2
  896. DFA3 896 _X_WOREVT0 = 0xdfa3
  897. DFA4 897 _X_WOREVT1 = 0xdfa4
  898. DFA5 898 _X_WORTIME0 = 0xdfa5
  899. DFA6 899 _X_WORTIME1 = 0xdfa6
  900. DFA7 900 __X_SFRA7 = 0xdfa7
  901. DFA8 901 __NA_IEN0 = 0xdfa8
  902. DFA9 902 __NA_IP0 = 0xdfa9
  903. DFAA 903 __X_SFRAA = 0xdfaa
  904. DFAB 904 _X_FWT = 0xdfab
  905. DFAC 905 _X_FADDRL = 0xdfac
  906. DFAD 906 _X_FADDRH = 0xdfad
  907. DFAE 907 _X_FCTL = 0xdfae
  908. DFAF 908 _X_FWDATA = 0xdfaf
  909. DFB0 909 __X_SFRB0 = 0xdfb0
  910. DFB1 910 _X_ENCDI = 0xdfb1
  911. DFB2 911 _X_ENCDO = 0xdfb2
  912. DFB3 912 _X_ENCCS = 0xdfb3
  913. DFB4 913 _X_ADCCON1 = 0xdfb4
  914. DFB5 914 _X_ADCCON2 = 0xdfb5
  915. DFB6 915 _X_ADCCON3 = 0xdfb6
  916. DFB7 916 __X_SFRB7 = 0xdfb7
  917. DFB8 917 __NA_IEN1 = 0xdfb8
  918. DFB9 918 __NA_IP1 = 0xdfb9
  919. DFBA 919 _X_ADCL = 0xdfba
  920. DFBB 920 _X_ADCH = 0xdfbb
  921. DFBC 921 _X_RNDL = 0xdfbc
  922. DFBD 922 _X_RNDH = 0xdfbd
  923. DFBE 923 _X_SLEEP = 0xdfbe
  924. DFBF 924 __X_SFRBF = 0xdfbf
  925. DFC0 925 __NA_IRCON = 0xdfc0
  926. DFC1 926 _X_U0DBUF = 0xdfc1
  927. DFC2 927 _X_U0BAUD = 0xdfc2
  928. DFC3 928 __X_SFRC3 = 0xdfc3
  929. DFC4 929 _X_U0UCR = 0xdfc4
  930. DFC5 930 _X_U0GCR = 0xdfc5
  931. DFC6 931 _X_CLKCON = 0xdfc6
  932. DFC7 932 _X_MEMCTR = 0xdfc7
  933. DFC8 933 __X_SFRC8 = 0xdfc8
  934. DFC9 934 _X_WDCTL = 0xdfc9
  935. DFCA 935 _X_T3CNT = 0xdfca
  936. DFCB 936 _X_T3CTL = 0xdfcb
  937. DFCC 937 _X_T3CCTL0 = 0xdfcc
  938. DFCD 938 _X_T3CC0 = 0xdfcd
  939. DFCE 939 _X_T3CCTL1 = 0xdfce
  940. DFCF 940 _X_T3CC1 = 0xdfcf
  941. DFD0 941 __NA_PSW = 0xdfd0
  942. DFD1 942 _X_DMAIRQ = 0xdfd1
  943. DFD2 943 _X_DMA1CFGL = 0xdfd2
  944. DFD3 944 _X_DMA1CFGH = 0xdfd3
  945. DFD4 945 _X_DMA0CFGL = 0xdfd4
  946. DFD5 946 _X_DMA0CFGH = 0xdfd5
  947. DFD6 947 _X_DMAARM = 0xdfd6
  948. DFD7 948 _X_DMAREQ = 0xdfd7
  949. DFD8 949 _X_TIMIF = 0xdfd8
  950. DFD9 950 _X_RFD = 0xdfd9
  951. DFDA 951 _X_T1CC0L = 0xdfda
  952. DFDB 952 _X_T1CC0H = 0xdfdb
  953. DFDC 953 _X_T1CC1L = 0xdfdc
  954. DFDD 954 _X_T1CC1H = 0xdfdd
  955. DFDE 955 _X_T1CC2L = 0xdfde
  956. DFDF 956 _X_T1CC2H = 0xdfdf
  957. DFE0 957 __NA_ACC = 0xdfe0
  958. DFE1 958 _X_RFST = 0xdfe1
  959. DFE2 959 _X_T1CNTL = 0xdfe2
  960. DFE3 960 _X_T1CNTH = 0xdfe3
  961. DFE4 961 _X_T1CTL = 0xdfe4
  962. DFE5 962 _X_T1CCTL0 = 0xdfe5
  963. DFE6 963 _X_T1CCTL1 = 0xdfe6
  964. DFE7 964 _X_T1CCTL2 = 0xdfe7
  965. DFE8 965 __NA_IRCON2 = 0xdfe8
  966. DFE9 966 _X_RFIF = 0xdfe9
  967. DFEA 967 _X_T4CNT = 0xdfea
  968. DFEB 968 _X_T4CTL = 0xdfeb
  969. DFEC 969 _X_T4CCTL0 = 0xdfec
  970. DFED 970 _X_T4CC0 = 0xdfed
  971. DFEE 971 _X_T4CCTL1 = 0xdfee
  972. DFEF 972 _X_T4CC1 = 0xdfef
  973. DFF0 973 __NA_B = 0xdff0
  974. DFF1 974 _X_PERCFG = 0xdff1
  975. DFF2 975 _X_ADCCFG = 0xdff2
  976. DFF3 976 _X_P0SEL = 0xdff3
  977. DFF4 977 _X_P1SEL = 0xdff4
  978. DFF5 978 _X_P2SEL = 0xdff5
  979. DFF6 979 _X_P1INP = 0xdff6
  980. DFF7 980 _X_P2INP = 0xdff7
  981. DFF8 981 _X_U1CSR = 0xdff8
  982. DFF9 982 _X_U1DBUF = 0xdff9
  983. DFFA 983 _X_U1BAUD = 0xdffa
  984. DFFB 984 _X_U1UCR = 0xdffb
  985. DFFC 985 _X_U1GCR = 0xdffc
  986. DFFD 986 _X_P0DIR = 0xdffd
  987. DFFE 987 _X_P1DIR = 0xdffe
  988. DFFF 988 _X_P2DIR = 0xdfff
  989. F000 989 _chan_table::
  990. F000 990 .ds 1056
  991. 991 ;--------------------------------------------------------
  992. 992 ; absolute external ram data
  993. 993 ;--------------------------------------------------------
  994. 994 .area XABS (ABS,XDATA)
  995. 995 ;--------------------------------------------------------
  996. 996 ; external initialized ram data
  997. 997 ;--------------------------------------------------------
  998. 998 .area XISEG (XDATA)
  999. 999 .area HOME (CODE)
  1000. 1000 .area GSINIT0 (CODE)
  1001. 1001 .area GSINIT1 (CODE)
  1002. 1002 .area GSINIT2 (CODE)
  1003. 1003 .area GSINIT3 (CODE)
  1004. 1004 .area GSINIT4 (CODE)
  1005. 1005 .area GSINIT5 (CODE)
  1006. 1006 .area GSINIT (CODE)
  1007. 1007 .area GSFINAL (CODE)
  1008. 1008 .area CSEG (CODE)
  1009. 1009 ;--------------------------------------------------------
  1010. 1010 ; interrupt vector
  1011. 1011 ;--------------------------------------------------------
  1012. 1012 .area HOME (CODE)
  1013. 0000 1013 __interrupt_vect:
  1014. 0000 02 00 83 1014 ljmp __sdcc_gsinit_startup
  1015. 0003 32 1015 reti
  1016. 0004 1016 .ds 7
  1017. 000B 32 1017 reti
  1018. 000C 1018 .ds 7
  1019. 0013 32 1019 reti
  1020. 0014 1020 .ds 7
  1021. 001B 32 1021 reti
  1022. 001C 1022 .ds 7
  1023. 0023 32 1023 reti
  1024. 0024 1024 .ds 7
  1025. 002B 32 1025 reti
  1026. 002C 1026 .ds 7
  1027. 0033 32 1027 reti
  1028. 0034 1028 .ds 7
  1029. 003B 32 1029 reti
  1030. 003C 1030 .ds 7
  1031. 0043 32 1031 reti
  1032. 0044 1032 .ds 7
  1033. 004B 32 1033 reti
  1034. 004C 1034 .ds 7
  1035. 0053 32 1035 reti
  1036. 0054 1036 .ds 7
  1037. 005B 32 1037 reti
  1038. 005C 1038 .ds 7
  1039. 0063 32 1039 reti
  1040. 0064 1040 .ds 7
  1041. 006B 32 1041 reti
  1042. 006C 1042 .ds 7
  1043. 0073 32 1043 reti
  1044. 0074 1044 .ds 7
  1045. 007B 02 11 42 1045 ljmp _port1_isr
  1046. 1046 ;--------------------------------------------------------
  1047. 1047 ; global & static initialisations
  1048. 1048 ;--------------------------------------------------------
  1049. 1049 .area HOME (CODE)
  1050. 1050 .area GSINIT (CODE)
  1051. 1051 .area GSFINAL (CODE)
  1052. 1052 .area GSINIT (CODE)
  1053. 1053 .globl __sdcc_gsinit_startup
  1054. 1054 .globl __sdcc_program_startup
  1055. 1055 .globl __start__stack
  1056. 1056 .globl __mcs51_genXINIT
  1057. 1057 .globl __mcs51_genXRAMCLEAR
  1058. 1058 .globl __mcs51_genRAMCLEAR
  1059. 1059 .area GSFINAL (CODE)
  1060. 00DC 02 00 7E 1060 ljmp __sdcc_program_startup
  1061. 1061 ;--------------------------------------------------------
  1062. 1062 ; Home
  1063. 1063 ;--------------------------------------------------------
  1064. 1064 .area HOME (CODE)
  1065. 1065 .area HOME (CODE)
  1066. 007E 1066 __sdcc_program_startup:
  1067. 007E 12 0D 27 1067 lcall _main
  1068. 1068 ; return from main will lock up
  1069. 0081 80 FE 1069 sjmp .
  1070. 1070 ;--------------------------------------------------------
  1071. 1071 ; code
  1072. 1072 ;--------------------------------------------------------
  1073. 1073 .area CSEG (CODE)
  1074. 1074 ;------------------------------------------------------------
  1075. 1075 ;Allocation info for local variables in function 'plot'
  1076. 1076 ;------------------------------------------------------------
  1077. 1077 ;col Allocated with name '_plot_col_1_1'
  1078. 1078 ;section Allocated to registers r4
  1079. 1079 ;row Allocated to registers r2
  1080. 1080 ;pixels Allocated to registers r4
  1081. 1081 ;s Allocated to registers r3
  1082. 1082 ;m Allocated to registers r5
  1083. 1083 ;sloc0 Allocated with name '_plot_sloc0_1_0'
  1084. 1084 ;------------------------------------------------------------
  1085. 1085 ; specan.c:43: void plot(u8 col) {
  1086. 1086 ; -----------------------------------------
  1087. 1087 ; function plot
  1088. 1088 ; -----------------------------------------
  1089. 00DF 1089 _plot:
  1090. 0002 1090 ar2 = 0x02
  1091. 0003 1091 ar3 = 0x03
  1092. 0004 1092 ar4 = 0x04
  1093. 0005 1093 ar5 = 0x05
  1094. 0006 1094 ar6 = 0x06
  1095. 0007 1095 ar7 = 0x07
  1096. 0000 1096 ar0 = 0x00
  1097. 0001 1097 ar1 = 0x01
  1098. 00DF 85 82 2B 1098 mov _plot_col_1_1,dpl
  1099. 1099 ; specan.c:49: SSN = LOW;
  1100. 00E2 C2 84 1100 clr _P0_4
  1101. 1101 ; specan.c:50: setDisplayStart(0);
  1102. 00E4 75 82 00 1102 mov dpl,#0x00
  1103. 00E7 12 0F 17 1103 lcall _setDisplayStart
  1104. 1104 ; specan.c:52: if (height == TALL) {
  1105. 00EA 30 01 6C 1105 jnb _height,00102$
  1106. 1106 ; specan.c:53: m = MAX((chan_table[col].max - vscroll), 0);
  1107. 00ED E5 2B 1107 mov a,_plot_col_1_1
  1108. 00EF 75 F0 08 1108 mov b,#0x08
  1109. 00F2 A4 1109 mul ab
  1110. 00F3 24 00 1110 add a,#_chan_table
  1111. 00F5 FB 1111 mov r3,a
  1112. 00F6 74 F0 1112 mov a,#(_chan_table >> 8)
  1113. 00F8 35 F0 1113 addc a,b
  1114. 00FA FC 1114 mov r4,a
  1115. 00FB 74 07 1115 mov a,#0x07
  1116. 00FD 2B 1116 add a,r3
  1117. 00FE F5 82 1117 mov dpl,a
  1118. 0100 E4 1118 clr a
  1119. 0101 3C 1119 addc a,r4
  1120. 0102 F5 83 1120 mov dph,a
  1121. 0104 E0 1121 movx a,@dptr
  1122. 0105 FD 1122 mov r5,a
  1123. 0106 FE 1123 mov r6,a
  1124. 0107 7F 00 1124 mov r7,#0x00
  1125. 0109 A8 28 1125 mov r0,_vscroll
  1126. 010B 79 00 1126 mov r1,#0x00
  1127. 010D EE 1127 mov a,r6
  1128. 010E C3 1128 clr c
  1129. 010F 98 1129 subb a,r0
  1130. 0110 FE 1130 mov r6,a
  1131. 0111 EF 1131 mov a,r7
  1132. 0112 99 1132 subb a,r1
  1133. 0113 FF 1133 mov r7,a
  1134. 0114 C3 1134 clr c
  1135. 0115 E4 1135 clr a
  1136. 0116 9E 1136 subb a,r6
  1137. 0117 74 80 1137 mov a,#(0x00 ^ 0x80)
  1138. 0119 8F F0 1138 mov b,r7
  1139. 011B 63 F0 80 1139 xrl b,#0x80
  1140. 011E 95 F0 1140 subb a,b
  1141. 0120 50 07 1141 jnc 00114$
  1142. 0122 ED 1142 mov a,r5
  1143. 0123 C3 1143 clr c
  1144. 0124 95 28 1144 subb a,_vscroll
  1145. 0126 FD 1145 mov r5,a
  1146. 0127 80 02 1146 sjmp 00115$
  1147. 0129 1147 00114$:
  1148. 0129 7D 00 1148 mov r5,#0x00
  1149. 012B 1149 00115$:
  1150. 1150 ; specan.c:54: s = MAX((chan_table[col].ss - vscroll), 0);
  1151. 012B 74 06 1151 mov a,#0x06
  1152. 012D 2B 1152 add a,r3
  1153. 012E F5 82 1153 mov dpl,a
  1154. 0130 E4 1154 clr a
  1155. 0131 3C 1155 addc a,r4
  1156. 0132 F5 83 1156 mov dph,a
  1157. 0134 E0 1157 movx a,@dptr
  1158. 0135 FB 1158 mov r3,a
  1159. 0136 FC 1159 mov r4,a
  1160. 0137 7E 00 1160 mov r6,#0x00
  1161. 0139 C3 1161 clr c
  1162. 013A 98 1162 subb a,r0
  1163. 013B F8 1163 mov r0,a
  1164. 013C EE 1164 mov a,r6
  1165. 013D 99 1165 subb a,r1
  1166. 013E F9 1166 mov r1,a
  1167. 013F C3 1167 clr c
  1168. 0140 E4 1168 clr a
  1169. 0141 98 1169 subb a,r0
  1170. 0142 74 80 1170 mov a,#(0x00 ^ 0x80)
  1171. 0144 89 F0 1171 mov b,r1
  1172. 0146 63 F0 80 1172 xrl b,#0x80
  1173. 0149 95 F0 1173 subb a,b
  1174. 014B 50 07 1174 jnc 00116$
  1175. 014D EB 1175 mov a,r3
  1176. 014E C3 1176 clr c
  1177. 014F 95 28 1177 subb a,_vscroll
  1178. 0151 FB 1178 mov r3,a
  1179. 0152 80 02 1179 sjmp 00117$
  1180. 0154 1180 00116$:
  1181. 0154 7B 00 1181 mov r3,#0x00
  1182. 0156 1182 00117$:
  1183. 0156 02 02 07 1183 ljmp 00130$
  1184. 0159 1184 00102$:
  1185. 1185 ; specan.c:56: s = MAX((chan_table[col].ss - vscroll) >> 2, 0);
  1186. 0159 E5 2B 1186 mov a,_plot_col_1_1
  1187. 015B 75 F0 08 1187 mov b,#0x08
  1188. 015E A4 1188 mul ab
  1189. 015F 24 00 1189 add a,#_chan_table
  1190. 0161 FC 1190 mov r4,a
  1191. 0162 74 F0 1191 mov a,#(_chan_table >> 8)
  1192. 0164 35 F0 1192 addc a,b
  1193. 0166 FE 1193 mov r6,a
  1194. 0167 74 06 1194 mov a,#0x06
  1195. 0169 2C 1195 add a,r4
  1196. 016A F5 82 1196 mov dpl,a
  1197. 016C E4 1197 clr a
  1198. 016D 3E 1198 addc a,r6
  1199. 016E F5 83 1199 mov dph,a
  1200. 0170 E0 1200 movx a,@dptr
  1201. 0171 FF 1201 mov r7,a
  1202. 0172 78 00 1202 mov r0,#0x00
  1203. 0174 85 28 2C 1203 mov _plot_sloc0_1_0,_vscroll
  1204. 0177 75 2D 00 1204 mov (_plot_sloc0_1_0 + 1),#0x00
  1205. 017A EF 1205 mov a,r7
  1206. 017B C3 1206 clr c
  1207. 017C 95 2C 1207 subb a,_plot_sloc0_1_0
  1208. 017E F9 1208 mov r1,a
  1209. 017F E8 1209 mov a,r0
  1210. 0180 95 2D 1210 subb a,(_plot_sloc0_1_0 + 1)
  1211. 0182 A2 E7 1211 mov c,acc.7
  1212. 0184 13 1212 rrc a
  1213. 0185 C9 1213 xch a,r1
  1214. 0186 13 1214 rrc a
  1215. 0187 C9 1215 xch a,r1
  1216. 0188 A2 E7 1216 mov c,acc.7
  1217. 018A 13 1217 rrc a
  1218. 018B C9 1218 xch a,r1
  1219. 018C 13 1219 rrc a
  1220. 018D C9 1220 xch a,r1
  1221. 018E FA 1221 mov r2,a
  1222. 018F C3 1222 clr c
  1223. 0190 E4 1223 clr a
  1224. 0191 99 1224 subb a,r1
  1225. 0192 74 80 1225 mov a,#(0x00 ^ 0x80)
  1226. 0194 8A F0 1226 mov b,r2
  1227. 0196 63 F0 80 1227 xrl b,#0x80
  1228. 0199 95 F0 1228 subb a,b
  1229. 019B 50 18 1229 jnc 00118$
  1230. 019D EF 1230 mov a,r7
  1231. 019E C3 1231 clr c
  1232. 019F 95 2C 1232 subb a,_plot_sloc0_1_0
  1233. 01A1 FF 1233 mov r7,a
  1234. 01A2 E8 1234 mov a,r0
  1235. 01A3 95 2D 1235 subb a,(_plot_sloc0_1_0 + 1)
  1236. 01A5 F8 1236 mov r0,a
  1237. 01A6 A2 E7 1237 mov c,acc.7
  1238. 01A8 13 1238 rrc a
  1239. 01A9 CF 1239 xch a,r7
  1240. 01AA 13 1240 rrc a
  1241. 01AB CF 1241 xch a,r7
  1242. 01AC A2 E7 1242 mov c,acc.7
  1243. 01AE 13 1243 rrc a
  1244. 01AF CF 1244 xch a,r7
  1245. 01B0 13 1245 rrc a
  1246. 01B1 CF 1246 xch a,r7
  1247. 01B2 FA 1247 mov r2,a
  1248. 01B3 80 04 1248 sjmp 00119$
  1249. 01B5 1249 00118$:
  1250. 01B5 7F 00 1250 mov r7,#0x00
  1251. 01B7 7A 00 1251 mov r2,#0x00
  1252. 01B9 1252 00119$:
  1253. 01B9 8F 03 1253 mov ar3,r7
  1254. 1254 ; specan.c:57: m = MAX((chan_table[col].max - vscroll) >> 2, 0);
  1255. 01BB 74 07 1255 mov a,#0x07
  1256. 01BD 2C 1256 add a,r4
  1257. 01BE F5 82 1257 mov dpl,a
  1258. 01C0 E4 1258 clr a
  1259. 01C1 3E 1259 addc a,r6
  1260. 01C2 F5 83 1260 mov dph,a
  1261. 01C4 E0 1261 movx a,@dptr
  1262. 01C5 FA 1262 mov r2,a
  1263. 01C6 7C 00 1263 mov r4,#0x00
  1264. 01C8 C3 1264 clr c
  1265. 01C9 95 2C 1265 subb a,_plot_sloc0_1_0
  1266. 01CB FE 1266 mov r6,a
  1267. 01CC EC 1267 mov a,r4
  1268. 01CD 95 2D 1268 subb a,(_plot_sloc0_1_0 + 1)
  1269. 01CF A2 E7 1269 mov c,acc.7
  1270. 01D1 13 1270 rrc a
  1271. 01D2 CE 1271 xch a,r6
  1272. 01D3 13 1272 rrc a
  1273. 01D4 CE 1273 xch a,r6
  1274. 01D5 A2 E7 1274 mov c,acc.7
  1275. 01D7 13 1275 rrc a
  1276. 01D8 CE 1276 xch a,r6
  1277. 01D9 13 1277 rrc a
  1278. 01DA CE 1278 xch a,r6
  1279. 01DB FF 1279 mov r7,a
  1280. 01DC C3 1280 clr c
  1281. 01DD E4 1281 clr a
  1282. 01DE 9E 1282 subb a,r6
  1283. 01DF 74 80 1283 mov a,#(0x00 ^ 0x80)
  1284. 01E1 8F F0 1284 mov b,r7
  1285. 01E3 63 F0 80 1285 xrl b,#0x80
  1286. 01E6 95 F0 1286 subb a,b
  1287. 01E8 50 17 1287 jnc 00120$
  1288. 01EA EA 1288 mov a,r2
  1289. 01EB C3 1289 clr c
  1290. 01EC 95 2C 1290 subb a,_plot_sloc0_1_0
  1291. 01EE FA 1291 mov r2,a
  1292. 01EF EC 1292 mov a,r4
  1293. 01F0 95 2D 1293 subb a,(_plot_sloc0_1_0 + 1)
  1294. 01F2 A2 E7 1294 mov c,acc.7
  1295. 01F4 13 1295 rrc a
  1296. 01F5 CA 1296 xch a,r2
  1297. 01F6 13 1297 rrc a
  1298. 01F7 CA 1298 xch a,r2
  1299. 01F8 A2 E7 1299 mov c,acc.7
  1300. 01FA 13 1300 rrc a
  1301. 01FB CA 1301 xch a,r2
  1302. 01FC 13 1302 rrc a
  1303. 01FD CA 1303 xch a,r2
  1304. 01FE FC 1304 mov r4,a
  1305. 01FF 80 04 1305 sjmp 00121$
  1306. 0201 1306 00120$:
  1307. 0201 7A 00 1307 mov r2,#0x00
  1308. 0203 7C 00 1308 mov r4,#0x00
  1309. 0205 1309 00121$:
  1310. 0205 8A 05 1310 mov ar5,r2
  1311. 1311 ; specan.c:60: for (row = 0; row < 6; row++) {
  1312. 0207 1312 00130$:
  1313. 0207 7A 00 1313 mov r2,#0x00
  1314. 0209 1314 00108$:
  1315. 0209 BA 06 00 1315 cjne r2,#0x06,00137$
  1316. 020C 1316 00137$:
  1317. 020C 40 03 1317 jc 00138$
  1318. 020E 02 02 CD 1318 ljmp 00111$
  1319. 0211 1319 00138$:
  1320. 1320 ; specan.c:61: setCursor(5 - row, col);
  1321. 0211 74 05 1321 mov a,#0x05
  1322. 0213 C3 1322 clr c
  1323. 0214 9A 1323 subb a,r2
  1324. 0215 F5 82 1324 mov dpl,a
  1325. 0217 85 2B 08 1325 mov _setCursor_PARM_2,_plot_col_1_1
  1326. 021A C0 02 1326 push ar2
  1327. 021C C0 03 1327 push ar3
  1328. 021E C0 05 1328 push ar5
  1329. 0220 12 0E F4 1329 lcall _setCursor
  1330. 0223 D0 05 1330 pop ar5
  1331. 0225 D0 03 1331 pop ar3
  1332. 0227 D0 02 1332 pop ar2
  1333. 1333 ; specan.c:62: section = s - (8 * row);
  1334. 0229 EA 1334 mov a,r2
  1335. 022A C4 1335 swap a
  1336. 022B 03 1336 rr a
  1337. 022C 54 F8 1337 anl a,#0xf8
  1338. 022E FC 1338 mov r4,a
  1339. 022F EB 1339 mov a,r3
  1340. 0230 C3 1340 clr c
  1341. 0231 9C 1341 subb a,r4
  1342. 0232 FC 1342 mov r4,a
  1343. 1343 ; specan.c:63: if (s >= (8 * (row + 1)))
  1344. 0233 8A 06 1344 mov ar6,r2
  1345. 0235 7F 00 1345 mov r7,#0x00
  1346. 0237 0E 1346 inc r6
  1347. 0238 BE 00 01 1347 cjne r6,#0x00,00139$
  1348. 023B 0F 1348 inc r7
  1349. 023C 1349 00139$:
  1350. 023C EF 1350 mov a,r7
  1351. 023D C4 1351 swap a
  1352. 023E 03 1352 rr a
  1353. 023F 54 F8 1353 anl a,#0xf8
  1354. 0241 CE 1354 xch a,r6
  1355. 0242 C4 1355 swap a
  1356. 0243 03 1356 rr a
  1357. 0244 CE 1357 xch a,r6
  1358. 0245 6E 1358 xrl a,r6
  1359. 0246 CE 1359 xch a,r6
  1360. 0247 54 F8 1360 anl a,#0xf8
  1361. 0249 CE 1361 xch a,r6
  1362. 024A 6E 1362 xrl a,r6
  1363. 024B FF 1363 mov r7,a
  1364. 024C 8B 00 1364 mov ar0,r3
  1365. 024E 79 00 1365 mov r1,#0x00
  1366. 0250 C3 1366 clr c
  1367. 0251 E8 1367 mov a,r0
  1368. 0252 9E 1368 subb a,r6
  1369. 0253 E9 1369 mov a,r1
  1370. 0254 64 80 1370 xrl a,#0x80
  1371. 0256 8F F0 1371 mov b,r7
  1372. 0258 63 F0 80 1372 xrl b,#0x80
  1373. 025B 95 F0 1373 subb a,b
  1374. 025D 40 02 1374 jc 00105$
  1375. 1375 ; specan.c:64: section = 8;
  1376. 025F 7C 08 1376 mov r4,#0x08
  1377. 0261 1377 00105$:
  1378. 1378 ; specan.c:65: pixels = 0xff << (8 - section);
  1379. 0261 74 08 1379 mov a,#0x08
  1380. 0263 C3 1380 clr c
  1381. 0264 9C 1381 subb a,r4
  1382. 0265 F5 F0 1382 mov b,a
  1383. 0267 05 F0 1383 inc b
  1384. 0269 74 FF 1384 mov a,#0xFF
  1385. 026B 80 02 1385 sjmp 00143$
  1386. 026D 1386 00141$:
  1387. 026D 25 E0 1387 add a,acc
  1388. 026F 1388 00143$:
  1389. 026F D5 F0 FB 1389 djnz b,00141$
  1390. 0272 FC 1390 mov r4,a
  1391. 1391 ; specan.c:66: if (m <= (8 * (row + 1)))
  1392. 0273 8A 06 1392 mov ar6,r2
  1393. 0275 7F 00 1393 mov r7,#0x00
  1394. 0277 0E 1394 inc r6
  1395. 0278 BE 00 01 1395 cjne r6,#0x00,00144$
  1396. 027B 0F 1396 inc r7
  1397. 027C 1397 00144$:
  1398. 027C EF 1398 mov a,r7
  1399. 027D C4 1399 swap a
  1400. 027E 03 1400 rr a
  1401. 027F 54 F8 1401 anl a,#0xf8
  1402. 0281 CE 1402 xch a,r6
  1403. 0282 C4 1403 swap a
  1404. 0283 03 1404 rr a
  1405. 0284 CE 1405 xch a,r6
  1406. 0285 6E 1406 xrl a,r6
  1407. 0286 CE 1407 xch a,r6
  1408. 0287 54 F8 1408 anl a,#0xf8
  1409. 0289 CE 1409 xch a,r6
  1410. 028A 6E 1410 xrl a,r6
  1411. 028B FF 1411 mov r7,a
  1412. 028C 8D 00 1412 mov ar0,r5
  1413. 028E 79 00 1413 mov r1,#0x00
  1414. 0290 C3 1414 clr c
  1415. 0291 EE 1415 mov a,r6
  1416. 0292 98 1416 subb a,r0
  1417. 0293 EF 1417 mov a,r7
  1418. 0294 64 80 1418 xrl a,#0x80
  1419. 0296 89 F0 1419 mov b,r1
  1420. 0298 63 F0 80 1420 xrl b,#0x80
  1421. 029B 95 F0 1421 subb a,b
  1422. 029D 40 19 1422 jc 00107$
  1423. 1423 ; specan.c:67: pixels |= (0x01 << ((8 * (row + 1)) - m));
  1424. 029F EA 1424 mov a,r2
  1425. 02A0 04 1425 inc a
  1426. 02A1 C4 1426 swap a
  1427. 02A2 03 1427 rr a
  1428. 02A3 54 F8 1428 anl a,#0xf8
  1429. 02A5 FE 1429 mov r6,a
  1430. 02A6 C3 1430 clr c
  1431. 02A7 9D 1431 subb a,r5
  1432. 02A8 F5 F0 1432 mov b,a
  1433. 02AA 05 F0 1433 inc b
  1434. 02AC 74 01 1434 mov a,#0x01
  1435. 02AE 80 02 1435 sjmp 00148$
  1436. 02B0 1436 00146$:
  1437. 02B0 25 E0 1437 add a,acc
  1438. 02B2 1438 00148$:
  1439. 02B2 D5 F0 FB 1439 djnz b,00146$
  1440. 02B5 FE 1440 mov r6,a
  1441. 02B6 42 04 1441 orl ar4,a
  1442. 02B8 1442 00107$:
  1443. 1443 ; specan.c:68: txData(pixels);
  1444. 02B8 8C 82 1444 mov dpl,r4
  1445. 02BA C0 02 1445 push ar2
  1446. 02BC C0 03 1446 push ar3
  1447. 02BE C0 05 1447 push ar5
  1448. 02C0 12 0E 8D 1448 lcall _txData
  1449. 02C3 D0 05 1449 pop ar5
  1450. 02C5 D0 03 1450 pop ar3
  1451. 02C7 D0 02 1451 pop ar2
  1452. 1452 ; specan.c:60: for (row = 0; row < 6; row++) {
  1453. 02C9 0A 1453 inc r2
  1454. 02CA 02 02 09 1454 ljmp 00108$
  1455. 02CD 1455 00111$:
  1456. 1456 ; specan.c:71: SSN = HIGH;
  1457. 02CD D2 84 1457 setb _P0_4
  1458. 02CF 22 1458 ret
  1459. 1459 ;------------------------------------------------------------
  1460. 1460 ;Allocation info for local variables in function 'draw_ruler'
  1461. 1461 ;------------------------------------------------------------
  1462. 1462 ;col Allocated to registers r3
  1463. 1463 ;offset Allocated to registers r2
  1464. 1464 ;------------------------------------------------------------
  1465. 1465 ; specan.c:74: void draw_ruler() {
  1466. 1466 ; -----------------------------------------
  1467. 1467 ; function draw_ruler
  1468. 1468 ; -----------------------------------------
  1469. 02D0 1469 _draw_ruler:
  1470. 1470 ; specan.c:76: u8 offset = 0;
  1471. 02D0 7A 00 1471 mov r2,#0x00
  1472. 1472 ; specan.c:78: SSN = LOW;
  1473. 02D2 C2 84 1473 clr _P0_4
  1474. 1474 ; specan.c:80: switch (width) {
  1475. 02D4 74 01 1475 mov a,#0x01
  1476. 02D6 B5 27 02 1476 cjne a,_width,00133$
  1477. 02D9 80 07 1477 sjmp 00101$
  1478. 02DB 1478 00133$:
  1479. 02DB 74 02 1479 mov a,#0x02
  1480. 1480 ; specan.c:81: case NARROW:
  1481. 02DD B5 27 47 1481 cjne a,_width,00103$
  1482. 02E0 80 24 1482 sjmp 00102$
  1483. 02E2 1483 00101$:
  1484. 1484 ; specan.c:82: setCursor(6, 0);
  1485. 02E2 75 08 00 1485 mov _setCursor_PARM_2,#0x00
  1486. 02E5 75 82 06 1486 mov dpl,#0x06
  1487. 02E8 12 0E F4 1487 lcall _setCursor
  1488. 1488 ; specan.c:83: for (col = 0; col < NUM_CHANNELS; col++)
  1489. 02EB 7B 00 1489 mov r3,#0x00
  1490. 02ED 1490 00107$:
  1491. 02ED BB 84 00 1491 cjne r3,#0x84,00135$
  1492. 02F0 1492 00135$:
  1493. 02F0 40 03 1493 jc 00136$
  1494. 02F2 02 03 6F 1494 ljmp 00106$
  1495. 02F5 1495 00136$:
  1496. 1496 ; specan.c:84: txData(narrow_ruler[col]);
  1497. 02F5 EB 1497 mov a,r3
  1498. 02F6 90 1B 3A 1498 mov dptr,#_narrow_ruler
  1499. 02F9 93 1499 movc a,@a+dptr
  1500. 02FA F5 82 1500 mov dpl,a
  1501. 02FC C0 03 1501 push ar3
  1502. 02FE 12 0E 8D 1502 lcall _txData
  1503. 0301 D0 03 1503 pop ar3
  1504. 1504 ; specan.c:83: for (col = 0; col < NUM_CHANNELS; col++)
  1505. 0303 0B 1505 inc r3
  1506. 1506 ; specan.c:86: case ULTRAWIDE:
  1507. 0304 80 E7 1507 sjmp 00107$
  1508. 0306 1508 00102$:
  1509. 1509 ; specan.c:87: setCursor(6, 0);
  1510. 0306 75 08 00 1510 mov _setCursor_PARM_2,#0x00
  1511. 0309 75 82 06 1511 mov dpl,#0x06
  1512. 030C 12 0E F4 1512 lcall _setCursor
  1513. 1513 ; specan.c:88: for (col = 0; col < NUM_CHANNELS; col++)
  1514. 030F 7B 00 1514 mov r3,#0x00
  1515. 0311 1515 00111$:
  1516. 0311 BB 84 00 1516 cjne r3,#0x84,00137$
  1517. 0314 1517 00137$:
  1518. 0314 50 59 1518 jnc 00106$
  1519. 1519 ; specan.c:89: txData(ultrawide_ruler[col]);
  1520. 0316 EB 1520 mov a,r3
  1521. 0317 90 1C 5B 1521 mov dptr,#_ultrawide_ruler
  1522. 031A 93 1522 movc a,@a+dptr
  1523. 031B F5 82 1523 mov dpl,a
  1524. 031D C0 03 1524 push ar3
  1525. 031F 12 0E 8D 1525 lcall _txData
  1526. 0322 D0 03 1526 pop ar3
  1527. 1527 ; specan.c:88: for (col = 0; col < NUM_CHANNELS; col++)
  1528. 0324 0B 1528 inc r3
  1529. 1529 ; specan.c:91: default:
  1530. 0325 80 EA 1530 sjmp 00111$
  1531. 0327 1531 00103$:
  1532. 1532 ; specan.c:92: if (center_freq % 10)
  1533. 0327 75 0E 0A 1533 mov __moduint_PARM_2,#0x0A
  1534. 032A 75 0F 00 1534 mov (__moduint_PARM_2 + 1),#0x00
  1535. 032D 85 22 82 1535 mov dpl,_center_freq
  1536. 0330 85 23 83 1536 mov dph,(_center_freq + 1)
  1537. 0333 C0 02 1537 push ar2
  1538. 0335 12 14 19 1538 lcall __moduint
  1539. 0338 E5 82 1539 mov a,dpl
  1540. 033A 85 83 F0 1540 mov b,dph
  1541. 033D D0 02 1541 pop ar2
  1542. 033F 45 F0 1542 orl a,b
  1543. 0341 60 02 1543 jz 00105$
  1544. 1544 ; specan.c:93: offset = 25;
  1545. 0343 7A 19 1545 mov r2,#0x19
  1546. 0345 1546 00105$:
  1547. 1547 ; specan.c:95: setCursor(6, 0);
  1548. 0345 75 08 00 1548 mov _setCursor_PARM_2,#0x00
  1549. 0348 75 82 06 1549 mov dpl,#0x06
  1550. 034B C0 02 1550 push ar2
  1551. 034D 12 0E F4 1551 lcall _setCursor
  1552. 0350 D0 02 1552 pop ar2
  1553. 1553 ; specan.c:96: for (col = 0; col < NUM_CHANNELS; col++)
  1554. 0352 7B 00 1554 mov r3,#0x00
  1555. 0354 1555 00115$:
  1556. 0354 BB 84 00 1556 cjne r3,#0x84,00140$
  1557. 0357 1557 00140$:
  1558. 0357 50 16 1558 jnc 00106$
  1559. 1559 ; specan.c:97: txData(wide_ruler[col + offset]);
  1560. 0359 EA 1560 mov a,r2
  1561. 035A 2B 1561 add a,r3
  1562. 035B 90 1B BE 1562 mov dptr,#_wide_ruler
  1563. 035E 93 1563 movc a,@a+dptr
  1564. 035F F5 82 1564 mov dpl,a
  1565. 0361 C0 02 1565 push ar2
  1566. 0363 C0 03 1566 push ar3
  1567. 0365 12 0E 8D 1567 lcall _txData
  1568. 0368 D0 03 1568 pop ar3
  1569. 036A D0 02 1569 pop ar2
  1570. 1570 ; specan.c:96: for (col = 0; col < NUM_CHANNELS; col++)
  1571. 036C 0B 1571 inc r3
  1572. 1572 ; specan.c:99: }
  1573. 036D 80 E5 1573 sjmp 00115$
  1574. 036F 1574 00106$:
  1575. 1575 ; specan.c:101: SSN = HIGH;
  1576. 036F D2 84 1576 setb _P0_4
  1577. 0371 22 1577 ret
  1578. 1578 ;------------------------------------------------------------
  1579. 1579 ;Allocation info for local variables in function 'draw_freq'
  1580. 1580 ;------------------------------------------------------------
  1581. 1581 ;------------------------------------------------------------
  1582. 1582 ; specan.c:104: void draw_freq() {
  1583. 1583 ; -----------------------------------------
  1584. 1584 ; function draw_freq
  1585. 1585 ; -----------------------------------------
  1586. 0372 1586 _draw_freq:
  1587. 1587 ; specan.c:105: SSN = LOW;
  1588. 0372 C2 84 1588 clr _P0_4
  1589. 1589 ; specan.c:107: switch (width) {
  1590. 0374 74 01 1590 mov a,#0x01
  1591. 0376 B5 27 02 1591 cjne a,_width,00109$
  1592. 0379 80 0B 1592 sjmp 00101$
  1593. 037B 1593 00109$:
  1594. 037B 74 02 1594 mov a,#0x02
  1595. 037D B5 27 03 1595 cjne a,_width,00110$
  1596. 0380 02 04 02 1596 ljmp 00102$
  1597. 0383 1597 00110$:
  1598. 0383 02 04 58 1598 ljmp 00103$
  1599. 1599 ; specan.c:108: case NARROW:
  1600. 0386 1600 00101$:
  1601. 1601 ; specan.c:109: setCursor(7, 18);
  1602. 0386 75 08 12 1602 mov _setCursor_PARM_2,#0x12
  1603. 0389 75 82 07 1603 mov dpl,#0x07
  1604. 038C 12 0E F4 1604 lcall _setCursor
  1605. 1605 ; specan.c:110: printf("%d", center_freq - 2);
  1606. 038F E5 22 1606 mov a,_center_freq
  1607. 0391 24 FE 1607 add a,#0xfe
  1608. 0393 FA 1608 mov r2,a
  1609. 0394 E5 23 1609 mov a,(_center_freq + 1)
  1610. 0396 34 FF 1610 addc a,#0xff
  1611. 0398 FB 1611 mov r3,a
  1612. 0399 C0 02 1612 push ar2
  1613. 039B C0 03 1613 push ar3
  1614. 039D 74 DF 1614 mov a,#__str_0
  1615. 039F C0 E0 1615 push acc
  1616. 03A1 74 1C 1616 mov a,#(__str_0 >> 8)
  1617. 03A3 C0 E0 1617 push acc
  1618. 03A5 74 80 1618 mov a,#0x80
  1619. 03A7 C0 E0 1619 push acc
  1620. 03A9 12 14 D9 1620 lcall _printf
  1621. 03AC E5 81 1621 mov a,sp
  1622. 03AE 24 FB 1622 add a,#0xfb
  1623. 03B0 F5 81 1623 mov sp,a
  1624. 1624 ; specan.c:112: setCursor(7, 58);
  1625. 03B2 75 08 3A 1625 mov _setCursor_PARM_2,#0x3A
  1626. 03B5 75 82 07 1626 mov dpl,#0x07
  1627. 03B8 12 0E F4 1627 lcall _setCursor
  1628. 1628 ; specan.c:113: printf("%d", center_freq);
  1629. 03BB C0 22 1629 push _center_freq
  1630. 03BD C0 23 1630 push (_center_freq + 1)
  1631. 03BF 74 DF 1631 mov a,#__str_0
  1632. 03C1 C0 E0 1632 push acc
  1633. 03C3 74 1C 1633 mov a,#(__str_0 >> 8)
  1634. 03C5 C0 E0 1634 push acc
  1635. 03C7 74 80 1635 mov a,#0x80
  1636. 03C9 C0 E0 1636 push acc
  1637. 03CB 12 14 D9 1637 lcall _printf
  1638. 03CE E5 81 1638 mov a,sp
  1639. 03D0 24 FB 1639 add a,#0xfb
  1640. 03D2 F5 81 1640 mov sp,a
  1641. 1641 ; specan.c:115: setCursor(7, 98);
  1642. 03D4 75 08 62 1642 mov _setCursor_PARM_2,#0x62
  1643. 03D7 75 82 07 1643 mov dpl,#0x07
  1644. 03DA 12 0E F4 1644 lcall _setCursor
  1645. 1645 ; specan.c:116: printf("%d", center_freq + 2);
  1646. 03DD 74 02 1646 mov a,#0x02
  1647. 03DF 25 22 1647 add a,_center_freq
  1648. 03E1 FA 1648 mov r2,a
  1649. 03E2 E4 1649 clr a
  1650. 03E3 35 23 1650 addc a,(_center_freq + 1)
  1651. 03E5 FB 1651 mov r3,a
  1652. 03E6 C0 02 1652 push ar2
  1653. 03E8 C0 03 1653 push ar3
  1654. 03EA 74 DF 1654 mov a,#__str_0
  1655. 03EC C0 E0 1655 push acc
  1656. 03EE 74 1C 1656 mov a,#(__str_0 >> 8)
  1657. 03F0 C0 E0 1657 push acc
  1658. 03F2 74 80 1658 mov a,#0x80
  1659. 03F4 C0 E0 1659 push acc
  1660. 03F6 12 14 D9 1660 lcall _printf
  1661. 03F9 E5 81 1661 mov a,sp
  1662. 03FB 24 FB 1662 add a,#0xfb
  1663. 03FD F5 81 1663 mov sp,a
  1664. 1664 ; specan.c:117: break;
  1665. 03FF 02 04 D1 1665 ljmp 00104$
  1666. 1666 ; specan.c:118: case ULTRAWIDE:
  1667. 0402 1667 00102$:
  1668. 1668 ; specan.c:119: setCursor(7, 13);
  1669. 0402 75 08 0D 1669 mov _setCursor_PARM_2,#0x0D
  1670. 0405 75 82 07 1670 mov dpl,#0x07
  1671. 0408 12 0E F4 1671 lcall _setCursor
  1672. 1672 ; specan.c:124: center_freq + 30);
  1673. 040B 74 1E 1673 mov a,#0x1E
  1674. 040D 25 22 1674 add a,_center_freq
  1675. 040F FA 1675 mov r2,a
  1676. 0410 E4 1676 clr a
  1677. 0411 35 23 1677 addc a,(_center_freq + 1)
  1678. 0413 FB 1678 mov r3,a
  1679. 1679 ; specan.c:123: center_freq + 10,
  1680. 0414 74 0A 1680 mov a,#0x0A
  1681. 0416 25 22 1681 add a,_center_freq
  1682. 0418 FC 1682 mov r4,a
  1683. 0419 E4 1683 clr a
  1684. 041A 35 23 1684 addc a,(_center_freq + 1)
  1685. 041C FD 1685 mov r5,a
  1686. 1686 ; specan.c:122: center_freq - 10,
  1687. 041D E5 22 1687 mov a,_center_freq
  1688. 041F 24 F6 1688 add a,#0xf6
  1689. 0421 FE 1689 mov r6,a
  1690. 0422 E5 23 1690 mov a,(_center_freq + 1)
  1691. 0424 34 FF 1691 addc a,#0xff
  1692. 0426 FF 1692 mov r7,a
  1693. 1693 ; specan.c:121: center_freq - 30,
  1694. 0427 E5 22 1694 mov a,_center_freq
  1695. 0429 24 E2 1695 add a,#0xe2
  1696. 042B F8 1696 mov r0,a
  1697. 042C E5 23 1697 mov a,(_center_freq + 1)
  1698. 042E 34 FF 1698 addc a,#0xff
  1699. 0430 F9 1699 mov r1,a
  1700. 1700 ; specan.c:120: printf("%d %d %d %d",
  1701. 0431 C0 02 1701 push ar2
  1702. 0433 C0 03 1702 push ar3
  1703. 0435 C0 04 1703 push ar4
  1704. 0437 C0 05 1704 push ar5
  1705. 0439 C0 06 1705 push ar6
  1706. 043B C0 07 1706 push ar7
  1707. 043D C0 00 1707 push ar0
  1708. 043F C0 01 1708 push ar1
  1709. 0441 74 E2 1709 mov a,#__str_1
  1710. 0443 C0 E0 1710 push acc
  1711. 0445 74 1C 1711 mov a,#(__str_1 >> 8)
  1712. 0447 C0 E0 1712 push acc
  1713. 0449 74 80 1713 mov a,#0x80
  1714. 044B C0 E0 1714 push acc
  1715. 044D 12 14 D9 1715 lcall _printf
  1716. 0450 E5 81 1716 mov a,sp
  1717. 0452 24 F5 1717 add a,#0xf5
  1718. 0454 F5 81 1718 mov sp,a
  1719. 1719 ; specan.c:125: break;
  1720. 1720 ; specan.c:126: default:
  1721. 0456 80 79 1721 sjmp 00104$
  1722. 0458 1722 00103$:
  1723. 1723 ; specan.c:127: setCursor(7, 8);
  1724. 0458 75 08 08 1724 mov _setCursor_PARM_2,#0x08
  1725. 045B 75 82 07 1725 mov dpl,#0x07
  1726. 045E 12 0E F4 1726 lcall _setCursor
  1727. 1727 ; specan.c:128: printf("%d", center_freq - 10);
  1728. 0461 E5 22 1728 mov a,_center_freq
  1729. 0463 24 F6 1729 add a,#0xf6
  1730. 0465 FA 1730 mov r2,a
  1731. 0466 E5 23 1731 mov a,(_center_freq + 1)
  1732. 0468 34 FF 1732 addc a,#0xff
  1733. 046A FB 1733 mov r3,a
  1734. 046B C0 02 1734 push ar2
  1735. 046D C0 03 1735 push ar3
  1736. 046F 74 DF 1736 mov a,#__str_0
  1737. 0471 C0 E0 1737 push acc
  1738. 0473 74 1C 1738 mov a,#(__str_0 >> 8)
  1739. 0475 C0 E0 1739 push acc
  1740. 0477 74 80 1740 mov a,#0x80
  1741. 0479 C0 E0 1741 push acc
  1742. 047B 12 14 D9 1742 lcall _printf
  1743. 047E E5 81 1743 mov a,sp
  1744. 0480 24 FB 1744 add a,#0xfb
  1745. 0482 F5 81 1745 mov sp,a
  1746. 1746 ; specan.c:130: setCursor(7, 58);
  1747. 0484 75 08 3A 1747 mov _setCursor_PARM_2,#0x3A
  1748. 0487 75 82 07 1748 mov dpl,#0x07
  1749. 048A 12 0E F4 1749 lcall _setCursor
  1750. 1750 ; specan.c:131: printf("%d", center_freq);
  1751. 048D C0 22 1751 push _center_freq
  1752. 048F C0 23 1752 push (_center_freq + 1)
  1753. 0491 74 DF 1753 mov a,#__str_0
  1754. 0493 C0 E0 1754 push acc
  1755. 0495 74 1C 1755 mov a,#(__str_0 >> 8)
  1756. 0497 C0 E0 1756 push acc
  1757. 0499 74 80 1757 mov a,#0x80
  1758. 049B C0 E0 1758 push acc
  1759. 049D 12 14 D9 1759 lcall _printf
  1760. 04A0 E5 81 1760 mov a,sp
  1761. 04A2 24 FB 1761 add a,#0xfb
  1762. 04A4 F5 81 1762 mov sp,a
  1763. 1763 ; specan.c:133: setCursor(7, 108);
  1764. 04A6 75 08 6C 1764 mov _setCursor_PARM_2,#0x6C
  1765. 04A9 75 82 07 1765 mov dpl,#0x07
  1766. 04AC 12 0E F4 1766 lcall _setCursor
  1767. 1767 ; specan.c:134: printf("%d", center_freq + 10);
  1768. 04AF 74 0A 1768 mov a,#0x0A
  1769. 04B1 25 22 1769 add a,_center_freq
  1770. 04B3 FA 1770 mov r2,a
  1771. 04B4 E4 1771 clr a
  1772. 04B5 35 23 1772 addc a,(_center_freq + 1)
  1773. 04B7 FB 1773 mov r3,a
  1774. 04B8 C0 02 1774 push ar2
  1775. 04BA C0 03 1775 push ar3
  1776. 04BC 74 DF 1776 mov a,#__str_0
  1777. 04BE C0 E0 1777 push acc
  1778. 04C0 74 1C 1778 mov a,#(__str_0 >> 8)
  1779. 04C2 C0 E0 1779 push acc
  1780. 04C4 74 80 1780 mov a,#0x80
  1781. 04C6 C0 E0 1781 push acc
  1782. 04C8 12 14 D9 1782 lcall _printf
  1783. 04CB E5 81 1783 mov a,sp
  1784. 04CD 24 FB 1784 add a,#0xfb
  1785. 04CF F5 81 1785 mov sp,a
  1786. 1786 ; specan.c:136: }
  1787. 04D1 1787 00104$:
  1788. 1788 ; specan.c:138: SSN = HIGH;
  1789. 04D1 D2 84 1789 setb _P0_4
  1790. 04D3 22 1790 ret
  1791. 1791 ;------------------------------------------------------------
  1792. 1792 ;Allocation info for local variables in function 'radio_setup'
  1793. 1793 ;------------------------------------------------------------
  1794. 1794 ;------------------------------------------------------------
  1795. 1795 ; specan.c:141: void radio_setup() {
  1796. 1796 ; -----------------------------------------
  1797. 1797 ; function radio_setup
  1798. 1798 ; -----------------------------------------
  1799. 04D4 1799 _radio_setup:
  1800. 1800 ; specan.c:143: FSCTRL1 = 0x12;
  1801. 04D4 90 DF 07 1801 mov dptr,#_FSCTRL1
  1802. 04D7 74 12 1802 mov a,#0x12
  1803. 04D9 F0 1803 movx @dptr,a
  1804. 1804 ; specan.c:144: FSCTRL0 = 0x00;
  1805. 04DA 90 DF 08 1805 mov dptr,#_FSCTRL0
  1806. 04DD E4 1806 clr a
  1807. 04DE F0 1807 movx @dptr,a
  1808. 1808 ; specan.c:147: AGCCTRL2 |= AGCCTRL2_MAX_DVGA_GAIN;
  1809. 04DF 90 DF 17 1809 mov dptr,#_AGCCTRL2
  1810. 04E2 E0 1810 movx a,@dptr
  1811. 04E3 44 C0 1811 orl a,#0xC0
  1812. 04E5 F0 1812 movx @dptr,a
  1813. 1813 ; specan.c:150: FSCAL3 = 0xEA;
  1814. 04E6 90 DF 1C 1814 mov dptr,#_FSCAL3
  1815. 04E9 74 EA 1815 mov a,#0xEA
  1816. 04EB F0 1816 movx @dptr,a
  1817. 1817 ; specan.c:151: FSCAL2 = 0x2A;
  1818. 04EC 90 DF 1D 1818 mov dptr,#_FSCAL2
  1819. 04EF 74 2A 1819 mov a,#0x2A
  1820. 04F1 F0 1820 movx @dptr,a
  1821. 1821 ; specan.c:152: FSCAL1 = 0x00;
  1822. 04F2 90 DF 1E 1822 mov dptr,#_FSCAL1
  1823. 04F5 E4 1823 clr a
  1824. 04F6 F0 1824 movx @dptr,a
  1825. 1825 ; specan.c:153: FSCAL0 = 0x1F;
  1826. 04F7 90 DF 1F 1826 mov dptr,#_FSCAL0
  1827. 04FA 74 1F 1827 mov a,#0x1F
  1828. 04FC F0 1828 movx @dptr,a
  1829. 1829 ; specan.c:156: TEST2 = 0x88;
  1830. 04FD 90 DF 23 1830 mov dptr,#_TEST2
  1831. 0500 74 88 1831 mov a,#0x88
  1832. 0502 F0 1832 movx @dptr,a
  1833. 1833 ; specan.c:157: TEST1 = 0x31;
  1834. 0503 90 DF 24 1834 mov dptr,#_TEST1
  1835. 0506 74 31 1835 mov a,#0x31
  1836. 0508 F0 1836 movx @dptr,a
  1837. 1837 ; specan.c:158: TEST0 = 0x09;
  1838. 0509 90 DF 25 1838 mov dptr,#_TEST0
  1839. 050C 74 09 1839 mov a,#0x09
  1840. 050E F0 1840 movx @dptr,a
  1841. 1841 ; specan.c:161: MCSM0 = 0;
  1842. 050F 90 DF 14 1842 mov dptr,#_MCSM0
  1843. 0512 E4 1843 clr a
  1844. 0513 F0 1844 movx @dptr,a
  1845. 0514 22 1845 ret
  1846. 1846 ;------------------------------------------------------------
  1847. 1847 ;Allocation info for local variables in function 'set_filter'
  1848. 1848 ;------------------------------------------------------------
  1849. 1849 ;------------------------------------------------------------
  1850. 1850 ; specan.c:165: void set_filter() {
  1851. 1851 ; -----------------------------------------
  1852. 1852 ; function set_filter
  1853. 1853 ; -----------------------------------------
  1854. 0515 1854 _set_filter:
  1855. 1855 ; specan.c:167: switch (width) {
  1856. 0515 74 01 1856 mov a,#0x01
  1857. 0517 B5 27 02 1857 cjne a,_width,00109$
  1858. 051A 80 07 1858 sjmp 00101$
  1859. 051C 1859 00109$:
  1860. 051C 74 02 1860 mov a,#0x02
  1861. 1861 ; specan.c:168: case NARROW:
  1862. 051E B5 27 10 1862 cjne a,_width,00103$
  1863. 0521 80 07 1863 sjmp 00102$
  1864. 0523 1864 00101$:
  1865. 1865 ; specan.c:169: MDMCFG4 = 0xEC; /* 67.708333 kHz */
  1866. 0523 90 DF 0C 1866 mov dptr,#_MDMCFG4
  1867. 0526 74 EC 1867 mov a,#0xEC
  1868. 0528 F0 1868 movx @dptr,a
  1869. 1869 ; specan.c:170: break;
  1870. 1870 ; specan.c:171: case ULTRAWIDE:
  1871. 0529 22 1871 ret
  1872. 052A 1872 00102$:
  1873. 1873 ; specan.c:172: MDMCFG4 = 0x0C; /* 812.5 kHz */
  1874. 052A 90 DF 0C 1874 mov dptr,#_MDMCFG4
  1875. 052D 74 0C 1875 mov a,#0x0C
  1876. 052F F0 1876 movx @dptr,a
  1877. 1877 ; specan.c:173: break;
  1878. 1878 ; specan.c:174: default:
  1879. 0530 22 1879 ret
  1880. 0531 1880 00103$:
  1881. 1881 ; specan.c:175: MDMCFG4 = 0x6C; /* 270.833333 kHz */
  1882. 0531 90 DF 0C 1882 mov dptr,#_MDMCFG4
  1883. 0534 74 6C 1883 mov a,#0x6C
  1884. 0536 F0 1884 movx @dptr,a
  1885. 1885 ; specan.c:177: }
  1886. 0537 22 1886 ret
  1887. 1887 ;------------------------------------------------------------
  1888. 1888 ;Allocation info for local variables in function 'set_radio_freq'
  1889. 1889 ;------------------------------------------------------------
  1890. 1890 ;freq Allocated to registers r2 r3 r4 r5
  1891. 1891 ;setting Allocated to registers r6 r7 r0 r1
  1892. 1892 ;------------------------------------------------------------
  1893. 1893 ; specan.c:181: void set_radio_freq(u32 freq) {
  1894. 1894 ; -----------------------------------------
  1895. 1895 ; function set_radio_freq
  1896. 1896 ; -----------------------------------------
  1897. 0538 1897 _set_radio_freq:
  1898. 1898 ; specan.c:183: u32 setting = (u32) (freq * .0025206154);
  1899. 0538 AA 82 1899 mov r2,dpl
  1900. 053A AB 83 1900 mov r3,dph
  1901. 053C AC F0 1901 mov r4,b
  1902. 053E FD 1902 mov r5,a
  1903. 053F C0 02 1903 push ar2
  1904. 0541 C0 03 1904 push ar3
  1905. 0543 C0 04 1905 push ar4
  1906. 0545 C0 05 1906 push ar5
  1907. 0547 12 13 42 1907 lcall ___ulong2fs
  1908. 054A AE 82 1908 mov r6,dpl
  1909. 054C AF 83 1909 mov r7,dph
  1910. 054E A8 F0 1910 mov r0,b
  1911. 0550 F9 1911 mov r1,a
  1912. 0551 C0 06 1912 push ar6
  1913. 0553 C0 07 1913 push ar7
  1914. 0555 C0 00 1914 push ar0
  1915. 0557 C0 01 1915 push ar1
  1916. 0559 90 30 E9 1916 mov dptr,#0x30E9
  1917. 055C 75 F0 25 1917 mov b,#0x25
  1918. 055F 74 3B 1918 mov a,#0x3B
  1919. 0561 12 12 48 1919 lcall ___fsmul
  1920. 0564 AE 82 1920 mov r6,dpl
  1921. 0566 AF 83 1921 mov r7,dph
  1922. 0568 A8 F0 1922 mov r0,b
  1923. 056A F9 1923 mov r1,a
  1924. 056B E5 81 1924 mov a,sp
  1925. 056D 24 FC 1925 add a,#0xfc
  1926. 056F F5 81 1926 mov sp,a
  1927. 0571 8E 82 1927 mov dpl,r6
  1928. 0573 8F 83 1928 mov dph,r7
  1929. 0575 88 F0 1929 mov b,r0
  1930. 0577 E9 1930 mov a,r1
  1931. 0578 12 13 55 1931 lcall ___fs2ulong
  1932. 057B AE 82 1932 mov r6,dpl
  1933. 057D AF 83 1933 mov r7,dph
  1934. 057F A8 F0 1934 mov r0,b
  1935. 0581 D0 05 1935 pop ar5
  1936. 0583 D0 04 1936 pop ar4
  1937. 0585 D0 03 1937 pop ar3
  1938. 0587 D0 02 1938 pop ar2
  1939. 1939 ; specan.c:184: FREQ2 = (setting >> 16) & 0xff;
  1940. 0589 90 DF 09 1940 mov dptr,#_FREQ2
  1941. 058C E8 1941 mov a,r0
  1942. 058D F0 1942 movx @dptr,a
  1943. 1943 ; specan.c:185: FREQ1 = (setting >> 8) & 0xff;
  1944. 058E 90 DF 0A 1944 mov dptr,#_FREQ1
  1945. 0591 EF 1945 mov a,r7
  1946. 0592 F0 1946 movx @dptr,a
  1947. 1947 ; specan.c:186: FREQ0 = setting & 0xff;
  1948. 0593 7F 00 1948 mov r7,#0x00
  1949. 0595 78 00 1949 mov r0,#0x00
  1950. 0597 79 00 1950 mov r1,#0x00
  1951. 0599 90 DF 0B 1951 mov dptr,#_FREQ0
  1952. 059C EE 1952 mov a,r6
  1953. 059D F0 1953 movx @dptr,a
  1954. 1954 ; specan.c:188: if ((band == BAND_300 && freq < MID_300) ||
  1955. 059E E5 26 1955 mov a,_band
  1956. 05A0 70 0F 1956 jnz 00106$
  1957. 05A2 C3 1957 clr c
  1958. 05A3 EA 1958 mov a,r2
  1959. 05A4 94 80 1959 subb a,#0x80
  1960. 05A6 EB 1960 mov a,r3
  1961. 05A7 94 4B 1961 subb a,#0x4B
  1962. 05A9 EC 1962 mov a,r4
  1963. 05AA 94 F4 1963 subb a,#0xF4
  1964. 05AC ED 1964 mov a,r5
  1965. 05AD 94 12 1965 subb a,#0x12
  1966. 05AF 40 22 1966 jc 00101$
  1967. 05B1 1967 00106$:
  1968. 1968 ; specan.c:189: (band == BAND_400 && freq < MID_400) ||
  1969. 05B1 74 01 1969 mov a,#0x01
  1970. 05B3 B5 26 0C 1970 cjne a,_band,00108$
  1971. 05B6 C3 1971 clr c
  1972. 05B7 EB 1972 mov a,r3
  1973. 05B8 94 BA 1973 subb a,#0xBA
  1974. 05BA EC 1974 mov a,r4
  1975. 05BB 94 45 1975 subb a,#0x45
  1976. 05BD ED 1976 mov a,r5
  1977. 05BE 94 19 1977 subb a,#0x19
  1978. 05C0 40 11 1978 jc 00101$
  1979. 05C2 1979 00108$:
  1980. 1980 ; specan.c:190: (band == BAND_900 && freq < MID_900))
  1981. 05C2 74 02 1981 mov a,#0x02
  1982. 05C4 B5 26 13 1982 cjne a,_band,00102$
  1983. 05C7 C3 1983 clr c
  1984. 05C8 EB 1984 mov a,r3
  1985. 05C9 94 74 1985 subb a,#0x74
  1986. 05CB EC 1986 mov a,r4
  1987. 05CC 94 8B 1987 subb a,#0x8B
  1988. 05CE ED 1988 mov a,r5
  1989. 05CF 94 32 1989 subb a,#0x32
  1990. 05D1 50 07 1990 jnc 00102$
  1991. 05D3 1991 00101$:
  1992. 1992 ; specan.c:192: FSCAL2 = 0x0A;
  1993. 05D3 90 DF 1D 1993 mov dptr,#_FSCAL2
  1994. 05D6 74 0A 1994 mov a,#0x0A
  1995. 05D8 F0 1995 movx @dptr,a
  1996. 05D9 22 1996 ret
  1997. 05DA 1997 00102$:
  1998. 1998 ; specan.c:195: FSCAL2 = 0x2A;
  1999. 05DA 90 DF 1D 1999 mov dptr,#_FSCAL2
  2000. 05DD 74 2A 2000 mov a,#0x2A
  2001. 05DF F0 2001 movx @dptr,a
  2002. 05E0 22 2002 ret
  2003. 2003 ;------------------------------------------------------------
  2004. 2004 ;Allocation info for local variables in function 'calibrate_freq'
  2005. 2005 ;------------------------------------------------------------
  2006. 2006 ;ch Allocated with name '_calibrate_freq_PARM_2'
  2007. 2007 ;freq Allocated to registers r2 r3 r4 r5
  2008. 2008 ;------------------------------------------------------------
  2009. 2009 ; specan.c:199: void calibrate_freq(u32 freq, u8 ch) {
  2010. 2010 ; -----------------------------------------
  2011. 2011 ; function calibrate_freq
  2012. 2012 ; -----------------------------------------
  2013. 05E1 2013 _calibrate_freq:
  2014. 2014 ; specan.c:200: set_radio_freq(freq);
  2015. 05E1 12 05 38 2015 lcall _set_radio_freq
  2016. 2016 ; specan.c:202: RFST = RFST_SCAL;
  2017. 05E4 75 E1 01 2017 mov _RFST,#0x01
  2018. 2018 ; specan.c:203: RFST = RFST_SRX;
  2019. 05E7 75 E1 02 2019 mov _RFST,#0x02
  2020. 2020 ; specan.c:206: sleepMillis(2);
  2021. 05EA 90 00 02 2021 mov dptr,#0x0002
  2022. 05ED 12 0E 2F 2022 lcall _sleepMillis
  2023. 2023 ; specan.c:209: chan_table[ch].freq2 = FREQ2;
  2024. 05F0 E5 2E 2024 mov a,_calibrate_freq_PARM_2
  2025. 05F2 75 F0 08 2025 mov b,#0x08
  2026. 05F5 A4 2026 mul ab
  2027. 05F6 FA 2027 mov r2,a
  2028. 05F7 AB F0 2028 mov r3,b
  2029. 05F9 EA 2029 mov a,r2
  2030. 05FA 24 00 2030 add a,#_chan_table
  2031. 05FC FC 2031 mov r4,a
  2032. 05FD EB 2032 mov a,r3
  2033. 05FE 34 F0 2033 addc a,#(_chan_table >> 8)
  2034. 0600 FD 2034 mov r5,a
  2035. 0601 90 DF 09 2035 mov dptr,#_FREQ2
  2036. 0604 E0 2036 movx a,@dptr
  2037. 0605 8C 82 2037 mov dpl,r4
  2038. 0607 8D 83 2038 mov dph,r5
  2039. 0609 F0 2039 movx @dptr,a
  2040. 2040 ; specan.c:210: chan_table[ch].freq1 = FREQ1;
  2041. 060A EA 2041 mov a,r2
  2042. 060B 24 00 2042 add a,#_chan_table
  2043. 060D FA 2043 mov r2,a
  2044. 060E EB 2044 mov a,r3
  2045. 060F 34 F0 2045 addc a,#(_chan_table >> 8)
  2046. 0611 FB 2046 mov r3,a
  2047. 0612 74 01 2047 mov a,#0x01
  2048. 0614 2A 2048 add a,r2
  2049. 0615 FC 2049 mov r4,a
  2050. 0616 E4 2050 clr a
  2051. 0617 3B 2051 addc a,r3
  2052. 0618 FD 2052 mov r5,a
  2053. 0619 90 DF 0A 2053 mov dptr,#_FREQ1
  2054. 061C E0 2054 movx a,@dptr
  2055. 061D 8C 82 2055 mov dpl,r4
  2056. 061F 8D 83 2056 mov dph,r5
  2057. 0621 F0 2057 movx @dptr,a
  2058. 2058 ; specan.c:211: chan_table[ch].freq0 = FREQ0;
  2059. 0622 74 02 2059 mov a,#0x02
  2060. 0624 2A 2060 add a,r2
  2061. 0625 FC 2061 mov r4,a
  2062. 0626 E4 2062 clr a
  2063. 0627 3B 2063 addc a,r3
  2064. 0628 FD 2064 mov r5,a
  2065. 0629 90 DF 0B 2065 mov dptr,#_FREQ0
  2066. 062C E0 2066 movx a,@dptr
  2067. 062D 8C 82 2067 mov dpl,r4
  2068. 062F 8D 83 2068 mov dph,r5
  2069. 0631 F0 2069 movx @dptr,a
  2070. 2070 ; specan.c:212: chan_table[ch].fscal3 = FSCAL3;
  2071. 0632 74 03 2071 mov a,#0x03
  2072. 0634 2A 2072 add a,r2
  2073. 0635 FC 2073 mov r4,a
  2074. 0636 E4 2074 clr a
  2075. 0637 3B 2075 addc a,r3
  2076. 0638 FD 2076 mov r5,a
  2077. 0639 90 DF 1C 2077 mov dptr,#_FSCAL3
  2078. 063C E0 2078 movx a,@dptr
  2079. 063D 8C 82 2079 mov dpl,r4
  2080. 063F 8D 83 2080 mov dph,r5
  2081. 0641 F0 2081 movx @dptr,a
  2082. 2082 ; specan.c:213: chan_table[ch].fscal2 = FSCAL2;
  2083. 0642 74 04 2083 mov a,#0x04
  2084. 0644 2A 2084 add a,r2
  2085. 0645 FC 2085 mov r4,a
  2086. 0646 E4 2086 clr a
  2087. 0647 3B 2087 addc a,r3
  2088. 0648 FD 2088 mov r5,a
  2089. 0649 90 DF 1D 2089 mov dptr,#_FSCAL2
  2090. 064C E0 2090 movx a,@dptr
  2091. 064D 8C 82 2091 mov dpl,r4
  2092. 064F 8D 83 2092 mov dph,r5
  2093. 0651 F0 2093 movx @dptr,a
  2094. 2094 ; specan.c:214: chan_table[ch].fscal1 = FSCAL1;
  2095. 0652 74 05 2095 mov a,#0x05
  2096. 0654 2A 2096 add a,r2
  2097. 0655 FC 2097 mov r4,a
  2098. 0656 E4 2098 clr a
  2099. 0657 3B 2099 addc a,r3
  2100. 0658 FD 2100 mov r5,a
  2101. 0659 90 DF 1E 2101 mov dptr,#_FSCAL1
  2102. 065C E0 2102 movx a,@dptr
  2103. 065D 8C 82 2103 mov dpl,r4
  2104. 065F 8D 83 2104 mov dph,r5
  2105. 0661 F0 2105 movx @dptr,a
  2106. 2106 ; specan.c:217: chan_table[ch].ss = (RSSI ^ 0x80);
  2107. 0662 74 06 2107 mov a,#0x06
  2108. 0664 2A 2108 add a,r2
  2109. 0665 FC 2109 mov r4,a
  2110. 0666 E4 2110 clr a
  2111. 0667 3B 2111 addc a,r3
  2112. 0668 FD 2112 mov r5,a
  2113. 0669 90 DF 3A 2113 mov dptr,#_RSSI
  2114. 066C E0 2114 movx a,@dptr
  2115. 066D FE 2115 mov r6,a
  2116. 066E 63 06 80 2116 xrl ar6,#0x80
  2117. 0671 8C 82 2117 mov dpl,r4
  2118. 0673 8D 83 2118 mov dph,r5
  2119. 0675 EE 2119 mov a,r6
  2120. 0676 F0 2120 movx @dptr,a
  2121. 2121 ; specan.c:218: chan_table[ch].max = 0;
  2122. 0677 74 07 2122 mov a,#0x07
  2123. 0679 2A 2123 add a,r2
  2124. 067A F5 82 2124 mov dpl,a
  2125. 067C E4 2125 clr a
  2126. 067D 3B 2126 addc a,r3
  2127. 067E F5 83 2127 mov dph,a
  2128. 0680 E4 2128 clr a
  2129. 0681 F0 2129 movx @dptr,a
  2130. 2130 ; specan.c:220: RFST = RFST_SIDLE;
  2131. 0682 75 E1 04 2131 mov _RFST,#0x04
  2132. 0685 22 2132 ret
  2133. 2133 ;------------------------------------------------------------
  2134. 2134 ;Allocation info for local variables in function 'set_center_freq'
  2135. 2135 ;------------------------------------------------------------
  2136. 2136 ;freq Allocated with name '_set_center_freq_freq_1_1'
  2137. 2137 ;new_band Allocated with name '_set_center_freq_new_band_1_1'
  2138. 2138 ;spacing Allocated with name '_set_center_freq_spacing_1_1'
  2139. 2139 ;hz Allocated to registers r2 r3 r4 r5
  2140. 2140 ;min_hz Allocated with name '_set_center_freq_min_hz_1_1'
  2141. 2141 ;max_hz Allocated with name '_set_center_freq_max_hz_1_1'
  2142. 2142 ;margin Allocated with name '_set_center_freq_margin_1_1'
  2143. 2143 ;step Allocated with name '_set_center_freq_step_1_1'
  2144. 2144 ;upper_limit Allocated with name '_set_center_freq_upper_limit_1_1'
  2145. 2145 ;lower_limit Allocated with name '_set_center_freq_lower_limit_1_1'
  2146. 2146 ;next_up Allocated to registers r2 r3
  2147. 2147 ;next_down Allocated to registers r4 r5
  2148. 2148 ;next_band_up Allocated to registers r6
  2149. 2149 ;next_band_down Allocated to registers r7
  2150. 2150 ;sloc0 Allocated with name '_set_center_freq_sloc0_1_0'
  2151. 2151 ;sloc1 Allocated with name '_set_center_freq_sloc1_1_0'
  2152. 2152 ;sloc2 Allocated with name '_set_center_freq_sloc2_1_0'
  2153. 2153 ;------------------------------------------------------------
  2154. 2154 ; specan.c:227: u16 set_center_freq(u16 freq) {
  2155. 2155 ; -----------------------------------------
  2156. 2156 ; function set_center_freq
  2157. 2157 ; -----------------------------------------
  2158. 0686 2158 _set_center_freq:
  2159. 0686 85 82 2F 2159 mov _set_center_freq_freq_1_1,dpl
  2160. 0689 85 83 30 2160 mov (_set_center_freq_freq_1_1 + 1),dph
  2161. 2161 ; specan.c:242: switch (width) {
  2162. 068C 74 01 2162 mov a,#0x01
  2163. 068E B5 27 02 2163 cjne a,_width,00150$
  2164. 0691 80 07 2164 sjmp 00101$
  2165. 0693 2165 00150$:
  2166. 0693 74 02 2166 mov a,#0x02
  2167. 2167 ; specan.c:243: case NARROW:
  2168. 0695 B5 27 4F 2168 cjne a,_width,00103$
  2169. 0698 80 13 2169 sjmp 00102$
  2170. 069A 2170 00101$:
  2171. 2171 ; specan.c:244: margin = NARROW_MARGIN;
  2172. 069A 75 3E 03 2172 mov _set_center_freq_margin_1_1,#0x03
  2173. 2173 ; specan.c:245: step = NARROW_STEP;
  2174. 069D 75 3F 01 2174 mov _set_center_freq_step_1_1,#0x01
  2175. 2175 ; specan.c:246: spacing = NARROW_SPACING;
  2176. 06A0 75 32 44 2176 mov _set_center_freq_spacing_1_1,#0x44
  2177. 06A3 75 33 C3 2177 mov (_set_center_freq_spacing_1_1 + 1),#0xC3
  2178. 06A6 E4 2178 clr a
  2179. 06A7 F5 34 2179 mov (_set_center_freq_spacing_1_1 + 2),a
  2180. 06A9 F5 35 2180 mov (_set_center_freq_spacing_1_1 + 3),a
  2181. 2181 ; specan.c:247: break;
  2182. 2182 ; specan.c:248: case ULTRAWIDE:
  2183. 06AB 80 6F 2183 sjmp 00104$
  2184. 06AD 2184 00102$:
  2185. 2185 ; specan.c:249: margin = ULTRAWIDE_MARGIN;
  2186. 06AD 75 3E 2A 2186 mov _set_center_freq_margin_1_1,#0x2A
  2187. 2187 ; specan.c:250: step = ULTRAWIDE_STEP;
  2188. 06B0 75 3F 14 2188 mov _set_center_freq_step_1_1,#0x14
  2189. 2189 ; specan.c:251: spacing = ULTRAWIDE_SPACING;
  2190. 06B3 75 32 88 2190 mov _set_center_freq_spacing_1_1,#0x88
  2191. 06B6 75 33 2B 2191 mov (_set_center_freq_spacing_1_1 + 1),#0x2B
  2192. 06B9 75 34 0A 2192 mov (_set_center_freq_spacing_1_1 + 2),#0x0A
  2193. 06BC 75 35 00 2193 mov (_set_center_freq_spacing_1_1 + 3),#0x00
  2194. 2194 ; specan.c:254: freq = ((freq + 10) / 20) * 20;
  2195. 06BF 74 0A 2195 mov a,#0x0A
  2196. 06C1 25 2F 2196 add a,_set_center_freq_freq_1_1
  2197. 06C3 F5 82 2197 mov dpl,a
  2198. 06C5 E4 2198 clr a
  2199. 06C6 35 30 2199 addc a,(_set_center_freq_freq_1_1 + 1)
  2200. 06C8 F5 83 2200 mov dph,a
  2201. 06CA 75 0E 14 2201 mov __divuint_PARM_2,#0x14
  2202. 06CD 75 0F 00 2202 mov (__divuint_PARM_2 + 1),#0x00
  2203. 06D0 12 12 1F 2203 lcall __divuint
  2204. 06D3 85 82 0E 2204 mov __mulint_PARM_2,dpl
  2205. 06D6 85 83 0F 2205 mov (__mulint_PARM_2 + 1),dph
  2206. 06D9 90 00 14 2206 mov dptr,#0x0014
  2207. 06DC 12 13 8E 2207 lcall __mulint
  2208. 06DF 85 82 2F 2208 mov _set_center_freq_freq_1_1,dpl
  2209. 06E2 85 83 30 2209 mov (_set_center_freq_freq_1_1 + 1),dph
  2210. 2210 ; specan.c:255: break;
  2211. 2211 ; specan.c:256: default:
  2212. 06E5 80 35 2212 sjmp 00104$
  2213. 06E7 2213 00103$:
  2214. 2214 ; specan.c:257: margin = WIDE_MARGIN;
  2215. 06E7 75 3E 0D 2215 mov _set_center_freq_margin_1_1,#0x0D
  2216. 2216 ; specan.c:258: step = WIDE_STEP;
  2217. 06EA 75 3F 05 2217 mov _set_center_freq_step_1_1,#0x05
  2218. 2218 ; specan.c:259: spacing = WIDE_SPACING;
  2219. 06ED 75 32 10 2219 mov _set_center_freq_spacing_1_1,#0x10
  2220. 06F0 75 33 0D 2220 mov (_set_center_freq_spacing_1_1 + 1),#0x0D
  2221. 06F3 75 34 03 2221 mov (_set_center_freq_spacing_1_1 + 2),#0x03
  2222. 06F6 75 35 00 2222 mov (_set_center_freq_spacing_1_1 + 3),#0x00
  2223. 2223 ; specan.c:262: freq = ((freq + 2) / 5) * 5;
  2224. 06F9 85 2F 82 2224 mov dpl,_set_center_freq_freq_1_1
  2225. 06FC 85 30 83 2225 mov dph,(_set_center_freq_freq_1_1 + 1)
  2226. 06FF A3 2226 inc dptr
  2227. 0700 A3 2227 inc dptr
  2228. 0701 75 0E 05 2228 mov __divuint_PARM_2,#0x05
  2229. 0704 75 0F 00 2229 mov (__divuint_PARM_2 + 1),#0x00
  2230. 0707 12 12 1F 2230 lcall __divuint
  2231. 070A 85 82 0E 2231 mov __mulint_PARM_2,dpl
  2232. 070D 85 83 0F 2232 mov (__mulint_PARM_2 + 1),dph
  2233. 0710 90 00 05 2233 mov dptr,#0x0005
  2234. 0713 12 13 8E 2234 lcall __mulint
  2235. 0716 85 82 2F 2235 mov _set_center_freq_freq_1_1,dpl
  2236. 0719 85 83 30 2236 mov (_set_center_freq_freq_1_1 + 1),dph
  2237. 2237 ; specan.c:264: }
  2238. 071C 2238 00104$:
  2239. 2239 ; specan.c:267: if (freq > EDGE_900) {
  2240. 071C C3 2240 clr c
  2241. 071D 74 67 2241 mov a,#0x67
  2242. 071F 95 2F 2242 subb a,_set_center_freq_freq_1_1
  2243. 0721 74 02 2243 mov a,#0x02
  2244. 0723 95 30 2244 subb a,(_set_center_freq_freq_1_1 + 1)
  2245. 0725 40 03 2245 jc 00152$
  2246. 0727 02 08 6C 2246 ljmp 00109$
  2247. 072A 2247 00152$:
  2248. 2248 ; specan.c:268: new_band = BAND_900;
  2249. 072A 75 31 02 2249 mov _set_center_freq_new_band_1_1,#0x02
  2250. 2250 ; specan.c:269: upper_limit = UPPER(MAX_900, margin, step);
  2251. 072D AC 3E 2251 mov r4,_set_center_freq_margin_1_1
  2252. 072F 7D 00 2252 mov r5,#0x00
  2253. 0731 74 C2 2253 mov a,#0xC2
  2254. 0733 C3 2254 clr c
  2255. 0734 9C 2255 subb a,r4
  2256. 0735 FE 2256 mov r6,a
  2257. 0736 74 03 2257 mov a,#0x03
  2258. 0738 9D 2258 subb a,r5
  2259. 0739 FF 2259 mov r7,a
  2260. 073A E5 3F 2260 mov a,_set_center_freq_step_1_1
  2261. 073C C3 2261 clr c
  2262. 073D 13 2262 rrc a
  2263. 073E F8 2263 mov r0,a
  2264. 073F 79 00 2264 mov r1,#0x00
  2265. 0741 2E 2265 add a,r6
  2266. 0742 F5 82 2266 mov dpl,a
  2267. 0744 E9 2267 mov a,r1
  2268. 0745 3F 2268 addc a,r7
  2269. 0746 F5 83 2269 mov dph,a
  2270. 0748 AE 3F 2270 mov r6,_set_center_freq_step_1_1
  2271. 074A 7F 00 2271 mov r7,#0x00
  2272. 074C 8E 0E 2272 mov __divsint_PARM_2,r6
  2273. 074E 8F 0F 2273 mov (__divsint_PARM_2 + 1),r7
  2274. 0750 C0 04 2274 push ar4
  2275. 0752 C0 05 2275 push ar5
  2276. 0754 C0 06 2276 push ar6
  2277. 0756 C0 07 2277 push ar7
  2278. 0758 C0 00 2278 push ar0
  2279. 075A C0 01 2279 push ar1
  2280. 075C 12 1A BB 2280 lcall __divsint
  2281. 075F AA 82 2281 mov r2,dpl
  2282. 0761 AB 83 2282 mov r3,dph
  2283. 0763 D0 01 2283 pop ar1
  2284. 0765 D0 00 2284 pop ar0
  2285. 0767 D0 07 2285 pop ar7
  2286. 0769 D0 06 2286 pop ar6
  2287. 076B 8E 0E 2287 mov __mulint_PARM_2,r6
  2288. 076D 8F 0F 2288 mov (__mulint_PARM_2 + 1),r7
  2289. 076F 8A 82 2289 mov dpl,r2
  2290. 0771 8B 83 2290 mov dph,r3
  2291. 0773 C0 06 2291 push ar6
  2292. 0775 C0 07 2292 push ar7
  2293. 0777 C0 00 2293 push ar0
  2294. 0779 C0 01 2294 push ar1
  2295. 077B 12 13 8E 2295 lcall __mulint
  2296. 077E 85 82 40 2296 mov _set_center_freq_upper_limit_1_1,dpl
  2297. 0781 85 83 41 2297 mov (_set_center_freq_upper_limit_1_1 + 1),dph
  2298. 0784 D0 01 2298 pop ar1
  2299. 0786 D0 00 2299 pop ar0
  2300. 0788 D0 07 2300 pop ar7
  2301. 078A D0 06 2301 pop ar6
  2302. 078C D0 05 2302 pop ar5
  2303. 078E D0 04 2303 pop ar4
  2304. 2304 ; specan.c:270: lower_limit = LOWER(MIN_900, margin, step);
  2305. 0790 74 ED 2305 mov a,#0xED
  2306. 0792 2C 2306 add a,r4
  2307. 0793 F5 82 2307 mov dpl,a
  2308. 0795 74 02 2308 mov a,#0x02
  2309. 0797 3D 2309 addc a,r5
  2310. 0798 F5 83 2310 mov dph,a
  2311. 079A 8E 0E 2311 mov __divsint_PARM_2,r6
  2312. 079C 8F 0F 2312 mov (__divsint_PARM_2 + 1),r7
  2313. 079E C0 04 2313 push ar4
  2314. 07A0 C0 05 2314 push ar5
  2315. 07A2 C0 06 2315 push ar6
  2316. 07A4 C0 07 2316 push ar7
  2317. 07A6 C0 00 2317 push ar0
  2318. 07A8 C0 01 2318 push ar1
  2319. 07AA 12 1A BB 2319 lcall __divsint
  2320. 07AD AA 82 2320 mov r2,dpl
  2321. 07AF AB 83 2321 mov r3,dph
  2322. 07B1 D0 01 2322 pop ar1
  2323. 07B3 D0 00 2323 pop ar0
  2324. 07B5 D0 07 2324 pop ar7
  2325. 07B7 D0 06 2325 pop ar6
  2326. 07B9 8E 0E 2326 mov __mulint_PARM_2,r6
  2327. 07BB 8F 0F 2327 mov (__mulint_PARM_2 + 1),r7
  2328. 07BD 8A 82 2328 mov dpl,r2
  2329. 07BF 8B 83 2329 mov dph,r3
  2330. 07C1 C0 06 2330 push ar6
  2331. 07C3 C0 07 2331 push ar7
  2332. 07C5 C0 00 2332 push ar0
  2333. 07C7 C0 01 2333 push ar1
  2334. 07C9 12 13 8E 2334 lcall __mulint
  2335. 07CC 85 82 42 2335 mov _set_center_freq_lower_limit_1_1,dpl
  2336. 07CF 85 83 43 2336 mov (_set_center_freq_lower_limit_1_1 + 1),dph
  2337. 07D2 D0 01 2337 pop ar1
  2338. 07D4 D0 00 2338 pop ar0
  2339. 07D6 D0 07 2339 pop ar7
  2340. 07D8 D0 06 2340 pop ar6
  2341. 07DA D0 05 2341 pop ar5
  2342. 07DC D0 04 2342 pop ar4
  2343. 2343 ; specan.c:271: next_up = LOWER(MIN_300, margin, step);
  2344. 07DE 74 19 2344 mov a,#0x19
  2345. 07E0 2C 2345 add a,r4
  2346. 07E1 F5 82 2346 mov dpl,a
  2347. 07E3 74 01 2347 mov a,#0x01
  2348. 07E5 3D 2348 addc a,r5
  2349. 07E6 F5 83 2349 mov dph,a
  2350. 07E8 8E 0E 2350 mov __divsint_PARM_2,r6
  2351. 07EA 8F 0F 2351 mov (__divsint_PARM_2 + 1),r7
  2352. 07EC C0 04 2352 push ar4
  2353. 07EE C0 05 2353 push ar5
  2354. 07F0 C0 06 2354 push ar6
  2355. 07F2 C0 07 2355 push ar7
  2356. 07F4 C0 00 2356 push ar0
  2357. 07F6 C0 01 2357 push ar1
  2358. 07F8 12 1A BB 2358 lcall __divsint
  2359. 07FB AA 82 2359 mov r2,dpl
  2360. 07FD AB 83 2360 mov r3,dph
  2361. 07FF D0 01 2361 pop ar1
  2362. 0801 D0 00 2362 pop ar0
  2363. 0803 D0 07 2363 pop ar7
  2364. 0805 D0 06 2364 pop ar6
  2365. 0807 8E 0E 2365 mov __mulint_PARM_2,r6
  2366. 0809 8F 0F 2366 mov (__mulint_PARM_2 + 1),r7
  2367. 080B 8A 82 2367 mov dpl,r2
  2368. 080D 8B 83 2368 mov dph,r3
  2369. 080F C0 06 2369 push ar6
  2370. 0811 C0 07 2370 push ar7
  2371. 0813 C0 00 2371 push ar0
  2372. 0815 C0 01 2372 push ar1
  2373. 0817 12 13 8E 2373 lcall __mulint
  2374. 081A AA 82 2374 mov r2,dpl
  2375. 081C AB 83 2375 mov r3,dph
  2376. 081E D0 01 2376 pop ar1
  2377. 0820 D0 00 2377 pop ar0
  2378. 0822 D0 07 2378 pop ar7
  2379. 0824 D0 06 2379 pop ar6
  2380. 0826 D0 05 2380 pop ar5
  2381. 0828 D0 04 2381 pop ar4
  2382. 2382 ; specan.c:272: next_down = UPPER(MAX_400, margin, step);
  2383. 082A 74 E1 2383 mov a,#0xE1
  2384. 082C C3 2384 clr c
  2385. 082D 9C 2385 subb a,r4
  2386. 082E FC 2386 mov r4,a
  2387. 082F 74 01 2387 mov a,#0x01
  2388. 0831 9D 2388 subb a,r5
  2389. 0832 FD 2389 mov r5,a
  2390. 0833 E8 2390 mov a,r0
  2391. 0834 2C 2391 add a,r4
  2392. 0835 F5 82 2392 mov dpl,a
  2393. 0837 E9 2393 mov a,r1
  2394. 0838 3D 2394 addc a,r5
  2395. 0839 F5 83 2395 mov dph,a
  2396. 083B 8E 0E 2396 mov __divsint_PARM_2,r6
  2397. 083D 8F 0F 2397 mov (__divsint_PARM_2 + 1),r7
  2398. 083F C0 02 2398 push ar2
  2399. 0841 C0 03 2399 push ar3
  2400. 0843 C0 06 2400 push ar6
  2401. 0845 C0 07 2401 push ar7
  2402. 0847 12 1A BB 2402 lcall __divsint
  2403. 084A AC 82 2403 mov r4,dpl
  2404. 084C AD 83 2404 mov r5,dph
  2405. 084E D0 07 2405 pop ar7
  2406. 0850 D0 06 2406 pop ar6
  2407. 0852 8E 0E 2407 mov __mulint_PARM_2,r6
  2408. 0854 8F 0F 2408 mov (__mulint_PARM_2 + 1),r7
  2409. 0856 8C 82 2409 mov dpl,r4
  2410. 0858 8D 83 2410 mov dph,r5
  2411. 085A 12 13 8E 2411 lcall __mulint
  2412. 085D AC 82 2412 mov r4,dpl
  2413. 085F AD 83 2413 mov r5,dph
  2414. 0861 D0 03 2414 pop ar3
  2415. 0863 D0 02 2415 pop ar2
  2416. 2416 ; specan.c:273: next_band_up = BAND_300;
  2417. 0865 7E 00 2417 mov r6,#0x00
  2418. 2418 ; specan.c:274: next_band_down = BAND_400;
  2419. 0867 7F 01 2419 mov r7,#0x01
  2420. 0869 02 0A 0B 2420 ljmp 00110$
  2421. 086C 2421 00109$:
  2422. 2422 ; specan.c:275: } else if (freq > EDGE_400) {
  2423. 086C C3 2423 clr c
  2424. 086D 74 71 2424 mov a,#0x71
  2425. 086F 95 2F 2425 subb a,_set_center_freq_freq_1_1
  2426. 0871 74 01 2426 mov a,#0x01
  2427. 0873 95 30 2427 subb a,(_set_center_freq_freq_1_1 + 1)
  2428. 0875 40 03 2428 jc 00153$
  2429. 0877 02 09 44 2429 ljmp 00106$
  2430. 087A 2430 00153$:
  2431. 2431 ; specan.c:276: new_band = BAND_400;
  2432. 087A 75 31 01 2432 mov _set_center_freq_new_band_1_1,#0x01
  2433. 2433 ; specan.c:277: upper_limit = UPPER(MAX_400, margin, step);
  2434. 087D 85 3E 44 2434 mov _set_center_freq_sloc0_1_0,_set_center_freq_margin_1_1
  2435. 0880 75 45 00 2435 mov (_set_center_freq_sloc0_1_0 + 1),#0x00
  2436. 0883 74 E1 2436 mov a,#0xE1
  2437. 0885 C3 2437 clr c
  2438. 0886 95 44 2438 subb a,_set_center_freq_sloc0_1_0
  2439. 0888 F5 46 2439 mov _set_center_freq_sloc1_1_0,a
  2440. 088A 74 01 2440 mov a,#0x01
  2441. 088C 95 45 2441 subb a,(_set_center_freq_sloc0_1_0 + 1)
  2442. 088E F5 47 2442 mov (_set_center_freq_sloc1_1_0 + 1),a
  2443. 0890 E5 3F 2443 mov a,_set_center_freq_step_1_1
  2444. 0892 C3 2444 clr c
  2445. 0893 13 2445 rrc a
  2446. 0894 F8 2446 mov r0,a
  2447. 0895 88 48 2447 mov _set_center_freq_sloc2_1_0,r0
  2448. 0897 75 49 00 2448 mov (_set_center_freq_sloc2_1_0 + 1),#0x00
  2449. 089A E5 48 2449 mov a,_set_center_freq_sloc2_1_0
  2450. 089C 25 46 2450 add a,_set_center_freq_sloc1_1_0
  2451. 089E F5 82 2451 mov dpl,a
  2452. 08A0 E5 49 2452 mov a,(_set_center_freq_sloc2_1_0 + 1)
  2453. 08A2 35 47 2453 addc a,(_set_center_freq_sloc1_1_0 + 1)
  2454. 08A4 F5 83 2454 mov dph,a
  2455. 08A6 85 3F 46 2455 mov _set_center_freq_sloc1_1_0,_set_center_freq_step_1_1
  2456. 08A9 75 47 00 2456 mov (_set_center_freq_sloc1_1_0 + 1),#0x00
  2457. 08AC 85 46 0E 2457 mov __divsint_PARM_2,_set_center_freq_sloc1_1_0
  2458. 08AF 85 47 0F 2458 mov (__divsint_PARM_2 + 1),(_set_center_freq_sloc1_1_0 + 1)
  2459. 08B2 12 1A BB 2459 lcall __divsint
  2460. 08B5 85 46 0E 2460 mov __mulint_PARM_2,_set_center_freq_sloc1_1_0
  2461. 08B8 85 47 0F 2461 mov (__mulint_PARM_2 + 1),(_set_center_freq_sloc1_1_0 + 1)
  2462. 08BB 12 13 8E 2462 lcall __mulint
  2463. 08BE 85 82 40 2463 mov _set_center_freq_upper_limit_1_1,dpl
  2464. 08C1 85 83 41 2464 mov (_set_center_freq_upper_limit_1_1 + 1),dph
  2465. 2465 ; specan.c:278: lower_limit = LOWER(MIN_400, margin, step);
  2466. 08C4 74 7A 2466 mov a,#0x7A
  2467. 08C6 25 44 2467 add a,_set_center_freq_sloc0_1_0
  2468. 08C8 F5 82 2468 mov dpl,a
  2469. 08CA 74 01 2469 mov a,#0x01
  2470. 08CC 35 45 2470 addc a,(_set_center_freq_sloc0_1_0 + 1)
  2471. 08CE F5 83 2471 mov dph,a
  2472. 08D0 85 46 0E 2472 mov __divsint_PARM_2,_set_center_freq_sloc1_1_0
  2473. 08D3 85 47 0F 2473 mov (__divsint_PARM_2 + 1),(_set_center_freq_sloc1_1_0 + 1)
  2474. 08D6 12 1A BB 2474 lcall __divsint
  2475. 08D9 85 46 0E 2475 mov __mulint_PARM_2,_set_center_freq_sloc1_1_0
  2476. 08DC 85 47 0F 2476 mov (__mulint_PARM_2 + 1),(_set_center_freq_sloc1_1_0 + 1)
  2477. 08DF 12 13 8E 2477 lcall __mulint
  2478. 08E2 85 82 42 2478 mov _set_center_freq_lower_limit_1_1,dpl
  2479. 08E5 85 83 43 2479 mov (_set_center_freq_lower_limit_1_1 + 1),dph
  2480. 2480 ; specan.c:279: next_up = LOWER(MIN_900, margin, step);
  2481. 08E8 74 ED 2481 mov a,#0xED
  2482. 08EA 25 44 2482 add a,_set_center_freq_sloc0_1_0
  2483. 08EC F5 82 2483 mov dpl,a
  2484. 08EE 74 02 2484 mov a,#0x02
  2485. 08F0 35 45 2485 addc a,(_set_center_freq_sloc0_1_0 + 1)
  2486. 08F2 F5 83 2486 mov dph,a
  2487. 08F4 85 46 0E 2487 mov __divsint_PARM_2,_set_center_freq_sloc1_1_0
  2488. 08F7 85 47 0F 2488 mov (__divsint_PARM_2 + 1),(_set_center_freq_sloc1_1_0 + 1)
  2489. 08FA 12 1A BB 2489 lcall __divsint
  2490. 08FD 85 46 0E 2490 mov __mulint_PARM_2,_set_center_freq_sloc1_1_0
  2491. 0900 85 47 0F 2491 mov (__mulint_PARM_2 + 1),(_set_center_freq_sloc1_1_0 + 1)
  2492. 0903 12 13 8E 2492 lcall __mulint
  2493. 0906 AA 82 2493 mov r2,dpl
  2494. 0908 AB 83 2494 mov r3,dph
  2495. 2495 ; specan.c:280: next_down = UPPER(MAX_300, margin, step);
  2496. 090A 74 69 2496 mov a,#0x69
  2497. 090C C3 2497 clr c
  2498. 090D 95 44 2498 subb a,_set_center_freq_sloc0_1_0
  2499. 090F F8 2499 mov r0,a
  2500. 0910 74 01 2500 mov a,#0x01
  2501. 0912 95 45 2501 subb a,(_set_center_freq_sloc0_1_0 + 1)
  2502. 0914 F9 2502 mov r1,a
  2503. 0915 E5 48 2503 mov a,_set_center_freq_sloc2_1_0
  2504. 0917 28 2504 add a,r0
  2505. 0918 F5 82 2505 mov dpl,a
  2506. 091A E5 49 2506 mov a,(_set_center_freq_sloc2_1_0 + 1)
  2507. 091C 39 2507 addc a,r1
  2508. 091D F5 83 2508 mov dph,a
  2509. 091F 85 46 0E 2509 mov __divsint_PARM_2,_set_center_freq_sloc1_1_0
  2510. 0922 85 47 0F 2510 mov (__divsint_PARM_2 + 1),(_set_center_freq_sloc1_1_0 + 1)
  2511. 0925 C0 02 2511 push ar2
  2512. 0927 C0 03 2512 push ar3
  2513. 0929 12 1A BB 2513 lcall __divsint
  2514. 092C 85 46 0E 2514 mov __mulint_PARM_2,_set_center_freq_sloc1_1_0
  2515. 092F 85 47 0F 2515 mov (__mulint_PARM_2 + 1),(_set_center_freq_sloc1_1_0 + 1)
  2516. 0932 12 13 8E 2516 lcall __mulint
  2517. 0935 AC 82 2517 mov r4,dpl
  2518. 0937 AD 83 2518 mov r5,dph
  2519. 0939 D0 03 2519 pop ar3
  2520. 093B D0 02 2520 pop ar2
  2521. 2521 ; specan.c:281: next_band_up = BAND_900;
  2522. 093D 7E 02 2522 mov r6,#0x02
  2523. 2523 ; specan.c:282: next_band_down = BAND_300;
  2524. 093F 7F 00 2524 mov r7,#0x00
  2525. 0941 02 0A 0B 2525 ljmp 00110$
  2526. 0944 2526 00106$:
  2527. 2527 ; specan.c:284: new_band = BAND_300;
  2528. 0944 75 31 00 2528 mov _set_center_freq_new_band_1_1,#0x00
  2529. 2529 ; specan.c:285: upper_limit = UPPER(MAX_300, margin, step);
  2530. 0947 85 3E 48 2530 mov _set_center_freq_sloc2_1_0,_set_center_freq_margin_1_1
  2531. 094A 75 49 00 2531 mov (_set_center_freq_sloc2_1_0 + 1),#0x00
  2532. 094D 74 69 2532 mov a,#0x69
  2533. 094F C3 2533 clr c
  2534. 0950 95 48 2534 subb a,_set_center_freq_sloc2_1_0
  2535. 0952 F5 46 2535 mov _set_center_freq_sloc1_1_0,a
  2536. 0954 74 01 2536 mov a,#0x01
  2537. 0956 95 49 2537 subb a,(_set_center_freq_sloc2_1_0 + 1)
  2538. 0958 F5 47 2538 mov (_set_center_freq_sloc1_1_0 + 1),a
  2539. 095A E5 3F 2539 mov a,_set_center_freq_step_1_1
  2540. 095C C3 2540 clr c
  2541. 095D 13 2541 rrc a
  2542. 095E F8 2542 mov r0,a
  2543. 095F 88 44 2543 mov _set_center_freq_sloc0_1_0,r0
  2544. 0961 75 45 00 2544 mov (_set_center_freq_sloc0_1_0 + 1),#0x00
  2545. 0964 E5 44 2545 mov a,_set_center_freq_sloc0_1_0
  2546. 0966 25 46 2546 add a,_set_center_freq_sloc1_1_0
  2547. 0968 F5 82 2547 mov dpl,a
  2548. 096A E5 45 2548 mov a,(_set_center_freq_sloc0_1_0 + 1)
  2549. 096C 35 47 2549 addc a,(_set_center_freq_sloc1_1_0 + 1)
  2550. 096E F5 83 2550 mov dph,a
  2551. 0970 85 3F 46 2551 mov _set_center_freq_sloc1_1_0,_set_center_freq_step_1_1
  2552. 0973 75 47 00 2552 mov (_set_center_freq_sloc1_1_0 + 1),#0x00
  2553. 0976 85 46 0E 2553 mov __divsint_PARM_2,_set_center_freq_sloc1_1_0
  2554. 0979 85 47 0F 2554 mov (__divsint_PARM_2 + 1),(_set_center_freq_sloc1_1_0 + 1)
  2555. 097C 12 1A BB 2555 lcall __divsint
  2556. 097F 85 46 0E 2556 mov __mulint_PARM_2,_set_center_freq_sloc1_1_0
  2557. 0982 85 47 0F 2557 mov (__mulint_PARM_2 + 1),(_set_center_freq_sloc1_1_0 + 1)
  2558. 0985 12 13 8E 2558 lcall __mulint
  2559. 0988 85 82 40 2559 mov _set_center_freq_upper_limit_1_1,dpl
  2560. 098B 85 83 41 2560 mov (_set_center_freq_upper_limit_1_1 + 1),dph
  2561. 2561 ; specan.c:286: lower_limit = LOWER(MIN_300, margin, step);
  2562. 098E 74 19 2562 mov a,#0x19
  2563. 0990 25 48 2563 add a,_set_center_freq_sloc2_1_0
  2564. 0992 F5 82 2564 mov dpl,a
  2565. 0994 74 01 2565 mov a,#0x01
  2566. 0996 35 49 2566 addc a,(_set_center_freq_sloc2_1_0 + 1)
  2567. 0998 F5 83 2567 mov dph,a
  2568. 099A 85 46 0E 2568 mov __divsint_PARM_2,_set_center_freq_sloc1_1_0
  2569. 099D 85 47 0F 2569 mov (__divsint_PARM_2 + 1),(_set_center_freq_sloc1_1_0 + 1)
  2570. 09A0 12 1A BB 2570 lcall __divsint
  2571. 09A3 85 46 0E 2571 mov __mulint_PARM_2,_set_center_freq_sloc1_1_0
  2572. 09A6 85 47 0F 2572 mov (__mulint_PARM_2 + 1),(_set_center_freq_sloc1_1_0 + 1)
  2573. 09A9 12 13 8E 2573 lcall __mulint
  2574. 09AC 85 82 42 2574 mov _set_center_freq_lower_limit_1_1,dpl
  2575. 09AF 85 83 43 2575 mov (_set_center_freq_lower_limit_1_1 + 1),dph
  2576. 2576 ; specan.c:287: next_up = LOWER(MIN_400, margin, step);
  2577. 09B2 74 7A 2577 mov a,#0x7A
  2578. 09B4 25 48 2578 add a,_set_center_freq_sloc2_1_0
  2579. 09B6 F5 82 2579 mov dpl,a
  2580. 09B8 74 01 2580 mov a,#0x01
  2581. 09BA 35 49 2581 addc a,(_set_center_freq_sloc2_1_0 + 1)
  2582. 09BC F5 83 2582 mov dph,a
  2583. 09BE 85 46 0E 2583 mov __divsint_PARM_2,_set_center_freq_sloc1_1_0
  2584. 09C1 85 47 0F 2584 mov (__divsint_PARM_2 + 1),(_set_center_freq_sloc1_1_0 + 1)
  2585. 09C4 12 1A BB 2585 lcall __divsint
  2586. 09C7 85 46 0E 2586 mov __mulint_PARM_2,_set_center_freq_sloc1_1_0
  2587. 09CA 85 47 0F 2587 mov (__mulint_PARM_2 + 1),(_set_center_freq_sloc1_1_0 + 1)
  2588. 09CD 12 13 8E 2588 lcall __mulint
  2589. 09D0 AA 82 2589 mov r2,dpl
  2590. 09D2 AB 83 2590 mov r3,dph
  2591. 2591 ; specan.c:288: next_down = UPPER(MAX_900, margin, step);
  2592. 09D4 74 C2 2592 mov a,#0xC2
  2593. 09D6 C3 2593 clr c
  2594. 09D7 95 48 2594 subb a,_set_center_freq_sloc2_1_0
  2595. 09D9 F8 2595 mov r0,a
  2596. 09DA 74 03 2596 mov a,#0x03
  2597. 09DC 95 49 2597 subb a,(_set_center_freq_sloc2_1_0 + 1)
  2598. 09DE F9 2598 mov r1,a
  2599. 09DF E5 44 2599 mov a,_set_center_freq_sloc0_1_0
  2600. 09E1 28 2600 add a,r0
  2601. 09E2 F5 82 2601 mov dpl,a
  2602. 09E4 E5 45 2602 mov a,(_set_center_freq_sloc0_1_0 + 1)
  2603. 09E6 39 2603 addc a,r1
  2604. 09E7 F5 83 2604 mov dph,a
  2605. 09E9 85 46 0E 2605 mov __divsint_PARM_2,_set_center_freq_sloc1_1_0
  2606. 09EC 85 47 0F 2606 mov (__divsint_PARM_2 + 1),(_set_center_freq_sloc1_1_0 + 1)
  2607. 09EF C0 02 2607 push ar2
  2608. 09F1 C0 03 2608 push ar3
  2609. 09F3 12 1A BB 2609 lcall __divsint
  2610. 09F6 85 46 0E 2610 mov __mulint_PARM_2,_set_center_freq_sloc1_1_0
  2611. 09F9 85 47 0F 2611 mov (__mulint_PARM_2 + 1),(_set_center_freq_sloc1_1_0 + 1)
  2612. 09FC 12 13 8E 2612 lcall __mulint
  2613. 09FF AC 82 2613 mov r4,dpl
  2614. 0A01 AD 83 2614 mov r5,dph
  2615. 0A03 D0 03 2615 pop ar3
  2616. 0A05 D0 02 2616 pop ar2
  2617. 2617 ; specan.c:289: next_band_up = BAND_400;
  2618. 0A07 7E 01 2618 mov r6,#0x01
  2619. 2619 ; specan.c:290: next_band_down = BAND_900;
  2620. 0A09 7F 02 2620 mov r7,#0x02
  2621. 0A0B 2621 00110$:
  2622. 2622 ; specan.c:293: if (freq > upper_limit) {
  2623. 0A0B C3 2623 clr c
  2624. 0A0C E5 40 2624 mov a,_set_center_freq_upper_limit_1_1
  2625. 0A0E 95 2F 2625 subb a,_set_center_freq_freq_1_1
  2626. 0A10 E5 41 2626 mov a,(_set_center_freq_upper_limit_1_1 + 1)
  2627. 0A12 95 30 2627 subb a,(_set_center_freq_freq_1_1 + 1)
  2628. 0A14 50 13 2628 jnc 00118$
  2629. 2629 ; specan.c:294: freq = upper_limit;
  2630. 0A16 85 40 2F 2630 mov _set_center_freq_freq_1_1,_set_center_freq_upper_limit_1_1
  2631. 0A19 85 41 30 2631 mov (_set_center_freq_freq_1_1 + 1),(_set_center_freq_upper_limit_1_1 + 1)
  2632. 2632 ; specan.c:295: if (new_band == band) {
  2633. 0A1C E5 26 2633 mov a,_band
  2634. 0A1E B5 31 24 2634 cjne a,_set_center_freq_new_band_1_1,00119$
  2635. 2635 ; specan.c:296: new_band = next_band_up;
  2636. 0A21 8E 31 2636 mov _set_center_freq_new_band_1_1,r6
  2637. 2637 ; specan.c:297: freq = next_up;
  2638. 0A23 8A 2F 2638 mov _set_center_freq_freq_1_1,r2
  2639. 0A25 8B 30 2639 mov (_set_center_freq_freq_1_1 + 1),r3
  2640. 0A27 80 1C 2640 sjmp 00119$
  2641. 0A29 2641 00118$:
  2642. 2642 ; specan.c:299: } else if (freq < lower_limit) {
  2643. 0A29 C3 2643 clr c
  2644. 0A2A E5 2F 2644 mov a,_set_center_freq_freq_1_1
  2645. 0A2C 95 42 2645 subb a,_set_center_freq_lower_limit_1_1
  2646. 0A2E E5 30 2646 mov a,(_set_center_freq_freq_1_1 + 1)
  2647. 0A30 95 43 2647 subb a,(_set_center_freq_lower_limit_1_1 + 1)
  2648. 0A32 50 11 2648 jnc 00119$
  2649. 2649 ; specan.c:300: freq = lower_limit;
  2650. 0A34 85 42 2F 2650 mov _set_center_freq_freq_1_1,_set_center_freq_lower_limit_1_1
  2651. 0A37 85 43 30 2651 mov (_set_center_freq_freq_1_1 + 1),(_set_center_freq_lower_limit_1_1 + 1)
  2652. 2652 ; specan.c:301: if (new_band == band) {
  2653. 0A3A E5 26 2653 mov a,_band
  2654. 0A3C B5 31 06 2654 cjne a,_set_center_freq_new_band_1_1,00119$
  2655. 2655 ; specan.c:302: new_band = next_band_down;
  2656. 0A3F 8F 31 2656 mov _set_center_freq_new_band_1_1,r7
  2657. 2657 ; specan.c:303: freq = next_down;
  2658. 0A41 8C 2F 2658 mov _set_center_freq_freq_1_1,r4
  2659. 0A43 8D 30 2659 mov (_set_center_freq_freq_1_1 + 1),r5
  2660. 0A45 2660 00119$:
  2661. 2661 ; specan.c:307: band = new_band;
  2662. 0A45 85 31 26 2662 mov _band,_set_center_freq_new_band_1_1
  2663. 2663 ; specan.c:310: switch (band) {
  2664. 0A48 E4 2664 clr a
  2665. 0A49 B5 26 02 2665 cjne a,_band,00160$
  2666. 0A4C 80 1F 2666 sjmp 00121$
  2667. 0A4E 2667 00160$:
  2668. 0A4E 74 01 2668 mov a,#0x01
  2669. 0A50 B5 26 34 2669 cjne a,_band,00122$
  2670. 2670 ; specan.c:312: min_hz = MIN_400 * 1000000;
  2671. 0A53 75 36 80 2671 mov _set_center_freq_min_hz_1_1,#0x80
  2672. 0A56 75 37 D2 2672 mov (_set_center_freq_min_hz_1_1 + 1),#0xD2
  2673. 0A59 75 38 87 2673 mov (_set_center_freq_min_hz_1_1 + 2),#0x87
  2674. 0A5C 75 39 16 2674 mov (_set_center_freq_min_hz_1_1 + 3),#0x16
  2675. 2675 ; specan.c:313: max_hz = MAX_400 * 1000000;
  2676. 0A5F 75 3A 40 2676 mov _set_center_freq_max_hz_1_1,#0x40
  2677. 0A62 75 3B 7A 2677 mov (_set_center_freq_max_hz_1_1 + 1),#0x7A
  2678. 0A65 75 3C AB 2678 mov (_set_center_freq_max_hz_1_1 + 2),#0xAB
  2679. 0A68 75 3D 1C 2679 mov (_set_center_freq_max_hz_1_1 + 3),#0x1C
  2680. 2680 ; specan.c:314: break;
  2681. 2681 ; specan.c:315: case BAND_300:
  2682. 0A6B 80 32 2682 sjmp 00123$
  2683. 0A6D 2683 00121$:
  2684. 2684 ; specan.c:316: min_hz = MIN_300 * 1000000;
  2685. 0A6D 75 36 40 2685 mov _set_center_freq_min_hz_1_1,#0x40
  2686. 0A70 75 37 B8 2686 mov (_set_center_freq_min_hz_1_1 + 1),#0xB8
  2687. 0A73 75 38 BF 2687 mov (_set_center_freq_min_hz_1_1 + 2),#0xBF
  2688. 0A76 75 39 10 2688 mov (_set_center_freq_min_hz_1_1 + 3),#0x10
  2689. 2689 ; specan.c:317: max_hz = MAX_300 * 1000000;
  2690. 0A79 75 3A 40 2690 mov _set_center_freq_max_hz_1_1,#0x40
  2691. 0A7C 75 3B 6C 2691 mov (_set_center_freq_max_hz_1_1 + 1),#0x6C
  2692. 0A7F 75 3C 84 2692 mov (_set_center_freq_max_hz_1_1 + 2),#0x84
  2693. 0A82 75 3D 15 2693 mov (_set_center_freq_max_hz_1_1 + 3),#0x15
  2694. 2694 ; specan.c:318: break;
  2695. 2695 ; specan.c:319: default:
  2696. 0A85 80 18 2696 sjmp 00123$
  2697. 0A87 2697 00122$:
  2698. 2698 ; specan.c:320: min_hz = MIN_900 * 1000000;
  2699. 0A87 75 36 40 2699 mov _set_center_freq_min_hz_1_1,#0x40
  2700. 0A8A 75 37 D5 2700 mov (_set_center_freq_min_hz_1_1 + 1),#0xD5
  2701. 0A8D 75 38 A4 2701 mov (_set_center_freq_min_hz_1_1 + 2),#0xA4
  2702. 0A90 75 39 2C 2702 mov (_set_center_freq_min_hz_1_1 + 3),#0x2C
  2703. 2703 ; specan.c:321: max_hz = MAX_900 * 1000000;
  2704. 0A93 75 3A 80 2704 mov _set_center_freq_max_hz_1_1,#0x80
  2705. 0A96 75 3B F4 2705 mov (_set_center_freq_max_hz_1_1 + 1),#0xF4
  2706. 0A99 75 3C 56 2706 mov (_set_center_freq_max_hz_1_1 + 2),#0x56
  2707. 0A9C 75 3D 39 2707 mov (_set_center_freq_max_hz_1_1 + 3),#0x39
  2708. 2708 ; specan.c:323: }
  2709. 0A9F 2709 00123$:
  2710. 2710 ; specan.c:326: hz = freq * 1000000;
  2711. 0A9F 85 2F 0E 2711 mov __mullong_PARM_2,_set_center_freq_freq_1_1
  2712. 0AA2 85 30 0F 2712 mov (__mullong_PARM_2 + 1),(_set_center_freq_freq_1_1 + 1)
  2713. 0AA5 75 10 00 2713 mov (__mullong_PARM_2 + 2),#0x00
  2714. 0AA8 75 11 00 2714 mov (__mullong_PARM_2 + 3),#0x00
  2715. 0AAB 90 42 40 2715 mov dptr,#0x4240
  2716. 0AAE 75 F0 0F 2716 mov b,#0x0F
  2717. 0AB1 E4 2717 clr a
  2718. 0AB2 12 13 AB 2718 lcall __mullong
  2719. 0AB5 AE 82 2719 mov r6,dpl
  2720. 0AB7 AF 83 2720 mov r7,dph
  2721. 0AB9 A8 F0 2721 mov r0,b
  2722. 0ABB F9 2722 mov r1,a
  2723. 0ABC 8E 02 2723 mov ar2,r6
  2724. 0ABE 8F 03 2724 mov ar3,r7
  2725. 0AC0 88 04 2725 mov ar4,r0
  2726. 0AC2 89 05 2726 mov ar5,r1
  2727. 2727 ; specan.c:327: max_chan = NUM_CHANNELS / 2;
  2728. 0AC4 75 2A 42 2728 mov _max_chan,#0x42
  2729. 2729 ; specan.c:328: while (hz <= max_hz && max_chan < NUM_CHANNELS) {
  2730. 0AC7 2730 00125$:
  2731. 0AC7 C3 2731 clr c
  2732. 0AC8 E5 3A 2732 mov a,_set_center_freq_max_hz_1_1
  2733. 0ACA 9A 2733 subb a,r2
  2734. 0ACB E5 3B 2734 mov a,(_set_center_freq_max_hz_1_1 + 1)
  2735. 0ACD 9B 2735 subb a,r3
  2736. 0ACE E5 3C 2736 mov a,(_set_center_freq_max_hz_1_1 + 2)
  2737. 0AD0 9C 2737 subb a,r4
  2738. 0AD1 E5 3D 2738 mov a,(_set_center_freq_max_hz_1_1 + 3)
  2739. 0AD3 9D 2739 subb a,r5
  2740. 0AD4 40 47 2740 jc 00127$
  2741. 0AD6 74 7C 2741 mov a,#0x100 - 0x84
  2742. 0AD8 25 2A 2742 add a,_max_chan
  2743. 0ADA 40 41 2743 jc 00127$
  2744. 2744 ; specan.c:329: calibrate_freq(hz, max_chan);
  2745. 0ADC 85 2A 2E 2745 mov _calibrate_freq_PARM_2,_max_chan
  2746. 0ADF 8A 82 2746 mov dpl,r2
  2747. 0AE1 8B 83 2747 mov dph,r3
  2748. 0AE3 8C F0 2748 mov b,r4
  2749. 0AE5 ED 2749 mov a,r5
  2750. 0AE6 C0 02 2750 push ar2
  2751. 0AE8 C0 03 2751 push ar3
  2752. 0AEA C0 04 2752 push ar4
  2753. 0AEC C0 05 2753 push ar5
  2754. 0AEE C0 06 2754 push ar6
  2755. 0AF0 C0 07 2755 push ar7
  2756. 0AF2 C0 00 2756 push ar0
  2757. 0AF4 C0 01 2757 push ar1
  2758. 0AF6 12 05 E1 2758 lcall _calibrate_freq
  2759. 0AF9 D0 01 2759 pop ar1
  2760. 0AFB D0 00 2760 pop ar0
  2761. 0AFD D0 07 2761 pop ar7
  2762. 0AFF D0 06 2762 pop ar6
  2763. 0B01 D0 05 2763 pop ar5
  2764. 0B03 D0 04 2764 pop ar4
  2765. 0B05 D0 03 2765 pop ar3
  2766. 0B07 D0 02 2766 pop ar2
  2767. 2767 ; specan.c:330: hz += spacing;
  2768. 0B09 E5 32 2768 mov a,_set_center_freq_spacing_1_1
  2769. 0B0B 2A 2769 add a,r2
  2770. 0B0C FA 2770 mov r2,a
  2771. 0B0D E5 33 2771 mov a,(_set_center_freq_spacing_1_1 + 1)
  2772. 0B0F 3B 2772 addc a,r3
  2773. 0B10 FB 2773 mov r3,a
  2774. 0B11 E5 34 2774 mov a,(_set_center_freq_spacing_1_1 + 2)
  2775. 0B13 3C 2775 addc a,r4
  2776. 0B14 FC 2776 mov r4,a
  2777. 0B15 E5 35 2777 mov a,(_set_center_freq_spacing_1_1 + 3)
  2778. 0B17 3D 2778 addc a,r5
  2779. 0B18 FD 2779 mov r5,a
  2780. 2780 ; specan.c:331: max_chan++;
  2781. 0B19 05 2A 2781 inc _max_chan
  2782. 0B1B 80 AA 2782 sjmp 00125$
  2783. 0B1D 2783 00127$:
  2784. 2784 ; specan.c:335: hz = freq * 1000000 - spacing;
  2785. 0B1D EE 2785 mov a,r6
  2786. 0B1E C3 2786 clr c
  2787. 0B1F 95 32 2787 subb a,_set_center_freq_spacing_1_1
  2788. 0B21 FA 2788 mov r2,a
  2789. 0B22 EF 2789 mov a,r7
  2790. 0B23 95 33 2790 subb a,(_set_center_freq_spacing_1_1 + 1)
  2791. 0B25 FB 2791 mov r3,a
  2792. 0B26 E8 2792 mov a,r0
  2793. 0B27 95 34 2793 subb a,(_set_center_freq_spacing_1_1 + 2)
  2794. 0B29 FC 2794 mov r4,a
  2795. 0B2A E9 2795 mov a,r1
  2796. 0B2B 95 35 2796 subb a,(_set_center_freq_spacing_1_1 + 3)
  2797. 0B2D FD 2797 mov r5,a
  2798. 2798 ; specan.c:336: min_chan = NUM_CHANNELS / 2;
  2799. 0B2E 75 29 42 2799 mov _min_chan,#0x42
  2800. 2800 ; specan.c:337: while (hz >= min_hz && min_chan > 0) {
  2801. 0B31 2801 00129$:
  2802. 0B31 C3 2802 clr c
  2803. 0B32 EA 2803 mov a,r2
  2804. 0B33 95 36 2804 subb a,_set_center_freq_min_hz_1_1
  2805. 0B35 EB 2805 mov a,r3
  2806. 0B36 95 37 2806 subb a,(_set_center_freq_min_hz_1_1 + 1)
  2807. 0B38 EC 2807 mov a,r4
  2808. 0B39 95 38 2808 subb a,(_set_center_freq_min_hz_1_1 + 2)
  2809. 0B3B ED 2809 mov a,r5
  2810. 0B3C 95 39 2810 subb a,(_set_center_freq_min_hz_1_1 + 3)
  2811. 0B3E 40 36 2811 jc 00131$
  2812. 0B40 E5 29 2812 mov a,_min_chan
  2813. 0B42 60 32 2813 jz 00131$
  2814. 2814 ; specan.c:338: min_chan--;
  2815. 0B44 15 29 2815 dec _min_chan
  2816. 2816 ; specan.c:339: calibrate_freq(hz, min_chan);
  2817. 0B46 85 29 2E 2817 mov _calibrate_freq_PARM_2,_min_chan
  2818. 0B49 8A 82 2818 mov dpl,r2
  2819. 0B4B 8B 83 2819 mov dph,r3
  2820. 0B4D 8C F0 2820 mov b,r4
  2821. 0B4F ED 2821 mov a,r5
  2822. 0B50 C0 02 2822 push ar2
  2823. 0B52 C0 03 2823 push ar3
  2824. 0B54 C0 04 2824 push ar4
  2825. 0B56 C0 05 2825 push ar5
  2826. 0B58 12 05 E1 2826 lcall _calibrate_freq
  2827. 0B5B D0 05 2827 pop ar5
  2828. 0B5D D0 04 2828 pop ar4
  2829. 0B5F D0 03 2829 pop ar3
  2830. 0B61 D0 02 2830 pop ar2
  2831. 2831 ; specan.c:340: hz -= spacing;
  2832. 0B63 EA 2832 mov a,r2
  2833. 0B64 C3 2833 clr c
  2834. 0B65 95 32 2834 subb a,_set_center_freq_spacing_1_1
  2835. 0B67 FA 2835 mov r2,a
  2836. 0B68 EB 2836 mov a,r3
  2837. 0B69 95 33 2837 subb a,(_set_center_freq_spacing_1_1 + 1)
  2838. 0B6B FB 2838 mov r3,a
  2839. 0B6C EC 2839 mov a,r4
  2840. 0B6D 95 34 2840 subb a,(_set_center_freq_spacing_1_1 + 2)
  2841. 0B6F FC 2841 mov r4,a
  2842. 0B70 ED 2842 mov a,r5
  2843. 0B71 95 35 2843 subb a,(_set_center_freq_spacing_1_1 + 3)
  2844. 0B73 FD 2844 mov r5,a
  2845. 0B74 80 BB 2845 sjmp 00129$
  2846. 0B76 2846 00131$:
  2847. 2847 ; specan.c:343: center_freq = freq;
  2848. 0B76 85 2F 22 2848 mov _center_freq,_set_center_freq_freq_1_1
  2849. 0B79 85 30 23 2849 mov (_center_freq + 1),(_set_center_freq_freq_1_1 + 1)
  2850. 2850 ; specan.c:344: clear();
  2851. 0B7C 12 0F 37 2851 lcall _clear
  2852. 2852 ; specan.c:345: draw_ruler();
  2853. 0B7F 12 02 D0 2853 lcall _draw_ruler
  2854. 2854 ; specan.c:346: draw_freq();
  2855. 0B82 12 03 72 2855 lcall _draw_freq
  2856. 2856 ; specan.c:347: max_hold = 0;
  2857. 0B85 C2 00 2857 clr _max_hold
  2858. 2858 ; specan.c:349: return freq;
  2859. 0B87 85 2F 82 2859 mov dpl,_set_center_freq_freq_1_1
  2860. 0B8A 85 30 83 2860 mov dph,(_set_center_freq_freq_1_1 + 1)
  2861. 0B8D 22 2861 ret
  2862. 2862 ;------------------------------------------------------------
  2863. 2863 ;Allocation info for local variables in function 'tune'
  2864. 2864 ;------------------------------------------------------------
  2865. 2865 ;ch Allocated to registers r2
  2866. 2866 ;------------------------------------------------------------
  2867. 2867 ; specan.c:353: void tune(u8 ch) {
  2868. 2868 ; -----------------------------------------
  2869. 2869 ; function tune
  2870. 2870 ; -----------------------------------------
  2871. 0B8E 2871 _tune:
  2872. 2872 ; specan.c:354: FREQ2 = chan_table[ch].freq2;
  2873. 0B8E E5 82 2873 mov a,dpl
  2874. 0B90 75 F0 08 2874 mov b,#0x08
  2875. 0B93 A4 2875 mul ab
  2876. 0B94 FA 2876 mov r2,a
  2877. 0B95 AB F0 2877 mov r3,b
  2878. 0B97 EA 2878 mov a,r2
  2879. 0B98 24 00 2879 add a,#_chan_table
  2880. 0B9A F5 82 2880 mov dpl,a
  2881. 0B9C EB 2881 mov a,r3
  2882. 0B9D 34 F0 2882 addc a,#(_chan_table >> 8)
  2883. 0B9F F5 83 2883 mov dph,a
  2884. 0BA1 E0 2884 movx a,@dptr
  2885. 0BA2 90 DF 09 2885 mov dptr,#_FREQ2
  2886. 0BA5 F0 2886 movx @dptr,a
  2887. 2887 ; specan.c:355: FREQ1 = chan_table[ch].freq1;
  2888. 0BA6 EA 2888 mov a,r2
  2889. 0BA7 24 00 2889 add a,#_chan_table
  2890. 0BA9 FA 2890 mov r2,a
  2891. 0BAA EB 2891 mov a,r3
  2892. 0BAB 34 F0 2892 addc a,#(_chan_table >> 8)
  2893. 0BAD FB 2893 mov r3,a
  2894. 0BAE 8A 82 2894 mov dpl,r2
  2895. 0BB0 8B 83 2895 mov dph,r3
  2896. 0BB2 A3 2896 inc dptr
  2897. 0BB3 E0 2897 movx a,@dptr
  2898. 0BB4 90 DF 0A 2898 mov dptr,#_FREQ1
  2899. 0BB7 F0 2899 movx @dptr,a
  2900. 2900 ; specan.c:356: FREQ0 = chan_table[ch].freq0;
  2901. 0BB8 8A 82 2901 mov dpl,r2
  2902. 0BBA 8B 83 2902 mov dph,r3
  2903. 0BBC A3 2903 inc dptr
  2904. 0BBD A3 2904 inc dptr
  2905. 0BBE E0 2905 movx a,@dptr
  2906. 0BBF 90 DF 0B 2906 mov dptr,#_FREQ0
  2907. 0BC2 F0 2907 movx @dptr,a
  2908. 2908 ; specan.c:358: FSCAL3 = chan_table[ch].fscal3;
  2909. 0BC3 8A 82 2909 mov dpl,r2
  2910. 0BC5 8B 83 2910 mov dph,r3
  2911. 0BC7 A3 2911 inc dptr
  2912. 0BC8 A3 2912 inc dptr
  2913. 0BC9 A3 2913 inc dptr
  2914. 0BCA E0 2914 movx a,@dptr
  2915. 0BCB 90 DF 1C 2915 mov dptr,#_FSCAL3
  2916. 0BCE F0 2916 movx @dptr,a
  2917. 2917 ; specan.c:359: FSCAL2 = chan_table[ch].fscal2;
  2918. 0BCF 8A 82 2918 mov dpl,r2
  2919. 0BD1 8B 83 2919 mov dph,r3
  2920. 0BD3 A3 2920 inc dptr
  2921. 0BD4 A3 2921 inc dptr
  2922. 0BD5 A3 2922 inc dptr
  2923. 0BD6 A3 2923 inc dptr
  2924. 0BD7 E0 2924 movx a,@dptr
  2925. 0BD8 90 DF 1D 2925 mov dptr,#_FSCAL2
  2926. 0BDB F0 2926 movx @dptr,a
  2927. 2927 ; specan.c:360: FSCAL1 = chan_table[ch].fscal1;
  2928. 0BDC 8A 82 2928 mov dpl,r2
  2929. 0BDE 8B 83 2929 mov dph,r3
  2930. 0BE0 A3 2930 inc dptr
  2931. 0BE1 A3 2931 inc dptr
  2932. 0BE2 A3 2932 inc dptr
  2933. 0BE3 A3 2933 inc dptr
  2934. 0BE4 A3 2934 inc dptr
  2935. 0BE5 E0 2935 movx a,@dptr
  2936. 0BE6 90 DF 1E 2936 mov dptr,#_FSCAL1
  2937. 0BE9 F0 2937 movx @dptr,a
  2938. 0BEA 22 2938 ret
  2939. 2939 ;------------------------------------------------------------
  2940. 2940 ;Allocation info for local variables in function 'set_width'
  2941. 2941 ;------------------------------------------------------------
  2942. 2942 ;w Allocated to registers
  2943. 2943 ;------------------------------------------------------------
  2944. 2944 ; specan.c:363: void set_width(u8 w) {
  2945. 2945 ; -----------------------------------------
  2946. 2946 ; function set_width
  2947. 2947 ; -----------------------------------------
  2948. 0BEB 2948 _set_width:
  2949. 0BEB 85 82 27 2949 mov _width,dpl
  2950. 2950 ; specan.c:365: set_filter();
  2951. 0BEE 12 05 15 2951 lcall _set_filter
  2952. 2952 ; specan.c:366: set_center_freq(center_freq);
  2953. 0BF1 85 22 82 2953 mov dpl,_center_freq
  2954. 0BF4 85 23 83 2954 mov dph,(_center_freq + 1)
  2955. 0BF7 02 06 86 2955 ljmp _set_center_freq
  2956. 2956 ;------------------------------------------------------------
  2957. 2957 ;Allocation info for local variables in function 'poll_keyboard'
  2958. 2958 ;------------------------------------------------------------
  2959. 2959 ;vstep Allocated to registers r2
  2960. 2960 ;hstep Allocated to registers r3
  2961. 2961 ;------------------------------------------------------------
  2962. 2962 ; specan.c:369: void poll_keyboard() {
  2963. 2963 ; -----------------------------------------
  2964. 2964 ; function poll_keyboard
  2965. 2965 ; -----------------------------------------
  2966. 0BFA 2966 _poll_keyboard:
  2967. 2967 ; specan.c:373: vstep = (height == TALL) ? TALL_STEP : SHORT_STEP;
  2968. 0BFA 30 01 04 2968 jnb _height,00128$
  2969. 0BFD 7A 04 2969 mov r2,#0x04
  2970. 0BFF 80 02 2970 sjmp 00129$
  2971. 0C01 2971 00128$:
  2972. 0C01 7A 10 2972 mov r2,#0x10
  2973. 0C03 2973 00129$:
  2974. 2974 ; specan.c:375: switch (width) {
  2975. 0C03 74 01 2975 mov a,#0x01
  2976. 0C05 B5 27 02 2976 cjne a,_width,00157$
  2977. 0C08 80 07 2977 sjmp 00101$
  2978. 0C0A 2978 00157$:
  2979. 0C0A 74 02 2979 mov a,#0x02
  2980. 2980 ; specan.c:376: case NARROW:
  2981. 0C0C B5 27 0A 2981 cjne a,_width,00103$
  2982. 0C0F 80 04 2982 sjmp 00102$
  2983. 0C11 2983 00101$:
  2984. 2984 ; specan.c:377: hstep = NARROW_STEP;
  2985. 0C11 7B 01 2985 mov r3,#0x01
  2986. 2986 ; specan.c:378: break;
  2987. 2987 ; specan.c:379: case ULTRAWIDE:
  2988. 0C13 80 06 2988 sjmp 00104$
  2989. 0C15 2989 00102$:
  2990. 2990 ; specan.c:380: hstep = ULTRAWIDE_STEP;
  2991. 0C15 7B 14 2991 mov r3,#0x14
  2992. 2992 ; specan.c:381: break;
  2993. 2993 ; specan.c:382: default:
  2994. 0C17 80 02 2994 sjmp 00104$
  2995. 0C19 2995 00103$:
  2996. 2996 ; specan.c:383: hstep = WIDE_STEP;
  2997. 0C19 7B 05 2997 mov r3,#0x05
  2998. 2998 ; specan.c:385: }
  2999. 0C1B 2999 00104$:
  3000. 3000 ; specan.c:387: switch (getkey()) {
  3001. 0C1B C0 02 3001 push ar2
  3002. 0C1D C0 03 3002 push ar3
  3003. 0C1F 12 11 1D 3003 lcall _getkey
  3004. 0C22 AC 82 3004 mov r4,dpl
  3005. 0C24 D0 03 3005 pop ar3
  3006. 0C26 D0 02 3006 pop ar2
  3007. 0C28 BC 01 03 3007 cjne r4,#0x01,00159$
  3008. 0C2B 02 0D 24 3008 ljmp 00123$
  3009. 0C2E 3009 00159$:
  3010. 0C2E BC 02 03 3010 cjne r4,#0x02,00160$
  3011. 0C31 02 0C B4 3011 ljmp 00115$
  3012. 0C34 3012 00160$:
  3013. 0C34 BC 03 02 3013 cjne r4,#0x03,00161$
  3014. 0C37 80 56 3014 sjmp 00108$
  3015. 0C39 3015 00161$:
  3016. 0C39 BC 3C 03 3016 cjne r4,#0x3C,00162$
  3017. 0C3C 02 0C C6 3017 ljmp 00117$
  3018. 0C3F 3018 00162$:
  3019. 0C3F BC 3E 03 3019 cjne r4,#0x3E,00163$
  3020. 0C42 02 0C B7 3020 ljmp 00116$
  3021. 0C45 3021 00163$:
  3022. 0C45 BC 41 03 3022 cjne r4,#0x41,00164$
  3023. 0C48 02 0C F8 3023 ljmp 00121$
  3024. 0C4B 3024 00164$:
  3025. 0C4B BC 4D 03 3025 cjne r4,#0x4D,00165$
  3026. 0C4E 02 0D 21 3026 ljmp 00122$
  3027. 0C51 3027 00165$:
  3028. 0C51 BC 4E 02 3028 cjne r4,#0x4E,00166$
  3029. 0C54 80 2D 3029 sjmp 00106$
  3030. 0C56 3030 00166$:
  3031. 0C56 BC 51 03 3031 cjne r4,#0x51,00167$
  3032. 0C59 02 0C D4 3032 ljmp 00119$
  3033. 0C5C 3033 00167$:
  3034. 0C5C BC 53 02 3034 cjne r4,#0x53,00168$
  3035. 0C5F 80 50 3035 sjmp 00114$
  3036. 0C61 3036 00168$:
  3037. 0C61 BC 54 02 3037 cjne r4,#0x54,00169$
  3038. 0C64 80 48 3038 sjmp 00113$
  3039. 0C66 3039 00169$:
  3040. 0C66 BC 55 02 3040 cjne r4,#0x55,00170$
  3041. 0C69 80 1E 3041 sjmp 00107$
  3042. 0C6B 3042 00170$:
  3043. 0C6B BC 57 02 3043 cjne r4,#0x57,00171$
  3044. 0C6E 80 0D 3044 sjmp 00105$
  3045. 0C70 3045 00171$:
  3046. 0C70 BC 5E 03 3046 cjne r4,#0x5E,00172$
  3047. 0C73 02 0C D4 3047 ljmp 00119$
  3048. 0C76 3048 00172$:
  3049. 0C76 BC 87 03 3049 cjne r4,#0x87,00173$
  3050. 0C79 02 0C F8 3050 ljmp 00121$
  3051. 0C7C 3051 00173$:
  3052. 0C7C 22 3052 ret
  3053. 3053 ; specan.c:388: case 'W':
  3054. 0C7D 3054 00105$:
  3055. 3055 ; specan.c:389: set_width(WIDE);
  3056. 0C7D 75 82 00 3056 mov dpl,#0x00
  3057. 3057 ; specan.c:390: break;
  3058. 0C80 02 0B EB 3058 ljmp _set_width
  3059. 3059 ; specan.c:391: case 'N':
  3060. 0C83 3060 00106$:
  3061. 3061 ; specan.c:392: set_width(NARROW);
  3062. 0C83 75 82 01 3062 mov dpl,#0x01
  3063. 3063 ; specan.c:393: break;
  3064. 0C86 02 0B EB 3064 ljmp _set_width
  3065. 3065 ; specan.c:394: case 'U':
  3066. 0C89 3066 00107$:
  3067. 3067 ; specan.c:395: set_width(ULTRAWIDE);
  3068. 0C89 75 82 02 3068 mov dpl,#0x02
  3069. 3069 ; specan.c:396: break;
  3070. 0C8C 02 0B EB 3070 ljmp _set_width
  3071. 3071 ; specan.c:397: case KMNU:
  3072. 0C8F 3072 00108$:
  3073. 3073 ; specan.c:398: switch (width) {
  3074. 0C8F E4 3074 clr a
  3075. 0C90 B5 27 02 3075 cjne a,_width,00174$
  3076. 0C93 80 07 3076 sjmp 00109$
  3077. 0C95 3077 00174$:
  3078. 0C95 74 01 3078 mov a,#0x01
  3079. 3079 ; specan.c:399: case WIDE:
  3080. 0C97 B5 27 0E 3080 cjne a,_width,00111$
  3081. 0C9A 80 06 3081 sjmp 00110$
  3082. 0C9C 3082 00109$:
  3083. 3083 ; specan.c:400: set_width(NARROW);
  3084. 0C9C 75 82 01 3084 mov dpl,#0x01
  3085. 3085 ; specan.c:401: break;
  3086. 0C9F 02 0B EB 3086 ljmp _set_width
  3087. 3087 ; specan.c:402: case NARROW:
  3088. 0CA2 3088 00110$:
  3089. 3089 ; specan.c:403: set_width(ULTRAWIDE);
  3090. 0CA2 75 82 02 3090 mov dpl,#0x02
  3091. 3091 ; specan.c:404: break;
  3092. 0CA5 02 0B EB 3092 ljmp _set_width
  3093. 3093 ; specan.c:405: default:
  3094. 0CA8 3094 00111$:
  3095. 3095 ; specan.c:406: set_width(WIDE);
  3096. 0CA8 75 82 00 3096 mov dpl,#0x00
  3097. 3097 ; specan.c:409: break;
  3098. 0CAB 02 0B EB 3098 ljmp _set_width
  3099. 3099 ; specan.c:410: case 'T':
  3100. 0CAE 3100 00113$:
  3101. 3101 ; specan.c:411: height = TALL;
  3102. 0CAE D2 01 3102 setb _height
  3103. 3103 ; specan.c:412: break;
  3104. 0CB0 22 3104 ret
  3105. 3105 ; specan.c:413: case 'S':
  3106. 0CB1 3106 00114$:
  3107. 3107 ; specan.c:414: height = SHORT;
  3108. 0CB1 C2 01 3108 clr _height
  3109. 3109 ; specan.c:415: break;
  3110. 0CB3 22 3110 ret
  3111. 3111 ; specan.c:416: case KBYE:
  3112. 0CB4 3112 00115$:
  3113. 3113 ; specan.c:417: height = !height;
  3114. 0CB4 B2 01 3114 cpl _height
  3115. 3115 ; specan.c:418: break;
  3116. 0CB6 22 3116 ret
  3117. 3117 ; specan.c:419: case '>':
  3118. 0CB7 3118 00116$:
  3119. 3119 ; specan.c:420: user_freq += hstep;
  3120. 0CB7 8B 04 3120 mov ar4,r3
  3121. 0CB9 7D 00 3121 mov r5,#0x00
  3122. 0CBB EC 3122 mov a,r4
  3123. 0CBC 25 24 3123 add a,_user_freq
  3124. 0CBE F5 24 3124 mov _user_freq,a
  3125. 0CC0 ED 3125 mov a,r5
  3126. 0CC1 35 25 3126 addc a,(_user_freq + 1)
  3127. 0CC3 F5 25 3127 mov (_user_freq + 1),a
  3128. 3128 ; specan.c:421: break;
  3129. 3129 ; specan.c:422: case '<':
  3130. 0CC5 22 3130 ret
  3131. 0CC6 3131 00117$:
  3132. 3132 ; specan.c:423: user_freq -= hstep;
  3133. 0CC6 7C 00 3133 mov r4,#0x00
  3134. 0CC8 E5 24 3134 mov a,_user_freq
  3135. 0CCA C3 3135 clr c
  3136. 0CCB 9B 3136 subb a,r3
  3137. 0CCC F5 24 3137 mov _user_freq,a
  3138. 0CCE E5 25 3138 mov a,(_user_freq + 1)
  3139. 0CD0 9C 3139 subb a,r4
  3140. 0CD1 F5 25 3140 mov (_user_freq + 1),a
  3141. 3141 ; specan.c:424: break;
  3142. 3142 ; specan.c:426: case 'Q':
  3143. 0CD3 22 3143 ret
  3144. 0CD4 3144 00119$:
  3145. 3145 ; specan.c:427: vscroll = MIN(vscroll + vstep, MAX_VSCROLL);
  3146. 0CD4 AB 28 3146 mov r3,_vscroll
  3147. 0CD6 7C 00 3147 mov r4,#0x00
  3148. 0CD8 8A 05 3148 mov ar5,r2
  3149. 0CDA 7E 00 3149 mov r6,#0x00
  3150. 0CDC ED 3150 mov a,r5
  3151. 0CDD 2B 3151 add a,r3
  3152. 0CDE FB 3152 mov r3,a
  3153. 0CDF EE 3153 mov a,r6
  3154. 0CE0 3C 3154 addc a,r4
  3155. 0CE1 FC 3155 mov r4,a
  3156. 0CE2 C3 3156 clr c
  3157. 0CE3 EB 3157 mov a,r3
  3158. 0CE4 94 D0 3158 subb a,#0xD0
  3159. 0CE6 EC 3159 mov a,r4
  3160. 0CE7 64 80 3160 xrl a,#0x80
  3161. 0CE9 94 80 3161 subb a,#0x80
  3162. 0CEB 50 06 3162 jnc 00130$
  3163. 0CED EA 3163 mov a,r2
  3164. 0CEE 25 28 3164 add a,_vscroll
  3165. 0CF0 FB 3165 mov r3,a
  3166. 0CF1 80 02 3166 sjmp 00131$
  3167. 0CF3 3167 00130$:
  3168. 0CF3 7B D0 3168 mov r3,#0xD0
  3169. 0CF5 3169 00131$:
  3170. 0CF5 8B 28 3170 mov _vscroll,r3
  3171. 3171 ; specan.c:428: break;
  3172. 3172 ; specan.c:430: case 'A':
  3173. 0CF7 22 3173 ret
  3174. 0CF8 3174 00121$:
  3175. 3175 ; specan.c:431: vscroll = MAX(vscroll - vstep, MIN_VSCROLL);
  3176. 0CF8 AB 28 3176 mov r3,_vscroll
  3177. 0CFA 7C 00 3177 mov r4,#0x00
  3178. 0CFC 8A 05 3178 mov ar5,r2
  3179. 0CFE 7E 00 3179 mov r6,#0x00
  3180. 0D00 EB 3180 mov a,r3
  3181. 0D01 C3 3181 clr c
  3182. 0D02 9D 3182 subb a,r5
  3183. 0D03 FB 3183 mov r3,a
  3184. 0D04 EC 3184 mov a,r4
  3185. 0D05 9E 3185 subb a,r6
  3186. 0D06 FC 3186 mov r4,a
  3187. 0D07 C3 3187 clr c
  3188. 0D08 E4 3188 clr a
  3189. 0D09 9B 3189 subb a,r3
  3190. 0D0A 74 80 3190 mov a,#(0x00 ^ 0x80)
  3191. 0D0C 8C F0 3191 mov b,r4
  3192. 0D0E 63 F0 80 3192 xrl b,#0x80
  3193. 0D11 95 F0 3193 subb a,b
  3194. 0D13 50 07 3194 jnc 00132$
  3195. 0D15 E5 28 3195 mov a,_vscroll
  3196. 0D17 C3 3196 clr c
  3197. 0D18 9A 3197 subb a,r2
  3198. 0D19 FA 3198 mov r2,a
  3199. 0D1A 80 02 3199 sjmp 00133$
  3200. 0D1C 3200 00132$:
  3201. 0D1C 7A 00 3201 mov r2,#0x00
  3202. 0D1E 3202 00133$:
  3203. 0D1E 8A 28 3203 mov _vscroll,r2
  3204. 3204 ; specan.c:432: break;
  3205. 3205 ; specan.c:433: case 'M':
  3206. 0D20 22 3206 ret
  3207. 0D21 3207 00122$:
  3208. 3208 ; specan.c:434: max_hold = !max_hold;
  3209. 0D21 B2 00 3209 cpl _max_hold
  3210. 3210 ; specan.c:435: break;
  3211. 3211 ; specan.c:436: case KPWR:
  3212. 0D23 22 3212 ret
  3213. 0D24 3213 00123$:
  3214. 3214 ; specan.c:437: sleepy = 1;
  3215. 0D24 D2 02 3215 setb _sleepy
  3216. 3216 ; specan.c:441: }
  3217. 0D26 22 3217 ret
  3218. 3218 ;------------------------------------------------------------
  3219. 3219 ;Allocation info for local variables in function 'main'
  3220. 3220 ;------------------------------------------------------------
  3221. 3221 ;ch Allocated to registers r2
  3222. 3222 ;i Allocated to registers r3 r4
  3223. 3223 ;sloc0 Allocated with name '_main_sloc0_1_0'
  3224. 3224 ;------------------------------------------------------------
  3225. 3225 ; specan.c:444: void main(void) {
  3226. 3226 ; -----------------------------------------
  3227. 3227 ; function main
  3228. 3228 ; -----------------------------------------
  3229. 0D27 3229 _main:
  3230. 3230 ; specan.c:448: reset:
  3231. 0D27 3231 00101$:
  3232. 3232 ; specan.c:449: center_freq = DEFAULT_FREQ;
  3233. 0D27 75 22 93 3233 mov _center_freq,#0x93
  3234. 0D2A 75 23 03 3234 mov (_center_freq + 1),#0x03
  3235. 3235 ; specan.c:450: user_freq = DEFAULT_FREQ;
  3236. 0D2D 75 24 93 3236 mov _user_freq,#0x93
  3237. 0D30 75 25 03 3237 mov (_user_freq + 1),#0x03
  3238. 3238 ; specan.c:451: band = BAND_900;
  3239. 0D33 75 26 02 3239 mov _band,#0x02
  3240. 3240 ; specan.c:452: width = WIDE;
  3241. 0D36 75 27 00 3241 mov _width,#0x00
  3242. 3242 ; specan.c:453: max_hold = 0;
  3243. 0D39 C2 00 3243 clr _max_hold
  3244. 3244 ; specan.c:454: height = 0;
  3245. 0D3B C2 01 3245 clr _height
  3246. 3246 ; specan.c:455: sleepy = 0;
  3247. 0D3D C2 02 3247 clr _sleepy
  3248. 3248 ; specan.c:456: vscroll = 0;
  3249. 0D3F 75 28 00 3249 mov _vscroll,#0x00
  3250. 3250 ; specan.c:457: min_chan = 0;
  3251. 0D42 75 29 00 3251 mov _min_chan,#0x00
  3252. 3252 ; specan.c:458: max_chan = NUM_CHANNELS - 1;
  3253. 0D45 75 2A 83 3253 mov _max_chan,#0x83
  3254. 3254 ; specan.c:460: xtalClock();
  3255. 0D48 12 0E 56 3255 lcall _xtalClock
  3256. 3256 ; specan.c:461: setIOPorts();
  3257. 0D4B 12 0E 6A 3257 lcall _setIOPorts
  3258. 3258 ; specan.c:462: configureSPI();
  3259. 0D4E 12 0E 77 3259 lcall _configureSPI
  3260. 3260 ; specan.c:463: LCDReset();
  3261. 0D51 12 0E 97 3261 lcall _LCDReset
  3262. 3262 ; specan.c:464: radio_setup();
  3263. 0D54 12 04 D4 3263 lcall _radio_setup
  3264. 3264 ; specan.c:465: set_width(WIDE);
  3265. 0D57 75 82 00 3265 mov dpl,#0x00
  3266. 0D5A 12 0B EB 3266 lcall _set_width
  3267. 3267 ; specan.c:467: while (1) {
  3268. 0D5D 3268 00112$:
  3269. 3269 ; specan.c:468: for (ch = min_chan; ch < max_chan; ch++) {
  3270. 0D5D AA 29 3270 mov r2,_min_chan
  3271. 0D5F 3271 00117$:
  3272. 0D5F C3 3272 clr c
  3273. 0D60 EA 3273 mov a,r2
  3274. 0D61 95 2A 3274 subb a,_max_chan
  3275. 0D63 40 03 3275 jc 00137$
  3276. 0D65 02 0D F4 3276 ljmp 00120$
  3277. 0D68 3277 00137$:
  3278. 3278 ; specan.c:470: tune(ch);
  3279. 0D68 8A 82 3279 mov dpl,r2
  3280. 0D6A C0 02 3280 push ar2
  3281. 0D6C 12 0B 8E 3281 lcall _tune
  3282. 0D6F D0 02 3282 pop ar2
  3283. 3283 ; specan.c:471: RFST = RFST_SRX;
  3284. 0D71 75 E1 02 3284 mov _RFST,#0x02
  3285. 3285 ; specan.c:474: plot(ch);
  3286. 0D74 8A 82 3286 mov dpl,r2
  3287. 0D76 C0 02 3287 push ar2
  3288. 0D78 12 00 DF 3288 lcall _plot
  3289. 0D7B D0 02 3289 pop ar2
  3290. 3290 ; specan.c:477: if (width == NARROW)
  3291. 0D7D 74 01 3291 mov a,#0x01
  3292. 0D7F B5 27 11 3292 cjne a,_width,00103$
  3293. 3293 ; specan.c:478: for (i = 350; i-- ;);
  3294. 0D82 7B 5E 3294 mov r3,#0x5E
  3295. 0D84 7C 01 3295 mov r4,#0x01
  3296. 0D86 3296 00114$:
  3297. 0D86 8B 05 3297 mov ar5,r3
  3298. 0D88 8C 06 3298 mov ar6,r4
  3299. 0D8A 1B 3299 dec r3
  3300. 0D8B BB FF 01 3300 cjne r3,#0xff,00140$
  3301. 0D8E 1C 3301 dec r4
  3302. 0D8F 3302 00140$:
  3303. 0D8F ED 3303 mov a,r5
  3304. 0D90 4E 3304 orl a,r6
  3305. 0D91 70 F3 3305 jnz 00114$
  3306. 0D93 3306 00103$:
  3307. 3307 ; specan.c:481: chan_table[ch].ss = (RSSI ^ 0x80);
  3308. 0D93 EA 3308 mov a,r2
  3309. 0D94 75 F0 08 3309 mov b,#0x08
  3310. 0D97 A4 3310 mul ab
  3311. 0D98 24 00 3311 add a,#_chan_table
  3312. 0D9A FB 3312 mov r3,a
  3313. 0D9B 74 F0 3313 mov a,#(_chan_table >> 8)
  3314. 0D9D 35 F0 3314 addc a,b
  3315. 0D9F FC 3315 mov r4,a
  3316. 0DA0 74 06 3316 mov a,#0x06
  3317. 0DA2 2B 3317 add a,r3
  3318. 0DA3 FD 3318 mov r5,a
  3319. 0DA4 E4 3319 clr a
  3320. 0DA5 3C 3320 addc a,r4
  3321. 0DA6 FE 3321 mov r6,a
  3322. 0DA7 90 DF 3A 3322 mov dptr,#_RSSI
  3323. 0DAA E0 3323 movx a,@dptr
  3324. 0DAB FF 3324 mov r7,a
  3325. 0DAC 63 07 80 3325 xrl ar7,#0x80
  3326. 0DAF 8D 82 3326 mov dpl,r5
  3327. 0DB1 8E 83 3327 mov dph,r6
  3328. 0DB3 EF 3328 mov a,r7
  3329. 0DB4 F0 3329 movx @dptr,a
  3330. 3330 ; specan.c:482: if (max_hold)
  3331. 0DB5 30 00 2A 3331 jnb _max_hold,00105$
  3332. 3332 ; specan.c:483: chan_table[ch].max = MAX(chan_table[ch].ss,
  3333. 0DB8 74 07 3333 mov a,#0x07
  3334. 0DBA 2B 3334 add a,r3
  3335. 0DBB FF 3335 mov r7,a
  3336. 0DBC E4 3336 clr a
  3337. 0DBD 3C 3337 addc a,r4
  3338. 0DBE F8 3338 mov r0,a
  3339. 0DBF 8D 82 3339 mov dpl,r5
  3340. 0DC1 8E 83 3340 mov dph,r6
  3341. 0DC3 E0 3341 movx a,@dptr
  3342. 0DC4 F9 3342 mov r1,a
  3343. 0DC5 8F 82 3343 mov dpl,r7
  3344. 0DC7 88 83 3344 mov dph,r0
  3345. 0DC9 E0 3345 movx a,@dptr
  3346. 0DCA F5 4A 3346 mov _main_sloc0_1_0,a
  3347. 0DCC C3 3347 clr c
  3348. 0DCD 99 3348 subb a,r1
  3349. 0DCE 50 08 3349 jnc 00123$
  3350. 0DD0 8D 82 3350 mov dpl,r5
  3351. 0DD2 8E 83 3351 mov dph,r6
  3352. 0DD4 E0 3352 movx a,@dptr
  3353. 0DD5 FD 3353 mov r5,a
  3354. 0DD6 80 02 3354 sjmp 00124$
  3355. 0DD8 3355 00123$:
  3356. 0DD8 AD 4A 3356 mov r5,_main_sloc0_1_0
  3357. 0DDA 3357 00124$:
  3358. 0DDA 8F 82 3358 mov dpl,r7
  3359. 0DDC 88 83 3359 mov dph,r0
  3360. 0DDE ED 3360 mov a,r5
  3361. 0DDF F0 3361 movx @dptr,a
  3362. 0DE0 80 0B 3362 sjmp 00106$
  3363. 0DE2 3363 00105$:
  3364. 3364 ; specan.c:486: chan_table[ch].max = 0;
  3365. 0DE2 74 07 3365 mov a,#0x07
  3366. 0DE4 2B 3366 add a,r3
  3367. 0DE5 F5 82 3367 mov dpl,a
  3368. 0DE7 E4 3368 clr a
  3369. 0DE8 3C 3369 addc a,r4
  3370. 0DE9 F5 83 3370 mov dph,a
  3371. 0DEB E4 3371 clr a
  3372. 0DEC F0 3372 movx @dptr,a
  3373. 0DED 3373 00106$:
  3374. 3374 ; specan.c:489: RFST = RFST_SIDLE;
  3375. 0DED 75 E1 04 3375 mov _RFST,#0x04
  3376. 3376 ; specan.c:468: for (ch = min_chan; ch < max_chan; ch++) {
  3377. 0DF0 0A 3377 inc r2
  3378. 0DF1 02 0D 5F 3378 ljmp 00117$
  3379. 0DF4 3379 00120$:
  3380. 3380 ; specan.c:492: poll_keyboard();
  3381. 0DF4 12 0B FA 3381 lcall _poll_keyboard
  3382. 3382 ; specan.c:495: if (sleepy) {
  3383. 0DF7 30 02 16 3383 jnb _sleepy,00108$
  3384. 3384 ; specan.c:496: clear();
  3385. 0DFA 12 0F 37 3385 lcall _clear
  3386. 3386 ; specan.c:497: sleepMillis(1000);
  3387. 0DFD 90 03 E8 3387 mov dptr,#0x03E8
  3388. 0E00 12 0E 2F 3388 lcall _sleepMillis
  3389. 3389 ; specan.c:498: SSN = LOW;
  3390. 0E03 C2 84 3390 clr _P0_4
  3391. 3391 ; specan.c:499: LCDPowerSave();
  3392. 0E05 12 0E E2 3392 lcall _LCDPowerSave
  3393. 3393 ; specan.c:500: SSN = HIGH;
  3394. 0E08 D2 84 3394 setb _P0_4
  3395. 3395 ; specan.c:501: sleep();
  3396. 0E0A 12 11 4B 3396 lcall _sleep
  3397. 3397 ; specan.c:503: goto reset;
  3398. 0E0D 02 0D 27 3398 ljmp 00101$
  3399. 0E10 3399 00108$:
  3400. 3400 ; specan.c:506: if (user_freq != center_freq)
  3401. 0E10 E5 22 3401 mov a,_center_freq
  3402. 0E12 B5 24 08 3402 cjne a,_user_freq,00145$
  3403. 0E15 E5 23 3403 mov a,(_center_freq + 1)
  3404. 0E17 B5 25 03 3404 cjne a,(_user_freq + 1),00145$
  3405. 0E1A 02 0D 5D 3405 ljmp 00112$
  3406. 0E1D 3406 00145$:
  3407. 3407 ; specan.c:507: user_freq = set_center_freq(user_freq);
  3408. 0E1D 85 24 82 3408 mov dpl,_user_freq
  3409. 0E20 85 25 83 3409 mov dph,(_user_freq + 1)
  3410. 0E23 12 06 86 3410 lcall _set_center_freq
  3411. 0E26 85 82 24 3411 mov _user_freq,dpl
  3412. 0E29 85 83 25 3412 mov (_user_freq + 1),dph
  3413. 0E2C 02 0D 5D 3413 ljmp 00112$
  3414. 3414 .area CSEG (CODE)
  3415. 3415 .area CONST (CODE)
  3416. 1B3A 3416 _narrow_ruler:
  3417. 1B3A 0E 3417 .db #0x0E ; 14
  3418. 1B3B 02 3418 .db #0x02 ; 2
  3419. 1B3C 0E 3419 .db #0x0E ; 14
  3420. 1B3D 02 3420 .db #0x02 ; 2
  3421. 1B3E 0E 3421 .db #0x0E ; 14
  3422. 1B3F 02 3422 .db #0x02 ; 2
  3423. 1B40 FE 3423 .db #0xFE ; 254
  3424. 1B41 02 3424 .db #0x02 ; 2
  3425. 1B42 0E 3425 .db #0x0E ; 14
  3426. 1B43 02 3426 .db #0x02 ; 2
  3427. 1B44 0E 3427 .db #0x0E ; 14
  3428. 1B45 02 3428 .db #0x02 ; 2
  3429. 1B46 0E 3429 .db #0x0E ; 14
  3430. 1B47 02 3430 .db #0x02 ; 2
  3431. 1B48 0E 3431 .db #0x0E ; 14
  3432. 1B49 02 3432 .db #0x02 ; 2
  3433. 1B4A 3E 3433 .db #0x3E ; 62
  3434. 1B4B 02 3434 .db #0x02 ; 2
  3435. 1B4C 0E 3435 .db #0x0E ; 14
  3436. 1B4D 02 3436 .db #0x02 ; 2
  3437. 1B4E 0E 3437 .db #0x0E ; 14
  3438. 1B4F 02 3438 .db #0x02 ; 2
  3439. 1B50 0E 3439 .db #0x0E ; 14
  3440. 1B51 02 3440 .db #0x02 ; 2
  3441. 1B52 0E 3441 .db #0x0E ; 14
  3442. 1B53 02 3442 .db #0x02 ; 2
  3443. 1B54 FE 3443 .db #0xFE ; 254
  3444. 1B55 02 3444 .db #0x02 ; 2
  3445. 1B56 0E 3445 .db #0x0E ; 14
  3446. 1B57 02 3446 .db #0x02 ; 2
  3447. 1B58 0E 3447 .db #0x0E ; 14
  3448. 1B59 02 3448 .db #0x02 ; 2
  3449. 1B5A 0E 3449 .db #0x0E ; 14
  3450. 1B5B 02 3450 .db #0x02 ; 2
  3451. 1B5C 0E 3451 .db #0x0E ; 14
  3452. 1B5D 02 3452 .db #0x02 ; 2
  3453. 1B5E 3E 3453 .db #0x3E ; 62
  3454. 1B5F 02 3454 .db #0x02 ; 2
  3455. 1B60 0E 3455 .db #0x0E ; 14
  3456. 1B61 02 3456 .db #0x02 ; 2
  3457. 1B62 0E 3457 .db #0x0E ; 14
  3458. 1B63 02 3458 .db #0x02 ; 2
  3459. 1B64 0E 3459 .db #0x0E ; 14
  3460. 1B65 02 3460 .db #0x02 ; 2
  3461. 1B66 0E 3461 .db #0x0E ; 14
  3462. 1B67 02 3462 .db #0x02 ; 2
  3463. 1B68 FE 3463 .db #0xFE ; 254
  3464. 1B69 02 3464 .db #0x02 ; 2
  3465. 1B6A 0E 3465 .db #0x0E ; 14
  3466. 1B6B 02 3466 .db #0x02 ; 2
  3467. 1B6C 0E 3467 .db #0x0E ; 14
  3468. 1B6D 02 3468 .db #0x02 ; 2
  3469. 1B6E 0E 3469 .db #0x0E ; 14
  3470. 1B6F 02 3470 .db #0x02 ; 2
  3471. 1B70 0E 3471 .db #0x0E ; 14
  3472. 1B71 02 3472 .db #0x02 ; 2
  3473. 1B72 3E 3473 .db #0x3E ; 62
  3474. 1B73 02 3474 .db #0x02 ; 2
  3475. 1B74 0E 3475 .db #0x0E ; 14
  3476. 1B75 02 3476 .db #0x02 ; 2
  3477. 1B76 0E 3477 .db #0x0E ; 14
  3478. 1B77 02 3478 .db #0x02 ; 2
  3479. 1B78 0E 3479 .db #0x0E ; 14
  3480. 1B79 02 3480 .db #0x02 ; 2
  3481. 1B7A 0E 3481 .db #0x0E ; 14
  3482. 1B7B 02 3482 .db #0x02 ; 2
  3483. 1B7C FE 3483 .db #0xFE ; 254
  3484. 1B7D 02 3484 .db #0x02 ; 2
  3485. 1B7E 0E 3485 .db #0x0E ; 14
  3486. 1B7F 02 3486 .db #0x02 ; 2
  3487. 1B80 0E 3487 .db #0x0E ; 14
  3488. 1B81 02 3488 .db #0x02 ; 2
  3489. 1B82 0E 3489 .db #0x0E ; 14
  3490. 1B83 02 3490 .db #0x02 ; 2
  3491. 1B84 0E 3491 .db #0x0E ; 14
  3492. 1B85 02 3492 .db #0x02 ; 2
  3493. 1B86 3E 3493 .db #0x3E ; 62
  3494. 1B87 02 3494 .db #0x02 ; 2
  3495. 1B88 0E 3495 .db #0x0E ; 14
  3496. 1B89 02 3496 .db #0x02 ; 2
  3497. 1B8A 0E 3497 .db #0x0E ; 14
  3498. 1B8B 02 3498 .db #0x02 ; 2
  3499. 1B8C 0E 3499 .db #0x0E ; 14
  3500. 1B8D 02 3500 .db #0x02 ; 2
  3501. 1B8E 0E 3501 .db #0x0E ; 14
  3502. 1B8F 02 3502 .db #0x02 ; 2
  3503. 1B90 FE 3503 .db #0xFE ; 254
  3504. 1B91 02 3504 .db #0x02 ; 2
  3505. 1B92 0E 3505 .db #0x0E ; 14
  3506. 1B93 02 3506 .db #0x02 ; 2
  3507. 1B94 0E 3507 .db #0x0E ; 14
  3508. 1B95 02 3508 .db #0x02 ; 2
  3509. 1B96 0E 3509 .db #0x0E ; 14
  3510. 1B97 02 3510 .db #0x02 ; 2
  3511. 1B98 0E 3511 .db #0x0E ; 14
  3512. 1B99 02 3512 .db #0x02 ; 2
  3513. 1B9A 3E 3513 .db #0x3E ; 62
  3514. 1B9B 02 3514 .db #0x02 ; 2
  3515. 1B9C 0E 3515 .db #0x0E ; 14
  3516. 1B9D 02 3516 .db #0x02 ; 2
  3517. 1B9E 0E 3517 .db #0x0E ; 14
  3518. 1B9F 02 3518 .db #0x02 ; 2
  3519. 1BA0 0E 3519 .db #0x0E ; 14
  3520. 1BA1 02 3520 .db #0x02 ; 2
  3521. 1BA2 0E 3521 .db #0x0E ; 14
  3522. 1BA3 02 3522 .db #0x02 ; 2
  3523. 1BA4 FE 3523 .db #0xFE ; 254
  3524. 1BA5 02 3524 .db #0x02 ; 2
  3525. 1BA6 0E 3525 .db #0x0E ; 14
  3526. 1BA7 02 3526 .db #0x02 ; 2
  3527. 1BA8 0E 3527 .db #0x0E ; 14
  3528. 1BA9 02 3528 .db #0x02 ; 2
  3529. 1BAA 0E 3529 .db #0x0E ; 14
  3530. 1BAB 02 3530 .db #0x02 ; 2
  3531. 1BAC 0E 3531 .db #0x0E ; 14
  3532. 1BAD 02 3532 .db #0x02 ; 2
  3533. 1BAE 3E 3533 .db #0x3E ; 62
  3534. 1BAF 02 3534 .db #0x02 ; 2
  3535. 1BB0 0E 3535 .db #0x0E ; 14
  3536. 1BB1 02 3536 .db #0x02 ; 2
  3537. 1BB2 0E 3537 .db #0x0E ; 14
  3538. 1BB3 02 3538 .db #0x02 ; 2
  3539. 1BB4 0E 3539 .db #0x0E ; 14
  3540. 1BB5 02 3540 .db #0x02 ; 2
  3541. 1BB6 0E 3541 .db #0x0E ; 14
  3542. 1BB7 02 3542 .db #0x02 ; 2
  3543. 1BB8 FE 3543 .db #0xFE ; 254
  3544. 1BB9 02 3544 .db #0x02 ; 2
  3545. 1BBA 0E 3545 .db #0x0E ; 14
  3546. 1BBB 02 3546 .db #0x02 ; 2
  3547. 1BBC 0E 3547 .db #0x0E ; 14
  3548. 1BBD 02 3548 .db #0x02 ; 2
  3549. 1BBE 3549 _wide_ruler:
  3550. 1BBE 02 3550 .db #0x02 ; 2
  3551. 1BBF 0E 3551 .db #0x0E ; 14
  3552. 1BC0 02 3552 .db #0x02 ; 2
  3553. 1BC1 02 3553 .db #0x02 ; 2
  3554. 1BC2 02 3554 .db #0x02 ; 2
  3555. 1BC3 02 3555 .db #0x02 ; 2
  3556. 1BC4 0E 3556 .db #0x0E ; 14
  3557. 1BC5 02 3557 .db #0x02 ; 2
  3558. 1BC6 02 3558 .db #0x02 ; 2
  3559. 1BC7 02 3559 .db #0x02 ; 2
  3560. 1BC8 02 3560 .db #0x02 ; 2
  3561. 1BC9 0E 3561 .db #0x0E ; 14
  3562. 1BCA 02 3562 .db #0x02 ; 2
  3563. 1BCB 02 3563 .db #0x02 ; 2
  3564. 1BCC 02 3564 .db #0x02 ; 2
  3565. 1BCD 02 3565 .db #0x02 ; 2
  3566. 1BCE FE 3566 .db #0xFE ; 254
  3567. 1BCF 02 3567 .db #0x02 ; 2
  3568. 1BD0 02 3568 .db #0x02 ; 2
  3569. 1BD1 02 3569 .db #0x02 ; 2
  3570. 1BD2 02 3570 .db #0x02 ; 2
  3571. 1BD3 0E 3571 .db #0x0E ; 14
  3572. 1BD4 02 3572 .db #0x02 ; 2
  3573. 1BD5 02 3573 .db #0x02 ; 2
  3574. 1BD6 02 3574 .db #0x02 ; 2
  3575. 1BD7 02 3575 .db #0x02 ; 2
  3576. 1BD8 0E 3576 .db #0x0E ; 14
  3577. 1BD9 02 3577 .db #0x02 ; 2
  3578. 1BDA 02 3578 .db #0x02 ; 2
  3579. 1BDB 02 3579 .db #0x02 ; 2
  3580. 1BDC 02 3580 .db #0x02 ; 2
  3581. 1BDD 0E 3581 .db #0x0E ; 14
  3582. 1BDE 02 3582 .db #0x02 ; 2
  3583. 1BDF 02 3583 .db #0x02 ; 2
  3584. 1BE0 02 3584 .db #0x02 ; 2
  3585. 1BE1 02 3585 .db #0x02 ; 2
  3586. 1BE2 0E 3586 .db #0x0E ; 14
  3587. 1BE3 02 3587 .db #0x02 ; 2
  3588. 1BE4 02 3588 .db #0x02 ; 2
  3589. 1BE5 02 3589 .db #0x02 ; 2
  3590. 1BE6 02 3590 .db #0x02 ; 2
  3591. 1BE7 3E 3591 .db #0x3E ; 62
  3592. 1BE8 02 3592 .db #0x02 ; 2
  3593. 1BE9 02 3593 .db #0x02 ; 2
  3594. 1BEA 02 3594 .db #0x02 ; 2
  3595. 1BEB 02 3595 .db #0x02 ; 2
  3596. 1BEC 0E 3596 .db #0x0E ; 14
  3597. 1BED 02 3597 .db #0x02 ; 2
  3598. 1BEE 02 3598 .db #0x02 ; 2
  3599. 1BEF 02 3599 .db #0x02 ; 2
  3600. 1BF0 02 3600 .db #0x02 ; 2
  3601. 1BF1 0E 3601 .db #0x0E ; 14
  3602. 1BF2 02 3602 .db #0x02 ; 2
  3603. 1BF3 02 3603 .db #0x02 ; 2
  3604. 1BF4 02 3604 .db #0x02 ; 2
  3605. 1BF5 02 3605 .db #0x02 ; 2
  3606. 1BF6 0E 3606 .db #0x0E ; 14
  3607. 1BF7 02 3607 .db #0x02 ; 2
  3608. 1BF8 02 3608 .db #0x02 ; 2
  3609. 1BF9 02 3609 .db #0x02 ; 2
  3610. 1BFA 02 3610 .db #0x02 ; 2
  3611. 1BFB 0E 3611 .db #0x0E ; 14
  3612. 1BFC 02 3612 .db #0x02 ; 2
  3613. 1BFD 02 3613 .db #0x02 ; 2
  3614. 1BFE 02 3614 .db #0x02 ; 2
  3615. 1BFF 02 3615 .db #0x02 ; 2
  3616. 1C00 FE 3616 .db #0xFE ; 254
  3617. 1C01 02 3617 .db #0x02 ; 2
  3618. 1C02 02 3618 .db #0x02 ; 2
  3619. 1C03 02 3619 .db #0x02 ; 2
  3620. 1C04 02 3620 .db #0x02 ; 2
  3621. 1C05 0E 3621 .db #0x0E ; 14
  3622. 1C06 02 3622 .db #0x02 ; 2
  3623. 1C07 02 3623 .db #0x02 ; 2
  3624. 1C08 02 3624 .db #0x02 ; 2
  3625. 1C09 02 3625 .db #0x02 ; 2
  3626. 1C0A 0E 3626 .db #0x0E ; 14
  3627. 1C0B 02 3627 .db #0x02 ; 2
  3628. 1C0C 02 3628 .db #0x02 ; 2
  3629. 1C0D 02 3629 .db #0x02 ; 2
  3630. 1C0E 02 3630 .db #0x02 ; 2
  3631. 1C0F 0E 3631 .db #0x0E ; 14
  3632. 1C10 02 3632 .db #0x02 ; 2
  3633. 1C11 02 3633 .db #0x02 ; 2
  3634. 1C12 02 3634 .db #0x02 ; 2
  3635. 1C13 02 3635 .db #0x02 ; 2
  3636. 1C14 0E 3636 .db #0x0E ; 14
  3637. 1C15 02 3637 .db #0x02 ; 2
  3638. 1C16 02 3638 .db #0x02 ; 2
  3639. 1C17 02 3639 .db #0x02 ; 2
  3640. 1C18 02 3640 .db #0x02 ; 2
  3641. 1C19 3E 3641 .db #0x3E ; 62
  3642. 1C1A 02 3642 .db #0x02 ; 2
  3643. 1C1B 02 3643 .db #0x02 ; 2
  3644. 1C1C 02 3644 .db #0x02 ; 2
  3645. 1C1D 02 3645 .db #0x02 ; 2
  3646. 1C1E 0E 3646 .db #0x0E ; 14
  3647. 1C1F 02 3647 .db #0x02 ; 2
  3648. 1C20 02 3648 .db #0x02 ; 2
  3649. 1C21 02 3649 .db #0x02 ; 2
  3650. 1C22 02 3650 .db #0x02 ; 2
  3651. 1C23 0E 3651 .db #0x0E ; 14
  3652. 1C24 02 3652 .db #0x02 ; 2
  3653. 1C25 02 3653 .db #0x02 ; 2
  3654. 1C26 02 3654 .db #0x02 ; 2
  3655. 1C27 02 3655 .db #0x02 ; 2
  3656. 1C28 0E 3656 .db #0x0E ; 14
  3657. 1C29 02 3657 .db #0x02 ; 2
  3658. 1C2A 02 3658 .db #0x02 ; 2
  3659. 1C2B 02 3659 .db #0x02 ; 2
  3660. 1C2C 02 3660 .db #0x02 ; 2
  3661. 1C2D 0E 3661 .db #0x0E ; 14
  3662. 1C2E 02 3662 .db #0x02 ; 2
  3663. 1C2F 02 3663 .db #0x02 ; 2
  3664. 1C30 02 3664 .db #0x02 ; 2
  3665. 1C31 02 3665 .db #0x02 ; 2
  3666. 1C32 FE 3666 .db #0xFE ; 254
  3667. 1C33 02 3667 .db #0x02 ; 2
  3668. 1C34 02 3668 .db #0x02 ; 2
  3669. 1C35 02 3669 .db #0x02 ; 2
  3670. 1C36 02 3670 .db #0x02 ; 2
  3671. 1C37 0E 3671 .db #0x0E ; 14
  3672. 1C38 02 3672 .db #0x02 ; 2
  3673. 1C39 02 3673 .db #0x02 ; 2
  3674. 1C3A 02 3674 .db #0x02 ; 2
  3675. 1C3B 02 3675 .db #0x02 ; 2
  3676. 1C3C 0E 3676 .db #0x0E ; 14
  3677. 1C3D 02 3677 .db #0x02 ; 2
  3678. 1C3E 02 3678 .db #0x02 ; 2
  3679. 1C3F 02 3679 .db #0x02 ; 2
  3680. 1C40 02 3680 .db #0x02 ; 2
  3681. 1C41 0E 3681 .db #0x0E ; 14
  3682. 1C42 02 3682 .db #0x02 ; 2
  3683. 1C43 02 3683 .db #0x02 ; 2
  3684. 1C44 02 3684 .db #0x02 ; 2
  3685. 1C45 02 3685 .db #0x02 ; 2
  3686. 1C46 0E 3686 .db #0x0E ; 14
  3687. 1C47 02 3687 .db #0x02 ; 2
  3688. 1C48 02 3688 .db #0x02 ; 2
  3689. 1C49 02 3689 .db #0x02 ; 2
  3690. 1C4A 02 3690 .db #0x02 ; 2
  3691. 1C4B 3E 3691 .db #0x3E ; 62
  3692. 1C4C 02 3692 .db #0x02 ; 2
  3693. 1C4D 02 3693 .db #0x02 ; 2
  3694. 1C4E 02 3694 .db #0x02 ; 2
  3695. 1C4F 02 3695 .db #0x02 ; 2
  3696. 1C50 0E 3696 .db #0x0E ; 14
  3697. 1C51 02 3697 .db #0x02 ; 2
  3698. 1C52 02 3698 .db #0x02 ; 2
  3699. 1C53 02 3699 .db #0x02 ; 2
  3700. 1C54 02 3700 .db #0x02 ; 2
  3701. 1C55 0E 3701 .db #0x0E ; 14
  3702. 1C56 02 3702 .db #0x02 ; 2
  3703. 1C57 02 3703 .db #0x02 ; 2
  3704. 1C58 02 3704 .db #0x02 ; 2
  3705. 1C59 02 3705 .db #0x02 ; 2
  3706. 1C5A 0E 3706 .db #0x0E ; 14
  3707. 1C5B 3707 _ultrawide_ruler:
  3708. 1C5B 0E 3708 .db #0x0E ; 14
  3709. 1C5C 02 3709 .db #0x02 ; 2
  3710. 1C5D 02 3710 .db #0x02 ; 2
  3711. 1C5E 0E 3711 .db #0x0E ; 14
  3712. 1C5F 02 3712 .db #0x02 ; 2
  3713. 1C60 02 3713 .db #0x02 ; 2
  3714. 1C61 FE 3714 .db #0xFE ; 254
  3715. 1C62 02 3715 .db #0x02 ; 2
  3716. 1C63 02 3716 .db #0x02 ; 2
  3717. 1C64 0E 3717 .db #0x0E ; 14
  3718. 1C65 02 3718 .db #0x02 ; 2
  3719. 1C66 02 3719 .db #0x02 ; 2
  3720. 1C67 0E 3720 .db #0x0E ; 14
  3721. 1C68 02 3721 .db #0x02 ; 2
  3722. 1C69 02 3722 .db #0x02 ; 2
  3723. 1C6A 0E 3723 .db #0x0E ; 14
  3724. 1C6B 02 3724 .db #0x02 ; 2
  3725. 1C6C 02 3725 .db #0x02 ; 2
  3726. 1C6D 0E 3726 .db #0x0E ; 14
  3727. 1C6E 02 3727 .db #0x02 ; 2
  3728. 1C6F 02 3728 .db #0x02 ; 2
  3729. 1C70 FE 3729 .db #0xFE ; 254
  3730. 1C71 02 3730 .db #0x02 ; 2
  3731. 1C72 02 3731 .db #0x02 ; 2
  3732. 1C73 0E 3732 .db #0x0E ; 14
  3733. 1C74 02 3733 .db #0x02 ; 2
  3734. 1C75 02 3734 .db #0x02 ; 2
  3735. 1C76 0E 3735 .db #0x0E ; 14
  3736. 1C77 02 3736 .db #0x02 ; 2
  3737. 1C78 02 3737 .db #0x02 ; 2
  3738. 1C79 0E 3738 .db #0x0E ; 14
  3739. 1C7A 02 3739 .db #0x02 ; 2
  3740. 1C7B 02 3740 .db #0x02 ; 2
  3741. 1C7C 0E 3741 .db #0x0E ; 14
  3742. 1C7D 02 3742 .db #0x02 ; 2
  3743. 1C7E 02 3743 .db #0x02 ; 2
  3744. 1C7F FE 3744 .db #0xFE ; 254
  3745. 1C80 02 3745 .db #0x02 ; 2
  3746. 1C81 02 3746 .db #0x02 ; 2
  3747. 1C82 0E 3747 .db #0x0E ; 14
  3748. 1C83 02 3748 .db #0x02 ; 2
  3749. 1C84 02 3749 .db #0x02 ; 2
  3750. 1C85 0E 3750 .db #0x0E ; 14
  3751. 1C86 02 3751 .db #0x02 ; 2
  3752. 1C87 02 3752 .db #0x02 ; 2
  3753. 1C88 0E 3753 .db #0x0E ; 14
  3754. 1C89 02 3754 .db #0x02 ; 2
  3755. 1C8A 02 3755 .db #0x02 ; 2
  3756. 1C8B 0E 3756 .db #0x0E ; 14
  3757. 1C8C 02 3757 .db #0x02 ; 2
  3758. 1C8D 02 3758 .db #0x02 ; 2
  3759. 1C8E FE 3759 .db #0xFE ; 254
  3760. 1C8F 02 3760 .db #0x02 ; 2
  3761. 1C90 02 3761 .db #0x02 ; 2
  3762. 1C91 0E 3762 .db #0x0E ; 14
  3763. 1C92 02 3763 .db #0x02 ; 2
  3764. 1C93 02 3764 .db #0x02 ; 2
  3765. 1C94 0E 3765 .db #0x0E ; 14
  3766. 1C95 02 3766 .db #0x02 ; 2
  3767. 1C96 02 3767 .db #0x02 ; 2
  3768. 1C97 0E 3768 .db #0x0E ; 14
  3769. 1C98 02 3769 .db #0x02 ; 2
  3770. 1C99 02 3770 .db #0x02 ; 2
  3771. 1C9A 0E 3771 .db #0x0E ; 14
  3772. 1C9B 02 3772 .db #0x02 ; 2
  3773. 1C9C 02 3773 .db #0x02 ; 2
  3774. 1C9D FE 3774 .db #0xFE ; 254
  3775. 1C9E 02 3775 .db #0x02 ; 2
  3776. 1C9F 02 3776 .db #0x02 ; 2
  3777. 1CA0 0E 3777 .db #0x0E ; 14
  3778. 1CA1 02 3778 .db #0x02 ; 2
  3779. 1CA2 02 3779 .db #0x02 ; 2
  3780. 1CA3 0E 3780 .db #0x0E ; 14
  3781. 1CA4 02 3781 .db #0x02 ; 2
  3782. 1CA5 02 3782 .db #0x02 ; 2
  3783. 1CA6 0E 3783 .db #0x0E ; 14
  3784. 1CA7 02 3784 .db #0x02 ; 2
  3785. 1CA8 02 3785 .db #0x02 ; 2
  3786. 1CA9 0E 3786 .db #0x0E ; 14
  3787. 1CAA 02 3787 .db #0x02 ; 2
  3788. 1CAB 02 3788 .db #0x02 ; 2
  3789. 1CAC FE 3789 .db #0xFE ; 254
  3790. 1CAD 02 3790 .db #0x02 ; 2
  3791. 1CAE 02 3791 .db #0x02 ; 2
  3792. 1CAF 0E 3792 .db #0x0E ; 14
  3793. 1CB0 02 3793 .db #0x02 ; 2
  3794. 1CB1 02 3794 .db #0x02 ; 2
  3795. 1CB2 0E 3795 .db #0x0E ; 14
  3796. 1CB3 02 3796 .db #0x02 ; 2
  3797. 1CB4 02 3797 .db #0x02 ; 2
  3798. 1CB5 0E 3798 .db #0x0E ; 14
  3799. 1CB6 02 3799 .db #0x02 ; 2
  3800. 1CB7 02 3800 .db #0x02 ; 2
  3801. 1CB8 0E 3801 .db #0x0E ; 14
  3802. 1CB9 02 3802 .db #0x02 ; 2
  3803. 1CBA 02 3803 .db #0x02 ; 2
  3804. 1CBB FE 3804 .db #0xFE ; 254
  3805. 1CBC 02 3805 .db #0x02 ; 2
  3806. 1CBD 02 3806 .db #0x02 ; 2
  3807. 1CBE 0E 3807 .db #0x0E ; 14
  3808. 1CBF 02 3808 .db #0x02 ; 2
  3809. 1CC0 02 3809 .db #0x02 ; 2
  3810. 1CC1 0E 3810 .db #0x0E ; 14
  3811. 1CC2 02 3811 .db #0x02 ; 2
  3812. 1CC3 02 3812 .db #0x02 ; 2
  3813. 1CC4 0E 3813 .db #0x0E ; 14
  3814. 1CC5 02 3814 .db #0x02 ; 2
  3815. 1CC6 02 3815 .db #0x02 ; 2
  3816. 1CC7 0E 3816 .db #0x0E ; 14
  3817. 1CC8 02 3817 .db #0x02 ; 2
  3818. 1CC9 02 3818 .db #0x02 ; 2
  3819. 1CCA FE 3819 .db #0xFE ; 254
  3820. 1CCB 02 3820 .db #0x02 ; 2
  3821. 1CCC 02 3821 .db #0x02 ; 2
  3822. 1CCD 0E 3822 .db #0x0E ; 14
  3823. 1CCE 02 3823 .db #0x02 ; 2
  3824. 1CCF 02 3824 .db #0x02 ; 2
  3825. 1CD0 0E 3825 .db #0x0E ; 14
  3826. 1CD1 02 3826 .db #0x02 ; 2
  3827. 1CD2 02 3827 .db #0x02 ; 2
  3828. 1CD3 0E 3828 .db #0x0E ; 14
  3829. 1CD4 02 3829 .db #0x02 ; 2
  3830. 1CD5 02 3830 .db #0x02 ; 2
  3831. 1CD6 0E 3831 .db #0x0E ; 14
  3832. 1CD7 02 3832 .db #0x02 ; 2
  3833. 1CD8 02 3833 .db #0x02 ; 2
  3834. 1CD9 FE 3834 .db #0xFE ; 254
  3835. 1CDA 02 3835 .db #0x02 ; 2
  3836. 1CDB 02 3836 .db #0x02 ; 2
  3837. 1CDC 0E 3837 .db #0x0E ; 14
  3838. 1CDD 02 3838 .db #0x02 ; 2
  3839. 1CDE 02 3839 .db #0x02 ; 2
  3840. 1CDF 3840 __str_0:
  3841. 1CDF 25 64 3841 .ascii "%d"
  3842. 1CE1 00 3842 .db 0x00
  3843. 1CE2 3843 __str_1:
  3844. 1CE2 25 64 20 20 25 64 3844 .ascii "%d %d %d %d"
  3845. 20 20 25 64 20 20
  3846. 25 64
  3847. 1CF0 00 3845 .db 0x00
  3848. 3846 .area XINIT (CODE)
  3849. 3847 .area CABS (ABS,CODE)
RAW Paste Data