📄 pyzc4.lst
字号:
0275 B10F00 E ldb wsr,#0FH
0278 B00000 E ldb tmpreg,ioc1
027B 914000 R orb tmpreg,#4
027E 1101 R clrb tmpreg+1
0280 1100 E clrb wsr
0282 B00000 E ldb ioc1,tmpreg
337 1 _ClrSFR_bit (ioc2, CAM_LOCK_BIT);
0285 B10F00 E ldb wsr,#0FH
0288 AC0000 E ldbze tmpreg,ioc2
028B 61BFFF00 R and tmpreg,#0FFBFH
028F 1100 E clrb wsr
0291 B00000 E ldb ioc2,tmpreg
338 1 _ClrSFR_bit (ioc2, CLEAR_CAM_BIT);
0294 B10F00 E ldb wsr,#0FH
0297 AC0000 E ldbze tmpreg,ioc2
029A 617FFF00 R and tmpreg,#0FF7FH
029E 1100 E clrb wsr
02A0 B00000 E ldb ioc2,tmpreg
339 1
34 1 /*
341 1 * Interrupts:
342 1 * HSO interrupt = disabled
343 1 * software timer int = disabled
344 1 */
345 1
346 1 _ClrSFR_bit (int_mask, HSO_INT);
02A3 2000 br @0041
02A5 @0041:
02A5 AC0000 E ldbze tmpreg,int_mask
02A8 61F7FF00 R and tmpreg,#0FFF7H
02AC 2000 br @0042
02AE @0042:
02AE B00000 E ldb int_mask,tmpreg
347 1 _ClrSFR_bit (int_mask, SW_TIMER_INT);
02B1 2000 br @0043
02B3 @0043:
02B3 AC0000 E ldbze tmpreg,int_mask
02B6 61DFFF00 R and tmpreg,#0FFDFH
02BA 2000 br @0044
02BC @0044:
C196 Compiler pyzc4 15-Dec-106 17:34:24 Page 14
Assembly Listing of Object Code
02BC B00000 E ldb int_mask,tmpreg
348 1 }
02BF F0 ret
; Function Statistics for: init_hso1_5
; Code Size : 91 Parameter Count:
; Stack Size: Parameter Size :
; OReg Size : Stack Depth :
349
35 void init_atod_converter(void)
351 {
02C0 init_atod_converter:
352 1 /*
353 1 * A/D conversion configuration:
354 1 * speed = normal
355 1 * interrupt = disabled
356 1 * channel = 0
357 1 * start time = started immediately
358 1 * mode = 10-bit
359 1 */
36 1
361 1 _ClrSFR_bit (ioc2, AD_SPEED);
02C0 B10F00 E ldb wsr,#0FH
02C3 AC0000 E ldbze tmpreg,ioc2
02C6 61EFFF00 R and tmpreg,#0FFEFH
02CA 1100 E clrb wsr
02CC B00000 E ldb ioc2,tmpreg
362 1 _ClrSFR_bit (int_mask, AD_INT);
02CF 2000 br @0048
02D1 @0048:
02D1 AC0000 E ldbze tmpreg,int_mask
02D4 61FDFF00 R and tmpreg,#0FFFDH
02D8 2000 br @0049
02DA @0049:
02DA B00000 E ldb int_mask,tmpreg
363 1 _WriteSFR (ad_command, 0x8);
02DD 1100 E clrb wsr
02DF B10800 E ldb ad_command,#8
364 1 }
02E2 F0 ret
; Function Statistics for: init_atod_converter
; Code Size : 35 Parameter Count:
; Stack Size: Parameter Size :
; OReg Size : Stack Depth :
365 /* convert_atod performs an atod conversion and. This routine
366 waits until the atod busy bit is cleared before and after the
367 conversion. Interrupts should be disabled and the ATOD
368 should be initialized prior to calling this routine. */
369
37 unsigned int convert_atod(unsigned char channel)
371 {
02E3 convert_atod:
02E3 C800 R push ?OVRBASE
C196 Compiler pyzc4 15-Dec-106 17:34:24 Page 15
Assembly Listing of Object Code
02E5 B3180400 R ldb channel,4[SP]
372 1 wsr = 0;
02E9 1100 E clrb wsr
02EB 2000 br @004D
02ED @004C:
373 1 while(ATOD_BUSY);
02ED @004D:
02ED 410800001C E and Tmp0,ad_result,#8
02F2 881C00 cmp R0,Tmp0
02F5 D7F6 bne @004C
374 1 ad_command = channel | GO_NOW | TEN_BIT_MODE;
02F7 B0001C R ldb Tmp0,channel
02FA 91081C orb Tmp0,#8
02FD B01C00 E ldb ad_command,Tmp0
375 1 zero_reg=zero_reg+zero_reg; /* needed for 4 state delay */
0300 640000 E add r0,r0
376 1 zero_reg=zero_reg+zero_reg; /* needed for 4 state delay */
0303 640000 E add r0,r0
0306 2000 br @005
0308 @004F:
377 1 while(ATOD_BUSY);
0308 @005:
0308 410800001C E and Tmp0,ad_result,#8
030D 881C00 cmp R0,Tmp0
0310 D7F6 bne @004F
378 1 return((ad_result >> 6));
0312 A0001C E ld Tmp0,ad_result
0315 08061C shr Tmp0,#6
0318 2000 br @004B
379 1 }
031A @004B:
031A CC00 R pop ?OVRBASE
031C F0 ret
; Function Statistics for: convert_atod
; Code Size : 58 Parameter Count: 1
; Stack Size: Parameter Size : 2
; OReg Size : 1 Stack Depth : 2
38
381 void init_hsi0(void)
382 {
031D init_hsi0:
383 1 /*
384 1 * HSI 0 module configuration:
385 1 * input capture mode = each positive transition
386 1 * hsi 0 external pin = enabled
387 1 */
388 1 _ClrSFR_bit (hsi_mode, 1);
031D B10F00 E ldb wsr,#0FH
0320 AC0000 E ldbze tmpreg,hsi_mode
0323 61FDFF00 R and tmpreg,#0FFFDH
0327 1100 E clrb wsr
0329 B00000 E ldb hsi_mode,tmpreg
389 1 _SetSFR_bit (hsi_mode, 0);
032C B10F00 E ldb wsr,#0FH
C196 Compiler pyzc4 15-Dec-106 17:34:24 Page 16
Assembly Listing of Object Code
032F B00000 E ldb tmpreg,hsi_mode
0332 910100 R orb tmpreg,#1
0335 1101 R clrb tmpreg+1
0337 1100 E clrb wsr
0339 B00000 E ldb hsi_mode,tmpreg
39 1
391 1 _SetSFR_bit (ioc0, HSI0_PIN_ENABLE);
033C B10F00 E ldb wsr,#0FH
033F B00000 E ldb tmpreg,ioc0
0342 910100 R orb tmpreg,#1
0345 1101 R clrb tmpreg+1
0347 1100 E clrb wsr
0349 B00000 E ldb ioc0,tmpreg
392 1
393 1 /*
394 1 * Interrupts
395 1 * sixth fifo int vector = hsi data available
396 1 * hsi 0 pin interrupt = enabled
397 1 * hsi data available int = disabled
398 1 * hsi fifo full int = disabled
399 1 * hsi fifo 4 int = disabled
4 1 */
4 1
4 1 _ClrSFR_bit (ioc1, SELECT_INT_VECTOR);
034C B10F00 E ldb wsr,#0FH
034F AC0000 E ldbze tmpreg,ioc1
0352 617FFF00 R and tmpreg,#0FF7FH
0356 1100 E clrb wsr
0358 B00000 E ldb ioc1,tmpreg
4 1 _ClrSFR_bit (int_mask, 2); /* hsi data available */
035B 2000 br @005B
035D @005B:
035D AC0000 E ldbze tmpreg,int_mask
0360 61FBFF00 R and tmpreg,#0FFFBH
0364 2000 br @005C
0366 @005C:
0366 B00000 E ldb int_mask,tmpreg
4 1 _SetSFR_bit (int_mask, 4); /* hsi0 external interrupt */
0369 2000 br @005D
036B @005D:
036B B00000 E ldb tmpreg,int_mask
036E 911000 R orb tmpreg,#1
0371 1101 R clrb tmpreg+1
0373 2000 br @005E
0375 @005E:
0375 B00000 E ldb int_mask,tmpreg
4 1 _AndSFR (int_mask1, ~(HSI_FIFO_FULL_INTMSK + HSI_FIFO_4_INT));
0378 2000 br @005F
037A @005F:
037A AC0000 E ldbze tmpreg,imask1
037D 61BBFF00 R and tmpreg,#0FFBBH
0381 2000 br @006
0383 @006:
0383 B00000 E ldb imask1,tmpreg
4 1 }
0386 F0 ret
C196 Compiler pyzc4 15-Dec-106 17:34:24 Page 17
Assembly Listing of Object Code
; Function Statistics for: init_hsi0
; Code Size : 1 Parameter Count:
; Stack Size: Parameter Size :
; OReg Size : Stack Depth :
4
4
4
41 /*
411 * external interrupt source = extint pin
412 */
413
414 void init_extint_src(void)
415 {
0387 init_extint_src:
416 1 _ClrSFR_bit (ioc1, EXTINT_SRC);
0387 B10F00 E ldb wsr,#0FH
038A AC0000 E ldbze tmpreg,ioc1
038D 61FDFF00 R and tmpreg,#0FFFDH
0391 1100 E clrb wsr
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -