📄 tools.lst
字号:
C51 COMPILER V3.96, SN-83203013 TOOLS 09/12/05 17:49:31 PAGE 1
DOS C51 COMPILER V3.96, COMPILATION OF MODULE TOOLS
OBJECT MODULE PLACED IN .\OUT\TOOLS.OBJ
COMPILER INVOKED BY: C:\C51\BIN\C51.EXE TOOLS.C-CODE-DEBUG-SMALL-OBJECTEXTEND-OJ(.\OUT\TOOLS.OBJ)
stmt level source
1
2 //***********************************************************************
3 //FILE: tools.c
4 //功能: 基本的串口输入输出工具
5 //***********************************************************************
6
7 #include "main.h"
8 #include "intrins.h"
9
10 /*************************************
11 名称: Putchar
12 功能: 输出一个字节函数
13 *************************************/
14 void Putchar(unsigned char byte)
15 {
16 1 SBUF=byte;
17 1 while(TI==0);
18 1 TI=0;
19 1 }
20
21 /*************************************
22 名称: Puthexbyte
23 功能: 将数据用16进制的格式表示
24 *************************************/
25 void Puthexbyte(unsigned char ch)
26 {
27 1 unsigned char i;
28 1 i=(ch>>4);
29 1 if (i<=9) Putchar(0x30+i);
30 1 else Putchar (0x37+i);
31 1 i=(ch&0x0F);
32 1 if (i<=9) Putchar(0x30+i);
33 1 else Putchar (0x37+i);
34 1 }
35
36 /*************************************
37 名称: prints
38 功能: 打印一串字符,不超过50bytes
39 *************************************/
40
41 void Prints(unsigned char sMessage[26])
42 {
43 1 uchar k=0;
44 1 while(sMessage[k] != 0)
45 1 {
46 2 Putchar(sMessage[k]);
47 2 k++;
48 2 }
49 1 }
50
51 /****************************************************
52 name: delay_1s()
53 function: delay 1s
54 ****************************************************/
55 void delay_1s()
C51 COMPILER V3.96, SN-83203013 TOOLS 09/12/05 17:49:31 PAGE 2
56 {
57 1 uint i,j;
58 1 for(j=0;j<2;j++)
59 1 {
60 2 for(i=0;i<45000;i++)
61 2 {
62 3 _nop_();
63 3 _nop_();
64 3 }
65 2 }
66 1 }
67
C51 COMPILER V3.96, SN-83203013 TOOLS 09/12/05 17:49:31 PAGE 3
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION _Putchar (BEGIN)
;---- Variable 'byte' assigned to Register 'R7' ----
; SOURCE LINE # 14
; SOURCE LINE # 15
; SOURCE LINE # 16
0000 8F99 MOV SBUF,R7
0002 ?C0001:
; SOURCE LINE # 17
0002 3099FD JNB TI,?C0001
0005 ?C0002:
; SOURCE LINE # 18
0005 C299 CLR TI
; SOURCE LINE # 19
0007 22 RET
; FUNCTION _Putchar (END)
; FUNCTION _Puthexbyte (BEGIN)
;---- Variable 'ch' assigned to Register 'R6' ----
0000 AE07 MOV R6,AR7
; SOURCE LINE # 25
; SOURCE LINE # 26
; SOURCE LINE # 28
0002 EE MOV A,R6
0003 C4 SWAP A
0004 540F ANL A,#0FH
;---- Variable 'i' assigned to Register 'R5' ----
0006 FD MOV R5,A
; SOURCE LINE # 29
0007 D3 SETB C
0008 9409 SUBB A,#09H
000A 5009 JNC ?C0004
000C ED MOV A,R5
000D 2430 ADD A,#030H
000F FF MOV R7,A
0010 120000 R LCALL _Putchar
0013 8007 SJMP ?C0005
0015 ?C0004:
; SOURCE LINE # 30
0015 ED MOV A,R5
0016 2437 ADD A,#037H
0018 FF MOV R7,A
0019 120000 R LCALL _Putchar
001C ?C0005:
; SOURCE LINE # 31
001C EE MOV A,R6
001D 540F ANL A,#0FH
001F FD MOV R5,A
; SOURCE LINE # 32
0020 D3 SETB C
0021 9409 SUBB A,#09H
0023 5008 JNC ?C0006
0025 ED MOV A,R5
0026 2430 ADD A,#030H
0028 FF MOV R7,A
0029 120000 R LCALL _Putchar
002C 22 RET
002D ?C0006:
; SOURCE LINE # 33
002D ED MOV A,R5
C51 COMPILER V3.96, SN-83203013 TOOLS 09/12/05 17:49:31 PAGE 4
002E 2437 ADD A,#037H
0030 FF MOV R7,A
0031 120000 R LCALL _Putchar
; SOURCE LINE # 34
0034 ?C0008:
0034 22 RET
; FUNCTION _Puthexbyte (END)
; FUNCTION _Prints (BEGIN)
0000 8B00 R MOV sMessage,R3
0002 8A00 R MOV sMessage+01H,R2
0004 8900 R MOV sMessage+02H,R1
; SOURCE LINE # 41
; SOURCE LINE # 42
; SOURCE LINE # 43
;---- Variable 'k' assigned to Register 'R6' ----
0006 E4 CLR A
0007 FE MOV R6,A
0008 ?C0009:
; SOURCE LINE # 44
0008 AB00 R MOV R3,sMessage
000A AA00 R MOV R2,sMessage+01H
000C A900 R MOV R1,sMessage+02H
000E 8E82 MOV DPL,R6
0010 758300 MOV DPH,#00H
0013 120000 E LCALL ?C_CLDOPTR
0016 FF MOV R7,A
0017 6006 JZ ?C0011
; SOURCE LINE # 45
; SOURCE LINE # 46
0019 120000 R LCALL _Putchar
; SOURCE LINE # 47
001C 0E INC R6
; SOURCE LINE # 48
001D 80E9 SJMP ?C0009
; SOURCE LINE # 49
001F ?C0011:
001F 22 RET
; FUNCTION _Prints (END)
; FUNCTION delay_1s (BEGIN)
; SOURCE LINE # 55
; SOURCE LINE # 56
; SOURCE LINE # 58
0000 E4 CLR A
0001 F500 R MOV j,A
0003 F500 R MOV j+01H,A
0005 ?C0012:
0005 C3 CLR C
0006 E500 R MOV A,j+01H
0008 9402 SUBB A,#02H
000A E500 R MOV A,j
000C 9400 SUBB A,#00H
000E 502D JNC ?C0018
; SOURCE LINE # 59
; SOURCE LINE # 60
;---- Variable 'i' assigned to Register 'R2/R3' ----
0010 E4 CLR A
0011 FB MOV R3,A
0012 FA MOV R2,A
0013 ?C0015:
0013 7FC8 MOV R7,#0C8H
C51 COMPILER V3.96, SN-83203013 TOOLS 09/12/05 17:49:31 PAGE 5
0015 7EAF MOV R6,#0AFH
0017 7D00 MOV R5,#00H
0019 7C00 MOV R4,#00H
001B 120000 E LCALL ?C_LPUSH
001E AE02 MOV R6,AR2
0020 AF03 MOV R7,AR3
0022 E4 CLR A
0023 FC MOV R4,A
0024 FD MOV R5,A
0025 120000 E LCALL ?C_SLCMP
0028 5009 JNC ?C0014
; SOURCE LINE # 61
; SOURCE LINE # 62
002A 00 NOP
; SOURCE LINE # 63
002B 00 NOP
; SOURCE LINE # 64
002C 0B INC R3
002D EB MOV A,R3
002E 7001 JNZ ?C0019
0030 0A INC R2
0031 ?C0019:
0031 80E0 SJMP ?C0015
; SOURCE LINE # 65
0033 ?C0014:
0033 0500 R INC j+01H
0035 E500 R MOV A,j+01H
0037 7002 JNZ ?C0020
0039 0500 R INC j
003B ?C0020:
003B 80C8 SJMP ?C0012
; SOURCE LINE # 66
003D ?C0018:
003D 22 RET
; FUNCTION delay_1s (END)
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 155 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 5
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -