C51 COMPILER V8.18 LR3CM 04/29/2011 20:03:58 PAGE 1 C51 COMPILER V8.18, COMPILATION OF MODULE LR3CM OBJECT MODULE PLACED IN lr3cm.OBJ COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE lr3cm.c BROWSE DEBUG OBJECTEXTEND CODE line level source 1 #include 2 unsigned int a,res; 3 unsigned long s; 4 char i; 5 main() 6 { 7 1 a=P0<<8; 8 1 s=P1; //b - in P2 9 1 for (i=0;i<8;i+=1) 10 1 { 11 2 if ((s&0x0001)==1) s+=a; 12 2 s=s>>1; 13 2 } 14 1 res=s&0x0000ffff; 15 1 P3=res; 16 1 P2=res>>8; 17 1 while(1); 18 1 } C51 COMPILER V8.18 LR3CM 04/29/2011 20:03:58 PAGE 2 ASSEMBLY LISTING OF GENERATED OBJECT CODE ; FUNCTION main (BEGIN) ; SOURCE LINE # 5 ; SOURCE LINE # 6 ; SOURCE LINE # 7 0000 AF80 MOV R7,P0 0002 EF MOV A,R7 0003 750000 R MOV a+01H,#00H 0006 F500 R MOV a,A ; SOURCE LINE # 8 0008 AF90 MOV R7,P1 000A E4 CLR A 000B 8F00 R MOV s+03H,R7 000D F500 R MOV s+02H,A 000F F500 R MOV s+01H,A 0011 F500 R MOV s,A ; SOURCE LINE # 9 0013 F500 R MOV i,A 0015 ?C0001: ; SOURCE LINE # 10 ; SOURCE LINE # 11 0015 E500 R MOV A,s+03H 0017 5401 ANL A,#01H 0019 FF MOV R7,A 001A E4 CLR A 001B FE MOV R6,A 001C FD MOV R5,A 001D FC MOV R4,A 001E 7B01 MOV R3,#01H 0020 FA MOV R2,A 0021 F9 MOV R1,A 0022 F8 MOV R0,A 0023 C3 CLR C 0024 120000 E LCALL ?C?ULCMP 0027 7018 JNZ ?C0004 0029 FC MOV R4,A 002A FD MOV R5,A 002B E500 R MOV A,s+03H 002D 2500 R ADD A,a+01H 002F F500 R MOV s+03H,A 0031 E500 R MOV A,s+02H 0033 3500 R ADDC A,a 0035 F500 R MOV s+02H,A 0037 ED MOV A,R5 0038 3500 R ADDC A,s+01H 003A F500 R MOV s+01H,A 003C EC MOV A,R4 003D 3500 R ADDC A,s 003F F500 R MOV s,A 0041 ?C0004: ; SOURCE LINE # 12 0041 AF00 R MOV R7,s+03H 0043 AE00 R MOV R6,s+02H 0045 AD00 R MOV R5,s+01H 0047 AC00 R MOV R4,s 0049 7801 MOV R0,#01H 004B 120000 E LCALL ?C?ULSHR 004E 8F00 R MOV s+03H,R7 0050 8E00 R MOV s+02H,R6 0052 8D00 R MOV s+01H,R5 C51 COMPILER V8.18 LR3CM 04/29/2011 20:03:58 PAGE 3 0054 8C00 R MOV s,R4 ; SOURCE LINE # 13 0056 0500 R INC i 0058 E500 R MOV A,i 005A B408B8 CJNE A,#08H,?C0001 005D ?C0002: ; SOURCE LINE # 14 005D E500 R MOV A,s+03H 005F FF MOV R7,A 0060 E500 R MOV A,s+02H 0062 FE MOV R6,A 0063 8E00 R MOV res,R6 0065 8F00 R MOV res+01H,R7 ; SOURCE LINE # 15 0067 8500B0 R MOV P3,res+01H ; SOURCE LINE # 16 006A E500 R MOV A,res 006C F5A0 MOV P2,A 006E ?C0005: ; SOURCE LINE # 17 006E 80FE SJMP ?C0005 ; FUNCTION main (END) MODULE INFORMATION: STATIC OVERLAYABLE CODE SIZE = 112 ---- CONSTANT SIZE = ---- ---- XDATA SIZE = ---- ---- PDATA SIZE = ---- ---- DATA SIZE = 9 ---- IDATA SIZE = ---- ---- BIT SIZE = ---- ---- END OF MODULE INFORMATION. C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)