Question 7: (back)
Write a program that reads an eight-bit signed integer and a 32-bit signed integer from the user that computes and displays the sum and difference of these two numbers.
program Question7;
#include( "stdlib.hhf" );
static
a: int8;
b: int32;
c: int32; // total
d: int32; // difference
begin Question7;
stdout.put( "Please enter an integer between -128..127: " );
stdin.get( a );
stdout.put( nl, "Please enter an integer from -2,146,483,648..2,146,483,647: " );
stdin.get( b );
mov( a, al );
cbw(); // convert al to ax
cwde(); // convert ax to eax
mov( b, ebx );
mov( ebx, c );
mov( ebx, d );
add( eax, c ); // calculate sum of 'a' and 'b'
sub( eax, d ); // calculate difference of 'b' and 'a'
stdout.put( "a + b = ", c, nl );
stdout.put( "b - a = ", d, nl );
end Question7;