📄 gpr.lst
字号:
C51 COMPILER V6.12 GPR 03/03/2007 18:29:42 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE GPR
OBJECT MODULE PLACED IN .\Gpr.OBJ
COMPILER INVOKED BY: F:\TaryInstalled\KeilV60CHS\C51\BIN\C51.EXE .\Gpr.c ROM(SMALL) DEBUG OBJECTEXTEND CODE LISTINCLUDE
-SYMBOLS
stmt level source
1 #include "Gpr.h"
1 =1 #ifndef __GPR_H__
2 =1 #define __GPR_H__
3 =1
4 =1 void print_hexbyte(unsigned char i);
5 =1 void delay(char d);
6 =1
7 =1 #endif // __GPR_H__
8 =1
2 #include "Kb.h"
1 =1 #ifndef __KB_H__
2 =1 #define __KB_H__
3 =1
4 =1
5 =1 void init_kb(void);
6 =1 void decode(unsigned char sc);
7 =1 void put_kbbuff(unsigned char c);
8 =1 int getchar(void);
9 =1
10 =1
11 =1 #endif // __KB_H__
12 =1
3
4 void print_hexbyte(unsigned char i)
5 {
6 1 unsigned char h, l;
7 1
8 1 h = i & 0xF0; // High nibble
9 1 h = h >> 4;
10 1 h = h + '0';
11 1 if (h > '9')
12 1 h = h + 7;
13 1 l = (i & 0x0F) + '0'; // Low nibble
14 1 if (l > '9')
15 1 l = l + 7;
16 1 //putchar(h);
17 1 //putchar(l);
18 1 put_kbbuff(h);
19 1 put_kbbuff(l);
20 1 }
21
22
23 void delay(char d)
24 {
25 1 char i,j; //, k;
26 1
27 1 for(i=0; i<d; i++)
28 1 for(j=0; j<40; j++)
29 1 ;//for(k=0; k<176; k++);
30 1 }
31
C51 COMPILER V6.12 GPR 03/03/2007 18:29:42 PAGE 2
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION _print_hexbyte (BEGIN)
;---- Variable 'i' assigned to Register 'R6' ----
0000 AE07 MOV R6,AR7
; SOURCE LINE # 4
; SOURCE LINE # 5
; SOURCE LINE # 8
0002 EE MOV A,R6
0003 54F0 ANL A,#0F0H
0005 FF MOV R7,A
;---- Variable 'h' assigned to Register 'R7' ----
; SOURCE LINE # 9
0006 C4 SWAP A
0007 540F ANL A,#0FH
0009 FF MOV R7,A
; SOURCE LINE # 10
000A 2430 ADD A,#030H
000C FF MOV R7,A
; SOURCE LINE # 11
000D D3 SETB C
000E 9439 SUBB A,#039H
0010 4004 JC ?C0001
; SOURCE LINE # 12
0012 7407 MOV A,#07H
0014 2F ADD A,R7
0015 FF MOV R7,A
0016 ?C0001:
; SOURCE LINE # 13
0016 EE MOV A,R6
0017 540F ANL A,#0FH
0019 2430 ADD A,#030H
001B F500 R MOV l,A
; SOURCE LINE # 14
001D D3 SETB C
001E 9439 SUBB A,#039H
0020 4006 JC ?C0002
; SOURCE LINE # 15
0022 7407 MOV A,#07H
0024 2500 R ADD A,l
0026 F500 R MOV l,A
0028 ?C0002:
; SOURCE LINE # 18
0028 1100 E ACALL _put_kbbuff
; SOURCE LINE # 19
002A AF00 R MOV R7,l
002C 0100 E AJMP _put_kbbuff
; FUNCTION _print_hexbyte (END)
; FUNCTION _delay (BEGIN)
;---- Variable 'd' assigned to Register 'R7' ----
; SOURCE LINE # 23
; SOURCE LINE # 24
; SOURCE LINE # 27
;---- Variable 'i' assigned to Register 'R6' ----
0000 E4 CLR A
0001 FE MOV R6,A
0002 ?C0004:
0002 C3 CLR C
0003 EF MOV A,R7
0004 6480 XRL A,#080H
C51 COMPILER V6.12 GPR 03/03/2007 18:29:42 PAGE 3
0006 F8 MOV R0,A
0007 EE MOV A,R6
0008 6480 XRL A,#080H
000A 98 SUBB A,R0
000B 5009 JNC ?C0010
; SOURCE LINE # 28
;---- Variable 'j' assigned to Register 'R5' ----
000D E4 CLR A
000E FD MOV R5,A
000F ?C0007:
000F 0D INC R5
0010 BD28FC CJNE R5,#028H,?C0007
0013 ?C0006:
0013 0E INC R6
0014 80EC SJMP ?C0004
; SOURCE LINE # 30
0016 ?C0010:
0016 22 RET
; FUNCTION _delay (END)
C51 COMPILER V6.12 GPR 03/03/2007 18:29:42 PAGE 4
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
_put_kbbuff. . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
_print_hexbyte . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
h. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
l. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
_delay . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
d. . . . . . . . . . . . . . . . . . * REG * DATA CHAR 0007H 1
i. . . . . . . . . . . . . . . . . . * REG * DATA CHAR 0006H 1
j. . . . . . . . . . . . . . . . . . * REG * DATA CHAR 0005H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 69 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 1
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 + -