Question 1: (back)
Write an HLA program that reads a single precision floating point number from the user and prints the internal representation of that value using hexadecimal notation.
program Question1;
#include( "stdlib.hhf" );
static
r: real32;
r2: real32;
cnt: int8;
cnt2: int8;
begin Question1;
mov( 0, eax );
stdout.put( "Please enter a real number: " );
stdin.get( r );
mov( (type dword r), eax );
stdout.newln();
stdout.put( "Hex: ", eax, nl );
stdout.put( "Binary: ");
mov( 0, cnt );
mov( 0, cnt2 );
while( cnt < 32 ) do
if( cnt2 = 4 ) then
stdout.put( "_" );
mov( 0, cnt2 );
endif;
shl( 1, eax );
if( @c ) then
stdout.put( "1" );
else
stdout.put( "0" );
endif;
inc( cnt );
inc( cnt2 );
endwhile;
end Question1;