C51 COMPILER V3.06, SN-50202349 FRCBUG1 08/28/97 20:38:02 PAGE 1 DOS C51 COMPILER V3.06, COMPILATION OF MODULE FRCBUG1 OBJECT MODULE PLACED IN FRCBUG1.OBJ COMPILER INVOKED BY: C:\FRC\BIN\C51.EXE FRCBUG1.C CD SB OT(5) DB OE SM stmt level source 1 /* FRCBUG1.C ****************************************************************************** The OR with global variable screwup. SMALL memory model, OPTIMIZE level 3 *****************************************************************************/ 7 unsigned Global; 8 9 10 void main(void) 11 { unsigned Local; 12 1 13 1 /* this works -- assembly language output: MOV Local+01H,#0FFh ORL Local,#0EFh */ 16 1 17 1 Local |= 0xEFFF; 18 1 19 1 /* this doesn't work -- assembly language output: ORL Global,#0EFh */ 21 1 22 1 Global |= 0xEFFF; } C51 COMPILER V3.06, SN-50202349 FRCBUG1 08/28/97 20:38:02 PAGE 2 ASSEMBLY LISTING OF GENERATED OBJECT CODE ; FUNCTION main (BEGIN) ; SOURCE LINE # 10 ; SOURCE LINE # 11 ; SOURCE LINE # 17 0000 7500FF R MOV Local+01H,#0FFH 0003 4300EF R ORL Local,#0EFH ; SOURCE LINE # 22 0006 4300EF R ORL Global,#0EFH 0009 22 RET ; FUNCTION main (END) C51 COMPILER V3.06, SN-50202349 FRCBUG1 08/28/97 20:38:02 PAGE 3 NAME CLASS MSPACE TYPE OFFSET SIZE ==== ===== ====== ==== ====== ==== main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC ----- ----- Local. . . . . . . . . . . . . . . . AUTO DATA U_INT 0000H 2 Global . . . . . . . . . . . . . . . . PUBLIC DATA U_INT 0000H 2 MODULE INFORMATION: STATIC OVERLAYABLE CODE SIZE = 10 ---- CONSTANT SIZE = ---- ---- XDATA SIZE = ---- ---- PDATA SIZE = ---- ---- DATA SIZE = 2 2 IDATA SIZE = ---- ---- BIT SIZE = ---- ---- END OF MODULE INFORMATION. C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)