Write a program that reads in two hexadecimal numbers from a file, hex.dat, and
ID: 3853022 • Letter: W
Question
Write a program that reads in two hexadecimal numbers from a file, hex.dat, and prints out the sum of the two numbers in hexadecimal. (As noted in class, first do this without using a file and by reading using the cin > > command) From Wikipedia: "In mathematics and computer science, hexadecimal (also base 16, or hex) is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 0-9 to represent values zero to nine, and A, B, C, D, E, F (or alternatively a-f) to represent values ten to fifteen. For example, the hexadecimal number 2AF3 is equal, in decimal, to (2 times 16^3) + (10 times 16^2) + (15 times 16^1) +(3 times 16^0) or 10, 995." For example, if the file contains: 45AF 12B3 your program will output (if you output the result in decimal): The decimal sum of 45AF and 12B3 is 22626. (To check your results, you can go to a hexadecimal calculator on the web. For Example, http: //www.csgnetwork.com/hexaddsubcale.html) a) To solve this problem: read the hexadecimal numbers as character arrays b) convert the character arrays to numbers (by calling a function that takes the character array as a parameter, and returns an integer) c) add the numbers to get a decimal sum d) EXTRA CREDIT: convert the sum to hexadecimal (by calling a function that fills a character array) Assume that your file has an unknown number of hexadecimals. Change your program so that it prints the sum of all the numbers in the file.Explanation / Answer
.MODEL SMALL
.STACK 100H
.DATA
MSG_1 EQU 'Enter the Hex digit (A-F) : $'
MSG_2 EQU 0DH,0AH,'The corresponding Decimal dgit is : $'
PROMPT_1 DB MSG_1
PROMPT_2 DB MSG_2
.CODE
MAIN
PROC MOV AX, @DATA
MOV DS, AX
LEA DX, PROMPT_1
MOV AH, 9
INT 21H
MOV AH, 1
INT 21H
MOV BL, AL
LEA DX, PROMPT_2
PROMPT_2
MOV AH, 9
INT 21H
MOV AH, 2
MOV DL, 31H
INT 21H
SUB BL, 11H
MOV DL, BL
INT 21H
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN
Related Questions
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.