Either submit the source code file (.asm) on Ecampus under the "Submit Homework" menu option, or demo the programs to the instructor during lab.
 

Using the flat assembler (fasm), write a program that converts an 8-bit integer to binary and hexadecimal using bitwise operators.  Do not use external functions.  You may use the algorithm below.

Ask user to enter a number 0 - 255 and store into Num

Algorithm to convert Value to binary:
     (1)  Set Count to 0. Move Num into a variable named Temp
     (2)  Move Temp into EAX then AND EAX with 128 (binary 10000000)
     (3)  if result is zero, output "0"
     (4)  if result is not zero, output "1"
     (5)  shift Temp left one digit
     (6)  increment Count
     (7)  if Count < 8, jump to step (2)


Algorithm to convert Value to hexadecimal:
     (1)  Move Num into a variable named Temp
     (2)  shift Temp right 4 digits to isolate left 4 digits
     (3)  if Temp <=9, print Temp
     (4)  if Temp >=10, add 55 to Temp and print the ASCII character
     (5)  Move Num into a variable named Temp
     (6)  AND Temp with 15 (binary 00001111) to isolate right 4 digits
     (7)  if Temp <=9, print Value
     (8)  if Temp >=10, add 55 to Temp and print the ASCII character


Example output
This x86 assembly program converts an integer to binary and hex.

Enter an integer from 0 - 255: 73
Binary: 01001001
Hex:    49