📄 main.lst
字号:
C51 COMPILER V6.23a MAIN 11/13/2002 23:24:52 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c LARGE DEBUG OBJECTEXTEND
stmt level source
1 #include <REG52.H> /* special function register declarations */
2 /* for the intended 8051 derivative */
3
4 #include <stdio.h> /* prototype declarations for I/O functions */
5
6 #ifdef MONITOR51 /* Debugging with Monitor-51 needs */
char code reserve [3] _at_ 0x23; /* space for serial interrupt if */
#endif /* Stop Exection with Serial Intr. */
9 /* is enabled */
10 /*------------------------------------------------
11 The main C function. Program execution starts
12 here after stack initialization.
13 ------------------------------------------------*/
14 void main (void) {
15 1
16 1 int a[3][4],*ptr,i,j,max,maxi,maxj;
17 1 /* max 是数组的最大,maxi是最大元素所在行,maxj是最大元素所在列*/
18 1 int max_arr(int *b,int *p1,int *p2,int n);/*函数声明*/
19 1 /*------------------------------------------------
20 1 Setup the serial port for 1200 baud at 16MHz.
21 1 ------------------------------------------------*/
22 1 #ifndef MONITOR51
23 1 SCON = 0x50; /* SCON: mode 1, 8-bit UART, enable rcvr */
24 1 TMOD |= 0x20; /* TMOD: timer 1, mode 2, 8-bit reload */
25 1 TH1 = 221; /* TH1: reload value for 1200 baud @ 16MHz */
26 1 TR1 = 1; /* TR1: timer 1 run */
27 1 TI = 1; /* TI: set TI to send first char of UART */
28 1 #endif
29 1 /*------------------------------------------------
30 1 Note that an embedded program never exits (because
31 1 there is no operating system to return to). It
32 1 must loop and execute forever.
33 1 ------------------------------------------------*/
34 1 for( i = 0 ; i < 3 ; i++)
35 1 for( j = 0 ; j < 4 ; j++)
36 1 scanf( "%d" , &a[i][j]) ;
37 1 ptr= a[0] ;/*将二维数组的首地址传递给指针变量*/
38 1 max_arr(ptr, &max,&maxi,12) ;
39 1 maxj=maxi%4;/*每行有四个元素,求该元素所在列*/
40 1 maxi=maxi/4 ;/*求该元素所在行*/
41 1 printf("max=%d,maxi=%d,maxj=%d",max,maxi,maxj);
42 1 while (1) {};
43 1 }
44
45 int max_arr(int *b,int *p1,int *p2,int n)
46 /* b 指向二维数组的指针,p1指向最大值,p2指向最大值在一维数组中的位置,*/
47 /* n 是数组的大小*/
48 {
49 1 int i;
50 1 *p1=b[0]; *p1=0;
51 1 for(i=1;i < n;i++)/*找最大*/
52 1 if (b[i]>*p1) {*p1=b[i]; *p2=i;}
53 1 }
54
55
C51 COMPILER V6.23a MAIN 11/13/2002 23:24:52 PAGE 2
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 525 ----
CONSTANT SIZE = 26 ----
XDATA SIZE = ---- 47
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -