Question 8: (back)
Write a program that reads an eight-bit unsigned integer and a 16-bit unsigned integer from the user that computes and displays the sum and the absolute value of the difference of these two numbers.
program Question8; #include( "stdlib.hhf" ); static a: int32; b: int32; tmp1: int32; tmp2: int32; done: boolean := false; begin Question8; stdout.put( "Please enter an integer between 0..256: " ); stdin.getu8(); movzx( al, ax ); cwde(); mov( eax, a ); stdout.put( "Please enter an integer beteen 0..65535: " ); stdin.getu16(); movzx( ax, eax ); mov( eax, b ); // Calculate the sum mov( a, eax ); mov( eax, tmp1 ); mov( b, eax ); add( eax, tmp1 ); stdout.put( "a + b = ", tmp1, nl); // Calculate the difference mov( b, eax ); mov( eax, tmp2 ); mov( a, eax ); sub( eax, tmp2 ); stdout.put( "b - a = ", tmp2, nl ); end Question8;