📄 bottem.lst
字号:
C51 COMPILER V7.00 BOTTEM 05/08/2005 14:40:37 PAGE 1
C51 COMPILER V7.00, COMPILATION OF MODULE BOTTEM
OBJECT MODULE PLACED IN bottem.OBJ
COMPILER INVOKED BY: D:\Program Files\keil\C51\BIN\C51.EXE bottem.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #pragma REGPARMS CD DB SB OE OT(5)
2 #include <all.h>
3
4 /************************************************************************
5 函数功能: 初始化数据缓冲区
6 入口参数: bLen: 长度
7 *bpData:数据缓冲区首地址
8 bValue: 初始化值
9 出口参数: 无
10 ************************************************************************/
11 void Init_Array_Func(byte bLen,byte *bpData,byte bValue)
12 {
13 1 for (; bLen!=0; bLen--)
14 1 {
15 2 *bpData=bValue;
16 2 bpData++;
17 2 }
18 1 }
19 /************************************************************************
20 函数功能: 二进制数转换为十进制数
21 入口参数: dwBin: 二进制数(无符号长整型)
22 *bpBcd: 转换后的十进制数首址
23 出口参数: 转换的十进制数的个数
24 ************************************************************************/
25 byte Bin_Bcd_Func(dword dwBin,byte *bpBcd)
26 {
27 1 byte bpTemp[10],bI,bJ;
28 1 dword dwTemp;
29 1
30 1 if(!dwBin)
31 1 {
32 2 bpBcd[0] = 0;
33 2 return 1;
34 2 }
35 1 dwTemp = dwBin;
36 1 bI = 0;
37 1 while(1)
38 1 {
39 2 if(!dwTemp)
40 2 break;
41 2 bJ = dwTemp % 10;
42 2 dwTemp /= 10;
43 2 bpTemp[bI] = bJ;
44 2 bI++;
45 2 }
46 1 for(bJ = 0; bJ < bI; bJ++)
47 1 bpBcd[bJ] = bpTemp[bI-bJ-1];
48 1 return bI;
49 1 }
50 /************************************************************************
51 函数功能: 将数组数据右移若干位
52 入口参数: *bpData: 数据流首址
53 bSteps: 右移位数
54 bLen: 移动前数据流长度
55 bFill: 补入的数据值
C51 COMPILER V7.00 BOTTEM 05/08/2005 14:40:37 PAGE 2
56 出口参数: 移动后数据流长度
57 ************************************************************************/
58 byte Right_Move(byte *bpData,byte bSteps,byte bLen,byte bFill)
59 {
60 1 byte bI;
61 1
62 1 for(bI = bLen; bI > 0; bI--)
63 1 bpData[bI + bSteps - 1] = bpData[bI - 1];
64 1 for(bI = 0; bI < bSteps; bI++)
65 1 bpData[bI] = bFill;
66 1 return (bSteps + bLen);
67 1 }
C51 COMPILER V7.00 BOTTEM 05/08/2005 14:40:37 PAGE 3
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION _Init_Array_Func (BEGIN)
; SOURCE LINE # 11
;---- Variable 'bLen' assigned to Register 'R7' ----
;---- Variable 'bpData' assigned to Register 'R1/R2/R3' ----
; SOURCE LINE # 12
; SOURCE LINE # 13
0000 ?C0001:
0000 EF MOV A,R7
0001 600F JZ ?C0004
; SOURCE LINE # 14
; SOURCE LINE # 15
0003 E500 R MOV A,bValue
0005 120000 E LCALL ?C?CSTPTR
; SOURCE LINE # 16
0008 7401 MOV A,#01H
000A 29 ADD A,R1
000B F9 MOV R1,A
000C E4 CLR A
000D 3A ADDC A,R2
000E FA MOV R2,A
; SOURCE LINE # 17
000F 1F DEC R7
0010 80EE SJMP ?C0001
; SOURCE LINE # 18
0012 ?C0004:
0012 22 RET
; FUNCTION _Init_Array_Func (END)
; FUNCTION _Bin_Bcd_Func (BEGIN)
; SOURCE LINE # 25
0000 8F00 R MOV dwBin+03H,R7
0002 8E00 R MOV dwBin+02H,R6
0004 8D00 R MOV dwBin+01H,R5
0006 8C00 R MOV dwBin,R4
0008 8B00 R MOV bpBcd,R3
000A 8A00 R MOV bpBcd+01H,R2
000C 8900 R MOV bpBcd+02H,R1
; SOURCE LINE # 26
; SOURCE LINE # 30
000E EC MOV A,R4
000F 4D ORL A,R5
0010 4E ORL A,R6
0011 4F ORL A,R7
0012 7006 JNZ ?C0005
; SOURCE LINE # 31
; SOURCE LINE # 32
0014 120000 E LCALL ?C?CSTPTR
; SOURCE LINE # 33
0017 7F01 MOV R7,#01H
0019 22 RET
; SOURCE LINE # 34
001A ?C0005:
; SOURCE LINE # 35
001A 850000 R MOV dwTemp+03H,dwBin+03H
001D 850000 R MOV dwTemp+02H,dwBin+02H
0020 850000 R MOV dwTemp+01H,dwBin+01H
0023 850000 R MOV dwTemp,dwBin
; SOURCE LINE # 36
0026 E4 CLR A
C51 COMPILER V7.00 BOTTEM 05/08/2005 14:40:37 PAGE 4
0027 F500 R MOV bI,A
0029 ?C0007:
; SOURCE LINE # 37
; SOURCE LINE # 38
; SOURCE LINE # 39
0029 AF00 R MOV R7,dwTemp+03H
002B AE00 R MOV R6,dwTemp+02H
002D AD00 R MOV R5,dwTemp+01H
002F AC00 R MOV R4,dwTemp
0031 EC MOV A,R4
0032 4D ORL A,R5
0033 4E ORL A,R6
0034 4F ORL A,R7
0035 6039 JZ ?C0008
; SOURCE LINE # 40
0037 ?C0009:
; SOURCE LINE # 41
0037 E4 CLR A
0038 7B0A MOV R3,#0AH
003A FA MOV R2,A
003B F9 MOV R1,A
003C F8 MOV R0,A
003D AF00 R MOV R7,dwTemp+03H
003F AE00 R MOV R6,dwTemp+02H
0041 AD00 R MOV R5,dwTemp+01H
0043 AC00 R MOV R4,dwTemp
0045 120000 E LCALL ?C?ULDIV
0048 AF03 MOV R7,AR3
004A 8F00 R MOV bJ,R7
; SOURCE LINE # 42
004C AF00 R MOV R7,dwTemp+03H
004E AE00 R MOV R6,dwTemp+02H
0050 AD00 R MOV R5,dwTemp+01H
0052 AC00 R MOV R4,dwTemp
0054 E4 CLR A
0055 7B0A MOV R3,#0AH
0057 FA MOV R2,A
0058 F9 MOV R1,A
0059 F8 MOV R0,A
005A 120000 E LCALL ?C?ULDIV
005D 8F00 R MOV dwTemp+03H,R7
005F 8E00 R MOV dwTemp+02H,R6
0061 8D00 R MOV dwTemp+01H,R5
0063 8C00 R MOV dwTemp,R4
; SOURCE LINE # 43
0065 7400 R MOV A,#LOW bpTemp
0067 2500 R ADD A,bI
0069 F8 MOV R0,A
006A A600 R MOV @R0,bJ
; SOURCE LINE # 44
006C 0500 R INC bI
; SOURCE LINE # 45
006E 80B9 SJMP ?C0007
0070 ?C0008:
; SOURCE LINE # 46
0070 E4 CLR A
0071 F500 R MOV bJ,A
0073 ?C0010:
0073 E500 R MOV A,bJ
0075 C3 CLR C
0076 9500 R SUBB A,bI
0078 501C JNC ?C0011
C51 COMPILER V7.00 BOTTEM 05/08/2005 14:40:37 PAGE 5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -