C51 COMPILER V9.53.0.0 LR5C 04/06/2015 04:31:57 PAGE 1 C51 COMPILER V9.53.0.0, COMPILATION OF MODULE LR5C OBJECT MODULE PLACED IN lr5c.OBJ COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE lr5c.c OPTIMIZE(8,SPEED) BROWSE DEBUG OBJECTEXTEND CODE TABS(2) line level source 1 #include 2 float numb; 3 char digit; 4 char xdata mas[8]; 5 char m=1; 6 char mm; 7 int i = 0; 8 void Int00(void) interrupt 0 9 { 10 1 char x=P3; 11 1 switch (x) 12 1 { case 0x7b: digit='1'; break; 13 2 case 0x79: digit='2'; break; 14 2 case 0x78: digit='3'; break; 15 2 case 0xbb: digit='4'; break; 16 2 case 0xb9: digit='5'; break; 17 2 case 0xb8: digit='6'; break; 18 2 case 0xdb: digit='7'; break; 19 2 case 0xd9: digit='8'; break; 20 2 case 0xd8: digit='9'; break; 21 2 case 0xeb: digit='0'; break; 22 2 case 0xe9: digit=','; break; 23 2 case 0xe8: digit='e'; break; 24 2 default: digit=0xff; 25 2 } 26 1 if(digit==',') {mm=m; mas[i++]=digit; 27 2 digit=0xff;} 28 1 if(digit=='e') 29 1 { digit=0xff ; numb/=mm; } 30 1 if (digit!=0xff) 31 1 { mas[i++]=digit; 32 2 m*=10; 33 2 numb=numb*10+(digit&0x0f); 34 2 } 35 1 36 1 while(~INT0); 37 1 38 1 } 39 main () 40 { 41 1 EX0=1; 42 1 IT0=1; 43 1 EA=1; 44 1 while (1); 45 1 } C51 COMPILER V9.53.0.0 LR5C 04/06/2015 04:31:57 PAGE 2 ASSEMBLY LISTING OF GENERATED OBJECT CODE ; FUNCTION Int00 (BEGIN) 0000 C0E0 PUSH ACC 0002 C0F0 PUSH B 0004 C083 PUSH DPH 0006 C082 PUSH DPL 0008 C0D0 PUSH PSW 000A 75D000 MOV PSW,#00H 000D C000 PUSH AR0 000F C001 PUSH AR1 0011 C002 PUSH AR2 0013 C003 PUSH AR3 0015 C004 PUSH AR4 0017 C005 PUSH AR5 0019 C006 PUSH AR6 001B C007 PUSH AR7 ; SOURCE LINE # 8 ; SOURCE LINE # 10 ;---- Variable 'x' assigned to Register 'R7' ---- 001D AFB0 MOV R7,P3 ; SOURCE LINE # 11 001F EF MOV A,R7 0020 120000 E LCALL ?C?CCASE 0023 0000 R DW ?C0004 0025 78 DB 078H 0026 0000 R DW ?C0003 0028 79 DB 079H 0029 0000 R DW ?C0002 002B 7B DB 07BH 002C 0000 R DW ?C0007 002E B8 DB 0B8H 002F 0000 R DW ?C0006 0031 B9 DB 0B9H 0032 0000 R DW ?C0005 0034 BB DB 0BBH 0035 0000 R DW ?C0010 0037 D8 DB 0D8H 0038 0000 R DW ?C0009 003A D9 DB 0D9H 003B 0000 R DW ?C0008 003D DB DB 0DBH 003E 0000 R DW ?C0013 0040 E8 DB 0E8H 0041 0000 R DW ?C0012 0043 E9 DB 0E9H 0044 0000 R DW ?C0011 0046 EB DB 0EBH 0047 0000 DW 00H 0049 0000 R DW ?C0014 ; SOURCE LINE # 12 004B ?C0002: 004B 750031 R MOV digit,#031H 004E 803A SJMP ?C0001 ; SOURCE LINE # 13 0050 ?C0003: 0050 750032 R MOV digit,#032H 0053 8035 SJMP ?C0001 ; SOURCE LINE # 14 0055 ?C0004: 0055 750033 R MOV digit,#033H C51 COMPILER V9.53.0.0 LR5C 04/06/2015 04:31:57 PAGE 3 0058 8030 SJMP ?C0001 ; SOURCE LINE # 15 005A ?C0005: 005A 750034 R MOV digit,#034H 005D 802B SJMP ?C0001 ; SOURCE LINE # 16 005F ?C0006: 005F 750035 R MOV digit,#035H 0062 8026 SJMP ?C0001 ; SOURCE LINE # 17 0064 ?C0007: 0064 750036 R MOV digit,#036H 0067 8021 SJMP ?C0001 ; SOURCE LINE # 18 0069 ?C0008: 0069 750037 R MOV digit,#037H 006C 801C SJMP ?C0001 ; SOURCE LINE # 19 006E ?C0009: 006E 750038 R MOV digit,#038H 0071 8017 SJMP ?C0001 ; SOURCE LINE # 20 0073 ?C0010: 0073 750039 R MOV digit,#039H 0076 8012 SJMP ?C0001 ; SOURCE LINE # 21 0078 ?C0011: 0078 750030 R MOV digit,#030H 007B 800D SJMP ?C0001 ; SOURCE LINE # 22 007D ?C0012: 007D 75002C R MOV digit,#02CH 0080 8008 SJMP ?C0001 ; SOURCE LINE # 23 0082 ?C0013: 0082 750065 R MOV digit,#065H 0085 8003 SJMP ?C0001 ; SOURCE LINE # 24 0087 ?C0014: 0087 7500FF R MOV digit,#0FFH ; SOURCE LINE # 25 008A ?C0001: ; SOURCE LINE # 26 008A E500 R MOV A,digit 008C B42C1D CJNE A,#02CH,?C0015 008F 850000 R MOV mm,m 0092 0500 R INC i+01H 0094 E500 R MOV A,i+01H 0096 AE00 R MOV R6,i 0098 7002 JNZ ?C0024 009A 0500 R INC i 009C ?C0024: 009C 14 DEC A 009D 2400 R ADD A,#LOW mas 009F F582 MOV DPL,A 00A1 7400 R MOV A,#HIGH mas 00A3 3E ADDC A,R6 00A4 F583 MOV DPH,A 00A6 E500 R MOV A,digit 00A8 F0 MOVX @DPTR,A ; SOURCE LINE # 27 00A9 7500FF R MOV digit,#0FFH C51 COMPILER V9.53.0.0 LR5C 04/06/2015 04:31:57 PAGE 4 00AC ?C0015: ; SOURCE LINE # 28 00AC E500 R MOV A,digit 00AE B46534 CJNE A,#065H,?C0016 ; SOURCE LINE # 29 00B1 7500FF R MOV digit,#0FFH 00B4 AF00 R MOV R7,numb+03H 00B6 AE00 R MOV R6,numb+02H 00B8 AD00 R MOV R5,numb+01H 00BA AC00 R MOV R4,numb 00BC C004 PUSH AR4 00BE C005 PUSH AR5 00C0 C006 PUSH AR6 00C2 C007 PUSH AR7 00C4 AC00 R MOV R4,mm 00C6 EC MOV A,R4 00C7 120000 E LCALL ?C?FCASTC 00CA A804 MOV R0,AR4 00CC A905 MOV R1,AR5 00CE AA06 MOV R2,AR6 00D0 AB07 MOV R3,AR7 00D2 D007 POP AR7 00D4 D006 POP AR6 00D6 D005 POP AR5 00D8 D004 POP AR4 00DA 120000 E LCALL ?C?FPDIV 00DD 8F00 R MOV numb+03H,R7 00DF 8E00 R MOV numb+02H,R6 00E1 8D00 R MOV numb+01H,R5 00E3 8C00 R MOV numb,R4 00E5 ?C0016: ; SOURCE LINE # 30 00E5 AF00 R MOV R7,digit 00E7 EF MOV A,R7 00E8 33 RLC A 00E9 95E0 SUBB A,ACC 00EB FE MOV R6,A 00EC EF MOV A,R7 00ED F4 CPL A 00EE 4E ORL A,R6 00EF 6054 JZ ?C0018 ; SOURCE LINE # 31 00F1 0500 R INC i+01H 00F3 E500 R MOV A,i+01H 00F5 AE00 R MOV R6,i 00F7 7002 JNZ ?C0025 00F9 0500 R INC i 00FB ?C0025: 00FB 14 DEC A 00FC 2400 R ADD A,#LOW mas 00FE F582 MOV DPL,A 0100 7400 R MOV A,#HIGH mas 0102 3E ADDC A,R6 0103 F583 MOV DPH,A 0105 E500 R MOV A,digit 0107 F0 MOVX @DPTR,A ; SOURCE LINE # 32 0108 E500 R MOV A,m 010A 75F00A MOV B,#0AH 010D A4 MUL AB 010E F500 R MOV m,A ; SOURCE LINE # 33 C51 COMPILER V9.53.0.0 LR5C 04/06/2015 04:31:57 PAGE 5 0110 E4 CLR A 0111 FF MOV R7,A 0112 FE MOV R6,A 0113 7D20 MOV R5,#020H 0115 7C41 MOV R4,#041H 0117 AB00 R MOV R3,numb+03H 0119 AA00 R MOV R2,numb+02H 011B A900 R MOV R1,numb+01H 011D A800 R MOV R0,numb 011F 120000 E LCALL ?C?FPMUL 0122 C004 PUSH AR4 0124 C005 PUSH AR5 0126 C006 PUSH AR6 0128 C007 PUSH AR7 012A E500 R MOV A,digit 012C 540F ANL A,#0FH 012E FC MOV R4,A 012F 120000 E LCALL ?C?FCASTC 0132 D003 POP AR3 0134 D002 POP AR2 0136 D001 POP AR1 0138 D000 POP AR0 013A 120000 E LCALL ?C?FPADD 013D 8F00 R MOV numb+03H,R7 013F 8E00 R MOV numb+02H,R6 0141 8D00 R MOV numb+01H,R5 0143 8C00 R MOV numb,R4 ; SOURCE LINE # 34 0145 ?C0018: ; SOURCE LINE # 36 0145 A2B2 MOV C,INT0 0147 B3 CPL C 0148 40FB JC ?C0018 014A ?C0019: ; SOURCE LINE # 38 014A ?C0020: 014A D007 POP AR7 014C D006 POP AR6 014E D005 POP AR5 0150 D004 POP AR4 0152 D003 POP AR3 0154 D002 POP AR2 0156 D001 POP AR1 0158 D000 POP AR0 015A D0D0 POP PSW 015C D082 POP DPL 015E D083 POP DPH 0160 D0F0 POP B 0162 D0E0 POP ACC 0164 32 RETI ; FUNCTION Int00 (END) ; FUNCTION main (BEGIN) ; SOURCE LINE # 39 ; SOURCE LINE # 40 ; SOURCE LINE # 41 0000 D2A8 SETB EX0 ; SOURCE LINE # 42 0002 D288 SETB IT0 ; SOURCE LINE # 43 0004 D2AF SETB EA 0006 ?C0021: C51 COMPILER V9.53.0.0 LR5C 04/06/2015 04:31:57 PAGE 6 ; SOURCE LINE # 44 0006 80FE SJMP ?C0021 ; FUNCTION main (END) MODULE INFORMATION: STATIC OVERLAYABLE CODE SIZE = 365 ---- CONSTANT SIZE = ---- ---- XDATA SIZE = 8 ---- PDATA SIZE = ---- ---- DATA SIZE = 9 ---- IDATA SIZE = ---- ---- BIT SIZE = ---- ---- END OF MODULE INFORMATION. C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)