12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- { %target=go32v2 }
- { compiled with smallest code option, control B does not work }
- { compiled with fastest code option, both controls work fine }
- { output with smallest code (note that control B output seems randomical)
- 1234567890
- A >5/53<
- B >M/77<
- }
- program tbug;
- uses
- crt;
- type
- TCharColor = record
- car : char;
- color : byte;
- end;
- TScreen = array[1..50,1..80] of TCharColor;
- var
- CGA : TScreen absolute $B800:0000;
- c : char;
- begin
- clrscr;
- write( '1234567890');
- { control A }
- gotoxy( 1, 2);
- write( 'A >', CGA[ 1, 5].car, '/', ord( CGA[ 1, 5].car), '<');
- { control B }
- gotoxy( 1, 3);
- c := CGA[ 1, 5].car;
- write( 'B >', c, '/', ord( c), '<');
- if (c<>'5') then
- halt(1);
- writeln;
- end.
|