📄 function.lst
字号:
C51 COMPILER V7.06 FUNCTION 11/23/2008 23:10:21 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE FUNCTION
OBJECT MODULE PLACED IN function.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE function.c LARGE DEBUG OBJECTEXTEND CODE SYMBOLS PREPRINT
stmt level source
1 #include <stdio.h>
2 #include "def.h"
3 /* getline :取一行放到s 中,并返回该行的长度*/
4
5 int getline(char s[ ], int lim)
6 {
7 1 int c, i;
8 1 i = 0;
9 1 while ( -- lim > 0&& ( c = getchar() ) != EOF&&c!='\n')
10 1 s[i++] = c;
11 1 if (c == '\n' )
12 1 s[i++] = c;
13 1 s[i] = '\0';
14 1 return i;
15 1 }
16 /* strindex :返回t 在s 中的位置,若未找到则返回-1 */
17 int strindex(char s[], char t[] )
18 {
19 1 int i, j, k;
20 1 for ( i = 0; s[i] != '\0'; i++ ) {
21 2 for ( j =i, k = 0; t[k] != '\0' && s[j] ==t[k]; j++, k++ );
22 2 if ( k > 0 && t[k] == '\0' )
23 2 return i;
24 2 }
25 1 return -1;
26 1 }
C51 COMPILER V7.06 FUNCTION 11/23/2008 23:10:21 PAGE 2
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION _getline (BEGIN)
; SOURCE LINE # 5
0000 900000 R MOV DPTR,#s
0003 EB MOV A,R3
0004 F0 MOVX @DPTR,A
0005 A3 INC DPTR
0006 EA MOV A,R2
0007 F0 MOVX @DPTR,A
0008 A3 INC DPTR
0009 E9 MOV A,R1
000A F0 MOVX @DPTR,A
000B A3 INC DPTR
000C EC MOV A,R4
000D F0 MOVX @DPTR,A
000E A3 INC DPTR
000F ED MOV A,R5
0010 F0 MOVX @DPTR,A
; SOURCE LINE # 6
; SOURCE LINE # 8
0011 E4 CLR A
0012 900000 R MOV DPTR,#i
0015 F0 MOVX @DPTR,A
0016 A3 INC DPTR
0017 F0 MOVX @DPTR,A
0018 ?C0001:
; SOURCE LINE # 9
0018 900000 R MOV DPTR,#lim
001B 74FF MOV A,#0FFH
001D F5F0 MOV B,A
001F 120000 E LCALL ?C?IILDX
0022 FE MOV R6,A
0023 D3 SETB C
0024 E5F0 MOV A,B
0026 9400 SUBB A,#00H
0028 EE MOV A,R6
0029 6480 XRL A,#080H
002B 9480 SUBB A,#080H
002D 4047 JC ?C0002
002F 120000 E LCALL getchar
0032 EF MOV A,R7
0033 33 RLC A
0034 95E0 SUBB A,ACC
0036 FE MOV R6,A
0037 900000 R MOV DPTR,#c
003A F0 MOVX @DPTR,A
003B A3 INC DPTR
003C EF MOV A,R7
003D F0 MOVX @DPTR,A
003E F4 CPL A
003F 7002 JNZ ?C0013
0041 EE MOV A,R6
0042 F4 CPL A
0043 ?C0013:
0043 6031 JZ ?C0002
0045 900000 R MOV DPTR,#c
0048 E0 MOVX A,@DPTR
0049 7004 JNZ ?C0014
004B A3 INC DPTR
004C E0 MOVX A,@DPTR
C51 COMPILER V7.06 FUNCTION 11/23/2008 23:10:21 PAGE 3
004D 640A XRL A,#0AH
004F ?C0014:
004F 6025 JZ ?C0002
; SOURCE LINE # 10
0051 900000 R MOV DPTR,#c+01H
0054 E0 MOVX A,@DPTR
0055 FF MOV R7,A
0056 900000 R MOV DPTR,#s
0059 E0 MOVX A,@DPTR
005A FB MOV R3,A
005B A3 INC DPTR
005C E0 MOVX A,@DPTR
005D FA MOV R2,A
005E A3 INC DPTR
005F E0 MOVX A,@DPTR
0060 F9 MOV R1,A
0061 900000 R MOV DPTR,#i
0064 E4 CLR A
0065 75F001 MOV B,#01H
0068 120000 E LCALL ?C?ILDIX
006B 85F082 MOV DPL,B
006E F583 MOV DPH,A
0070 EF MOV A,R7
0071 120000 E LCALL ?C?CSTOPTR
0074 80A2 SJMP ?C0001
0076 ?C0002:
; SOURCE LINE # 11
0076 900000 R MOV DPTR,#c
0079 E0 MOVX A,@DPTR
007A 7004 JNZ ?C0015
007C A3 INC DPTR
007D E0 MOVX A,@DPTR
007E 640A XRL A,#0AH
0080 ?C0015:
0080 7023 JNZ ?C0003
; SOURCE LINE # 12
0082 900000 R MOV DPTR,#c+01H
0085 E0 MOVX A,@DPTR
0086 FF MOV R7,A
0087 900000 R MOV DPTR,#s
008A E0 MOVX A,@DPTR
008B FB MOV R3,A
008C A3 INC DPTR
008D E0 MOVX A,@DPTR
008E FA MOV R2,A
008F A3 INC DPTR
0090 E0 MOVX A,@DPTR
0091 F9 MOV R1,A
0092 900000 R MOV DPTR,#i
0095 E4 CLR A
0096 75F001 MOV B,#01H
0099 120000 E LCALL ?C?ILDIX
009C 85F082 MOV DPL,B
009F F583 MOV DPH,A
00A1 EF MOV A,R7
00A2 120000 E LCALL ?C?CSTOPTR
00A5 ?C0003:
; SOURCE LINE # 13
00A5 900000 R MOV DPTR,#s
00A8 E0 MOVX A,@DPTR
00A9 FB MOV R3,A
00AA A3 INC DPTR
C51 COMPILER V7.06 FUNCTION 11/23/2008 23:10:21 PAGE 4
00AB E0 MOVX A,@DPTR
00AC FA MOV R2,A
00AD A3 INC DPTR
00AE E0 MOVX A,@DPTR
00AF F9 MOV R1,A
00B0 900000 R MOV DPTR,#i
00B3 E0 MOVX A,@DPTR
00B4 FE MOV R6,A
00B5 A3 INC DPTR
00B6 E0 MOVX A,@DPTR
00B7 FF MOV R7,A
00B8 F582 MOV DPL,A
00BA 8E83 MOV DPH,R6
00BC E4 CLR A
00BD 120000 E LCALL ?C?CSTOPTR
; SOURCE LINE # 14
; SOURCE LINE # 15
00C0 ?C0004:
00C0 22 RET
; FUNCTION _getline (END)
; FUNCTION _strindex (BEGIN)
; SOURCE LINE # 17
0000 900000 R MOV DPTR,#s
0003 EB MOV A,R3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -