Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

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

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote