📄 ma.lst
字号:
C51 COMPILER V8.08 MA 09/24/2008 16:07:00 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE MA
OBJECT MODULE PLACED IN ma.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ma.c BROWSE DEBUG OBJECTEXTEND CODE
line level source
1 /**********************************************************************
2 By ZhuTao
3
4 ***********************************************************************/
5 #include "led.c"
6 #define addo (5.0/255.0)
7 #define zero 0.005 //用于校准AD的误差
8 void main()
9 {
10 1 uint cnt=0;
11 1
12 1
13 1 while(1)
14 1 {
15 2 switch(cnt++)
16 2 {
17 3 case 0: decodenum(ad_action(0)*addo+zero,0);break;
18 3 case 70: decodenum(ad_action(1)*addo+zero,1);break;
19 3 case 140: decodenum(ad_action(2)*addo+zero,2);break;
20 3 case 210: decodenum(ad_action(3)*addo+zero,3);break;
21 3 case 280: decodenum(ad_action(4)*addo+zero,4);break;
22 3 case 350: decodenum(ad_action(5)*addo+zero,5);break;
23 3 case 420: decodenum(ad_action(6)*addo+zero,6);break;
24 3 case 490: decodenum(ad_action(7)*addo+zero,7);break;
25 3 case 560:cnt=0;break;
26 3 }
27 2 disp();
28 2 }
29 1 }
C51 COMPILER V8.08 MA 09/24/2008 16:07:00 PAGE 2
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION _delayus (BEGIN)
; SOURCE LINE # 14
;---- Variable 'us' assigned to Register 'R6/R7' ----
; SOURCE LINE # 15
0000 ?C0001:
; SOURCE LINE # 16
0000 EF MOV A,R7
0001 1F DEC R7
0002 AC06 MOV R4,AR6
0004 7001 JNZ ?C0035
0006 1E DEC R6
0007 ?C0035:
0007 4C ORL A,R4
0008 70F6 JNZ ?C0001
; SOURCE LINE # 17
000A ?C0003:
000A 22 RET
; FUNCTION _delayus (END)
; FUNCTION _ad_action (BEGIN)
; SOURCE LINE # 20
;---- Variable 'chn' assigned to Register 'R7' ----
; SOURCE LINE # 21
; SOURCE LINE # 23
0000 907FFF MOV DPTR,#07FFFH
0003 EF MOV A,R7
0004 F0 MOVX @DPTR,A
; SOURCE LINE # 24
0005 7F06 MOV R7,#06H
0007 7E00 MOV R6,#00H
0009 120000 R LCALL _delayus
; SOURCE LINE # 25
000C E0 MOVX A,@DPTR
000D FF MOV R7,A
;---- Variable 'read_data' assigned to Register 'R7' ----
; SOURCE LINE # 26
000E 00 NOP
; SOURCE LINE # 27
000F 00 NOP
; SOURCE LINE # 28
; SOURCE LINE # 29
0010 ?C0004:
0010 22 RET
; FUNCTION _ad_action (END)
; FUNCTION _decodenum (BEGIN)
; SOURCE LINE # 19
0000 8F00 R MOV adv+03H,R7
0002 8E00 R MOV adv+02H,R6
0004 8D00 R MOV adv+01H,R5
0006 8C00 R MOV adv,R4
; SOURCE LINE # 20
; SOURCE LINE # 23
0008 E4 CLR A
0009 FF MOV R7,A
000A FE MOV R6,A
000B 7DC8 MOV R5,#0C8H
000D 7C42 MOV R4,#042H
000F AB00 R MOV R3,adv+03H
C51 COMPILER V8.08 MA 09/24/2008 16:07:00 PAGE 3
0011 AA00 R MOV R2,adv+02H
0013 A900 R MOV R1,adv+01H
0015 A800 R MOV R0,adv
0017 120000 E LCALL ?C?FPMUL
001A 120000 E LCALL ?C?CASTF
;---- Variable 'temp' assigned to Register 'R2/R3' ----
001D AB07 MOV R3,AR7
001F AA06 MOV R2,AR6
; SOURCE LINE # 25
0021 7C00 MOV R4,#00H
0023 7D64 MOV R5,#064H
0025 120000 E LCALL ?C?UIDIV
0028 8F00 R MOV dispdata,R7
; SOURCE LINE # 26
002A 7C00 MOV R4,#00H
002C 7D0A MOV R5,#0AH
002E AF03 MOV R7,AR3
0030 AE02 MOV R6,AR2
0032 120000 E LCALL ?C?UIDIV
0035 7C00 MOV R4,#00H
0037 7D0A MOV R5,#0AH
0039 120000 E LCALL ?C?UIDIV
003C 8D00 R MOV dispdata+01H,R5
; SOURCE LINE # 27
003E AE02 MOV R6,AR2
0040 AF03 MOV R7,AR3
0042 7C00 MOV R4,#00H
0044 7D0A MOV R5,#0AH
0046 120000 E LCALL ?C?UIDIV
0049 8D00 R MOV dispdata+02H,R5
; SOURCE LINE # 28
004B 850000 R MOV dispdata+03H,chn
; SOURCE LINE # 29
004E 22 RET
; FUNCTION _decodenum (END)
; FUNCTION _select (BEGIN)
; SOURCE LINE # 36
;---- Variable 'LED' assigned to Register 'R7' ----
; SOURCE LINE # 37
; SOURCE LINE # 38
0000 EF MOV A,R7
0001 14 DEC A
0002 600D JZ ?C0008
0004 14 DEC A
0005 600D JZ ?C0009
0007 14 DEC A
0008 600D JZ ?C0010
000A 2403 ADD A,#03H
000C 700C JNZ ?C0011
; SOURCE LINE # 39
; SOURCE LINE # 40
000E ?C0007:
000E C2A0 CLR LED1
0010 22 RET
; SOURCE LINE # 41
0011 ?C0008:
0011 C2A1 CLR LED2
0013 22 RET
; SOURCE LINE # 42
0014 ?C0009:
0014 C2A2 CLR LED3
C51 COMPILER V8.08 MA 09/24/2008 16:07:00 PAGE 4
0016 22 RET
; SOURCE LINE # 43
0017 ?C0010:
0017 C2A3 CLR LED4
0019 22 RET
; SOURCE LINE # 44
001A ?C0011:
001A 75A0FF MOV P2,#0FFH
; SOURCE LINE # 45
; SOURCE LINE # 46
001D ?C0012:
001D 22 RET
; FUNCTION _select (END)
; FUNCTION _dispone (BEGIN)
; SOURCE LINE # 48
;---- Variable 'LED' assigned to Register 'R7' ----
; SOURCE LINE # 49
; SOURCE LINE # 53
0000 120000 R LCALL _select
; SOURCE LINE # 54
0003 E500 R MOV A,number
0005 900000 R MOV DPTR,#num
0008 93 MOVC A,@A+DPTR
0009 300006 R JNB ifpoint,?C0013
; SOURCE LINE # 55
000C 4480 ORL A,#080H
000E F580 MOV P0,A
0010 8002 SJMP ?C0014
0012 ?C0013:
; SOURCE LINE # 57
0012 F580 MOV P0,A
0014 ?C0014:
; SOURCE LINE # 60
0014 7FC8 MOV R7,#0C8H
0016 7E00 MOV R6,#00H
0018 120000 R LCALL _delayus
; SOURCE LINE # 61
001B 75A0FF MOV P2,#0FFH
; SOURCE LINE # 63
001E 22 RET
; FUNCTION _dispone (END)
; FUNCTION disp (BEGIN)
; SOURCE LINE # 66
; SOURCE LINE # 67
; SOURCE LINE # 70
;---- Variable 'i' assigned to Register 'R5' ----
0000 E4 CLR A
0001 FD MOV R5,A
0002 ?C0016:
; SOURCE LINE # 71
; SOURCE LINE # 72
0002 ED MOV A,R5
0003 7004 JNZ ?C0019
; SOURCE LINE # 73
0005 D200 R SETB point
0007 8002 SJMP ?C0020
0009 ?C0019:
; SOURCE LINE # 75
0009 C200 R CLR point
000B ?C0020:
C51 COMPILER V8.08 MA 09/24/2008 16:07:00 PAGE 5
; SOURCE LINE # 76
000B AF05 MOV R7,AR5
000D A200 R MOV C,point
000F 9200 R MOV ?_dispone?BIT,C
0011 7400 R MOV A,#LOW dispdata
0013 2D ADD A,R5
0014 F8 MOV R0,A
0015 E6 MOV A,@R0
0016 F500 R MOV ?_dispone?BYTE+01H,A
0018 120000 R LCALL _dispone
; SOURCE LINE # 77
001B 0D INC R5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -