📄 calc.lst
字号:
A51 MACRO ASSEMBLER CALC 07/06/2008 15:53:36 PAGE 1
MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN calc.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE calc.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ; .\calc.SRC generated from: calc.c
2 ; COMPILER INVOKED BY:
3 ; C:\Keil\C51\BIN\C51.EXE calc.c BROWSE DEBUG OBJECTEXTEND SRC(.\calc.SRC)
4
5 $nomod51
6
7 NAME CALC
8
0080 9 P0 DATA 080H
0090 10 P1 DATA 090H
00A0 11 P2 DATA 0A0H
00B0 12 P3 DATA 0B0H
00B4 13 T0 BIT 0B0H.4
00D6 14 AC BIT 0D0H.6
00B5 15 T1 BIT 0B0H.5
00AF 16 EA BIT 0A8H.7
00A8 17 IE DATA 0A8H
00B7 18 RD BIT 0B0H.7
00AC 19 ES BIT 0A8H.4
00B8 20 IP DATA 0B8H
0098 21 RI BIT 098H.0
00B2 22 INT0 BIT 0B0H.2
00D7 23 CY BIT 0D0H.7
0099 24 TI BIT 098H.1
00B3 25 INT1 BIT 0B0H.3
00BC 26 PS BIT 0B8H.4
0081 27 SP DATA 081H
00D2 28 OV BIT 0D0H.2
00B6 29 WR BIT 0B0H.6
0099 30 SBUF DATA 099H
0087 31 PCON DATA 087H
0098 32 SCON DATA 098H
0089 33 TMOD DATA 089H
0088 34 TCON DATA 088H
0089 35 IE0 BIT 088H.1
008B 36 IE1 BIT 088H.3
00F0 37 B DATA 0F0H
00E0 38 ACC DATA 0E0H
00A9 39 ET0 BIT 0A8H.1
00AB 40 ET1 BIT 0A8H.3
008D 41 TF0 BIT 088H.5
008F 42 TF1 BIT 088H.7
009A 43 RB8 BIT 098H.2
008C 44 TH0 DATA 08CH
00A8 45 EX0 BIT 0A8H.0
0088 46 IT0 BIT 088H.0
008D 47 TH1 DATA 08DH
009B 48 TB8 BIT 098H.3
00AA 49 EX1 BIT 0A8H.2
008A 50 IT1 BIT 088H.2
00D0 51 P BIT 0D0H.0
009F 52 SM0 BIT 098H.7
008A 53 TL0 DATA 08AH
009E 54 SM1 BIT 098H.6
008B 55 TL1 DATA 08BH
009D 56 SM2 BIT 098H.5
00B9 57 PT0 BIT 0B8H.1
00BB 58 PT1 BIT 0B8H.3
A51 MACRO ASSEMBLER CALC 07/06/2008 15:53:36 PAGE 2
00D3 59 RS0 BIT 0D0H.3
008C 60 TR0 BIT 088H.4
00D4 61 RS1 BIT 0D0H.4
008E 62 TR1 BIT 088H.6
00B8 63 PX0 BIT 0B8H.0
00BA 64 PX1 BIT 0B8H.2
0083 65 DPH DATA 083H
0082 66 DPL DATA 082H
009C 67 REN BIT 098H.4
00B0 68 RXD BIT 0B0H.0
00B1 69 TXD BIT 0B0H.1
00D5 70 F0 BIT 0D0H.5
00D0 71 PSW DATA 0D0H
72 ?PR?_calc?CALC SEGMENT CODE
73 ?DT?_calc?CALC SEGMENT DATA OVERLAYABLE
74 EXTRN CODE (?C?LMUL)
75 EXTRN CODE (?C?ULDIV)
76 EXTRN CODE (?C?IMUL)
77 PUBLIC _calc
78
---- 79 RSEG ?DT?_calc?CALC
0000 80 ?_calc?BYTE:
0000 81 pll?040: DS 4
0004 82 ORG 4
0004 83 fg?041: DS 4
0008 84 fx?043: DS 5
85 ; //C语言被调用部分
86 ; #pragma SMALL
87 ; #include <reg51.H>
88 ;
89 ; unsigned int calc(unsigned long pll)
90
---- 91 RSEG ?PR?_calc?CALC
0000 92 _calc:
93 USING 0
94 ; SOURCE LINE # 6
0000 8F00 F 95 MOV pll?040+03H,R7
0002 8E00 F 96 MOV pll?040+02H,R6
0004 8D00 F 97 MOV pll?040+01H,R5
0006 8C00 F 98 MOV pll?040,R4
99 ; {
100 ; SOURCE LINE # 7
101 ;
102 ; unsigned long fg;
103 ; unsigned int fr;
104 ; unsigned char fx[5];
105 ;
106 ;
107 ; fg=pll*8192+225000;
108 ; SOURCE LINE # 14
0008 E4 109 CLR A
0009 FF 110 MOV R7,A
000A 7E20 111 MOV R6,#020H
000C FD 112 MOV R5,A
000D FC 113 MOV R4,A
000E AB00 F 114 MOV R3,pll?040+03H
0010 AA00 F 115 MOV R2,pll?040+02H
0012 A900 F 116 MOV R1,pll?040+01H
0014 A800 F 117 MOV R0,pll?040
0016 120000 F 118 LCALL ?C?LMUL
0019 EF 119 MOV A,R7
001A 24E8 120 ADD A,#0E8H
001C F500 F 121 MOV fg?041+03H,A
001E EE 122 MOV A,R6
001F 346E 123 ADDC A,#06EH
0021 F500 F 124 MOV fg?041+02H,A
A51 MACRO ASSEMBLER CALC 07/06/2008 15:53:36 PAGE 3
0023 ED 125 MOV A,R5
0024 3403 126 ADDC A,#03H
0026 F500 F 127 MOV fg?041+01H,A
0028 E4 128 CLR A
0029 3C 129 ADDC A,R4
002A F500 F 130 MOV fg?041,A
131 ;
132 ; fx[0]=fg/100000000;
133 ; SOURCE LINE # 16
002C 7B00 134 MOV R3,#00H
002E 7AE1 135 MOV R2,#0E1H
0030 79F5 136 MOV R1,#0F5H
0032 7805 137 MOV R0,#05H
0034 AF00 F 138 MOV R7,fg?041+03H
0036 AE00 F 139 MOV R6,fg?041+02H
0038 AD00 F 140 MOV R5,fg?041+01H
003A FC 141 MOV R4,A
003B 120000 F 142 LCALL ?C?ULDIV
003E 8F00 F 143 MOV fx?043,R7
144 ; fx[1]=(fg%100000000)/10000000;
145 ; SOURCE LINE # 17
0040 7B00 146 MOV R3,#00H
0042 7AE1 147 MOV R2,#0E1H
0044 79F5 148 MOV R1,#0F5H
0046 7805 149 MOV R0,#05H
0048 AF00 F 150 MOV R7,fg?041+03H
004A AE00 F 151 MOV R6,fg?041+02H
004C AD00 F 152 MOV R5,fg?041+01H
004E AC00 F 153 MOV R4,fg?041
0050 120000 F 154 LCALL ?C?ULDIV
0053 AC00 155 MOV R4,AR0
0055 AD01 156 MOV R5,AR1
0057 AE02 157 MOV R6,AR2
0059 AF03 158 MOV R7,AR3
005B 7B80 159 MOV R3,#080H
005D 7A96 160 MOV R2,#096H
005F 7998 161 MOV R1,#098H
0061 7800 162 MOV R0,#00H
0063 120000 F 163 LCALL ?C?ULDIV
0066 8F00 F 164 MOV fx?043+01H,R7
165 ; fx[2]=(fg%10000000)/1000000;
166 ; SOURCE LINE # 18
0068 7B80 167 MOV R3,#080H
006A 7A96 168 MOV R2,#096H
006C 7998 169 MOV R1,#098H
006E 7800 170 MOV R0,#00H
0070 AF00 F 171 MOV R7,fg?041+03H
0072 AE00 F 172 MOV R6,fg?041+02H
0074 AD00 F 173 MOV R5,fg?041+01H
0076 AC00 F 174 MOV R4,fg?041
0078 120000 F 175 LCALL ?C?ULDIV
007B AC00 176 MOV R4,AR0
007D AD01 177 MOV R5,AR1
007F AE02 178 MOV R6,AR2
0081 AF03 179 MOV R7,AR3
0083 7B40 180 MOV R3,#040H
0085 7A42 181 MOV R2,#042H
0087 790F 182 MOV R1,#0FH
0089 7800 183 MOV R0,#00H
008B 120000 F 184 LCALL ?C?ULDIV
008E 8F00 F 185 MOV fx?043+02H,R7
186 ; fx[3]=(fg%1000000)/100000;
187 ; SOURCE LINE # 19
0090 7B40 188 MOV R3,#040H
0092 7A42 189 MOV R2,#042H
0094 790F 190 MOV R1,#0FH
A51 MACRO ASSEMBLER CALC 07/06/2008 15:53:36 PAGE 4
0096 7800 191 MOV R0,#00H
0098 AF00 F 192 MOV R7,fg?041+03H
009A AE00 F 193 MOV R6,fg?041+02H
009C AD00 F 194 MOV R5,fg?041+01H
009E AC00 F 195 MOV R4,fg?041
00A0 120000 F 196 LCALL ?C?ULDIV
00A3 AC00 197 MOV R4,AR0
00A5 AD01 198 MOV R5,AR1
00A7 AE02 199 MOV R6,AR2
00A9 AF03 200 MOV R7,AR3
00AB 7BA0 201 MOV R3,#0A0H
00AD 7A86 202 MOV R2,#086H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -