📄 bottem.lst
字号:
C51 COMPILER V7.50 BOTTEM 12/02/2007 23:53:05 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE BOTTEM
OBJECT MODULE PLACED IN bottem.OBJ
COMPILER INVOKED BY: F:\Keil\C51\BIN\C51.EXE bottem.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*
2 ****************************************************************************************************
3 * 沈阳市万柳塘路56号
4 * (c)著作权2005,世信汇诚电子版权所有
5 * 世信汇诚电子的源代码是不公开, 属于世信汇诚电子的企业机密文件, 任何未经允许使用
6 * 或发表的行为都是违法行,任何个人或组织尝试或者参与修改源代码的行为,都应尽早得到世信
7 * 汇诚电子设计组的同意.
8 *
9 * 版本号:1.0
10 * 作 者:linan4526
11 * 日 期:2005-05-08
12 *---------------------------------------------------------------------------------------------------
13 * 描 述:SXHC-I型MCU51实验
14 ****************************************************************************************************
15 */
16 #pragma REGPARMS CD DB SB OE OT(5)
17 #include <all.h>
18
19 /************************************************************************
20 函数功能: 初始化数据缓冲区
21 入口参数: bLen: 长度
22 *bpData:数据缓冲区首地址
23 bValue: 初始化值
24 出口参数: 无
25 ************************************************************************/
26 void Init_Array_Func(byte bLen,byte *bpData,byte bValue)
27 {
28 1 for (; bLen!=0; bLen--)
29 1 {
30 2 *bpData=bValue;
31 2 bpData++;
32 2 }
33 1 }
34 /************************************************************************
35 函数功能: 二进制数转换为十进制数
36 入口参数: dwBin: 二进制数(无符号长整型)
37 *bpBcd: 转换后的十进制数首址
38 出口参数: 转换的十进制数的个数
39 ************************************************************************/
40 byte Bin_Bcd_Func(dword dwBin,byte *bpBcd)
41 {
42 1 byte bpTemp[10],bI,bJ;
43 1 dword dwTemp;
44 1
45 1 if(!dwBin)
46 1 {
47 2 bpBcd[0] = 0;
48 2 return 1;
49 2 }
50 1 dwTemp = dwBin;
51 1 bI = 0;
52 1 while(1)
53 1 {
54 2 if(!dwTemp)
55 2 break;
C51 COMPILER V7.50 BOTTEM 12/02/2007 23:53:05 PAGE 2
56 2 bJ = dwTemp % 10;
57 2 dwTemp /= 10;
58 2 bpTemp[bI] = bJ;
59 2 bI++;
60 2 }
61 1 for(bJ = 0; bJ < bI; bJ++)
62 1 bpBcd[bJ] = bpTemp[bI-bJ-1];
63 1 return bI;
64 1 }
65 /************************************************************************
66 函数功能: 将数组数据右移若干位
67 入口参数: *bpData: 数据流首址
68 bSteps: 右移位数
69 bLen: 移动前数据流长度
70 bFill: 补入的数据值
71 出口参数: 移动后数据流长度
72 ************************************************************************/
73 byte Right_Move(byte *bpData,byte bSteps,byte bLen,byte bFill)
74 {
75 1 byte bI;
76 1
77 1 for(bI = bLen; bI > 0; bI--)
78 1 bpData[bI + bSteps - 1] = bpData[bI - 1];
79 1 for(bI = 0; bI < bSteps; bI++)
80 1 bpData[bI] = bFill;
81 1 return (bSteps + bLen);
82 1 }
C51 COMPILER V7.50 BOTTEM 12/02/2007 23:53:05 PAGE 3
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION _Init_Array_Func (BEGIN)
; SOURCE LINE # 26
;---- Variable 'bLen' assigned to Register 'R7' ----
;---- Variable 'bpData' assigned to Register 'R1/R2/R3' ----
; SOURCE LINE # 27
; SOURCE LINE # 28
0000 ?C0001:
0000 EF MOV A,R7
0001 600F JZ ?C0004
; SOURCE LINE # 29
; SOURCE LINE # 30
0003 E500 R MOV A,bValue
0005 120000 E LCALL ?C?CSTPTR
; SOURCE LINE # 31
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 # 32
000F 1F DEC R7
0010 80EE SJMP ?C0001
; SOURCE LINE # 33
0012 ?C0004:
0012 22 RET
; FUNCTION _Init_Array_Func (END)
; FUNCTION _Bin_Bcd_Func (BEGIN)
; SOURCE LINE # 40
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 # 41
; SOURCE LINE # 45
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 # 46
; SOURCE LINE # 47
0014 120000 E LCALL ?C?CSTPTR
; SOURCE LINE # 48
0017 7F01 MOV R7,#01H
0019 22 RET
; SOURCE LINE # 49
001A ?C0005:
; SOURCE LINE # 50
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 # 51
0026 E4 CLR A
C51 COMPILER V7.50 BOTTEM 12/02/2007 23:53:05 PAGE 4
0027 F500 R MOV bI,A
0029 ?C0007:
; SOURCE LINE # 52
; SOURCE LINE # 53
; SOURCE LINE # 54
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 # 55
0037 ?C0009:
; SOURCE LINE # 56
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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -