home *** CD-ROM | disk | FTP | other *** search
File List | 1991-01-15 | 3.4 KB | 79 lines |
- C51 COMPILER V2.12, F_HLMAIN 03/02/90 04:37:11 PAGE 1
-
-
- DOS C51 COMPILER V2.12, COMPILATION OF MODULE F_HLMAIN
- OBJECT MODULE PLACED IN F_HLMAIN.OBJ
- COMPILER INVOKED BY: C51 F_HLMAIN.C DEBUG INTVECTOR CODE OBJECTEXTEND
-
- stmt level source
-
- 1 /* File: f_hlmain.c */
- 2
- 3 /* C Language Demo Program 'F_DEMO.AOM' (AOM == Absolute Object Module)
- ** (for use with Franklin Software's 8051 C Cross-compiler, Ver. 2.12 or later)
- **
- ** This program replicates, as closely as possible (except for actual timing),
- ** the functionality of the ASM51 demo program 'demo.asm'.
- **
- ** Modules (Files) in F_DEMO.AOM:
- ** f_vect.a51 -- Franklin's ASM51: reserves space for interrupt vectors
- ** f_hlmain.c -- Franklin's C, main program (function 'main()')
- ** f_inner.c -- Franklin's C, function 'innerloop( repeat_cnt )'
- ** f_waste.c -- Franklin's C, function 'wastetime()'
- */
- 15
- 16 #include <stdio.h>
- 17
- 18 sbit P1_0 = 0x90; /* P1.0 */
- 19
- 20 /* external function prototypes (interface specifications) */
- 21 extern void innerloop(char);
- 22 extern void wastetime(void);
- 23
- 24 char state /*= 0*/; /* 'state' reflects value in ACC (in original demo.asm) */
- 25 static char counter; /* dummy counter (rolls over at 256) */
- 26
- 27 void main()
- 28 {
- 29 1 state = 0; /* mimic ACC Power-Up Reset condition (value) */
- 30 1
- 31 1 for ( counter = 0; ; counter++ ) {
- 32 2 P1_0 = 0; /* Set P1.0 low at start */
- 33 2 innerloop( 10 ); /* Generate 5 pulses */
- 34 2 wastetime(); /* Call 'wastetime' twice to generate */
- 35 2 wastetime(); /* blank pulse between sets of 5 pulses */
- 36 2 } /* end of: for 'counter' */
- 37 1
- 38 1 } /* end of function: 'main()' */
- C51 COMPILER V2.12, F_HLMAIN 03/02/90 04:37:11 PAGE 2
-
- ASSEMBLY LISTING OF GENERATED OBJECT CODE
-
-
- ; FUNCTION main (BEGIN)
- ; SOURCE LINE # 28
- ; SOURCE LINE # 29
- 0000 E4 CLR A
- 0001 F500 R MOV state,A
- ; SOURCE LINE # 31
- 0003 F500 R MOV counter,A
- 0005 ?C0001:
- ; SOURCE LINE # 32
- 0005 C290 CLR P1_0
- ; SOURCE LINE # 33
- 0007 75000A E MOV ?innerloop?BYTE,#0AH
- 000A 120000 E LCALL innerloop
- ; SOURCE LINE # 34
- 000D 120000 E LCALL wastetime
- ; SOURCE LINE # 35
- 0010 120000 E LCALL wastetime
- ; SOURCE LINE # 36
- ; SOURCE LINE # 31
- 0013 0500 R INC counter
- 0015 80EE SJMP ?C0001
- 0017 22 RET
- ; FUNCTION main (END)
-
-
- C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
-