7-P10 Write a program in assembly to convert temperature from Celsius to Fahrenh
ID: 3675117 • Letter: 7
Question
7-P10 Write a program in assembly to convert temperature from Celsius to Fahrenheit. The formula is F = (9/5) x C + 32
I am getting the following error:
/Desktop/Lab3$ make
nasm -f win64 Lab3.s -o Lab3.o
Lab3.s:20: error: parser: instruction expected
make: *** [Lab3.o] Error 1
Here is the code I have:
%include "macros_windows64.s"
.DSEG SEGMENT 'DATA'
.DATA
CELC DB ?
FARH DB ?
MSG1 DB 'INPUT VALUE OF CENTIGRADE','$'
MSG DB 'EQUIVALENT FARHRENEHEIT IS','$'
;DSEG ENDS
CSEG SEGMENT 'CODE'
;.CODE
;STARTUP:
ASSUME CS:CSEG, DS:DSEG
MOV AX,DSEG
MOV DS,AX ; INITIALIZE DATA SEGMENT
LEA DX,MSG1
MOV AH, 01H
INT 21H ; DISPLAY "INPUT VALUE IN CELC"
MOV AH, 01H
INT 21H ; INPUT VALUE IN CELC
MOV CELC,AL ; MOVE THE INPUT VALUE TO 'CELC'
MOV AL,CELC
MOV CL,09H
MOV CH,00H
MUL CL ; AX=9*CELC
MOV CL,05H
DIV CL ; AL=AX/CL=(9*CELC)/5
ADD AL,20H ; ADD 20H=32 TO AL TO GET FAHR
MOV FARH, AL ; FAHR=(9*CELC)/5+32
MOV AH,4CH
INT 21H
;CSEG ENDS
done:
.EXIT
Explanation / Answer
there is nthing issue with the code place the code in crrect way here is the way
DSEG SEGMENT 'DATA'
CELC DB ?
FARH DB ?
MSG1 DB 'INPUT VALUE OF CENTIGRADE','$'
MSG DB 'EQUIVALENT FARHRENEHEIT IS','$'
DSEG ENDS
CSEG SEGMENT 'CODE'
ASSUME CS:CSEG, DS:DSEG
MOV AX,DSEG
MOV DS,AX ; INITIALIZE DATA SEGMENT
LEA DX,MSG1
MOV AH, 01H
INT 21H ; DISPLAY "INPUT VALUE IN CELC"
MOV AH, 01H
INT 21H ; INPUT VALUE IN CELC
MOV CELC,AL ; MOVE THE INPUT VALUE TO 'CELC'
MOV AL,CELC
MOV CL,09H
MOV CH,00H
MUL CL ; AX=9*CELC
MOV CL,05H ;
DIV CL ; AL=AX/CL=(9*CELC)/5
ADD AL,20H ; ADD 20H=32 TO AL TO GET FAHR
MOV FARH, AL ; FAHR=(9*CELC)/5+32
MOV AH,4CH
INT 21H
CSEG ENDS
END
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.