this is the output i getenter image description here
i was trying to convert Celsius to Fahrenheit.Then display your Name and Fahrenheit value.
and heres the code
DATA_SEG SEGMENT
MSG_ENTER_FIRST DB 13,10,’Enter the 1st number: $’
MSG_NAME DB 13,10, ‘ ‘
MSG_FAHRENHEIT DB 13,13, ‘Result of farenheit’
FIRST_NUM DW 0
DIGIT_COUNT DW 0
CELSIUS DB 0
FAHRENHEIT DB 0
DATA_SEG ENDS
CODE_SEG SEGMENT
ASSUME CS:CODE_SEG, DS:DATA_SEG
START: MOV AX, DATA_SEG
MOV DS, AX
DISPLAY_FIRST_MSG:
MOV AH, 09
MOV DX, OFFSET MSG_ENTER_FIRST
INT 21H
INPUT_FIRST_NUM:
MOV AH, 01
INT 21H
CMP AL, 13
SUB AL, 48
MOV BL, AL
MOV BH, 0
MOV FIRST_NUM, BX
JMP INPUT_FIRST_NUM
PERFORM_CALCULATIONS:
mov al, [CELSIUS]
mov bl, 9
mul bl
mov bl, 5
div bl
add al, 32
mov [FAHRENHEIT], al
SHOW_RESULTS:
MOV AH, 09
MOV DX, OFFSET MSG_FAHRENHEIT
INT 21H
MOV AH, 02
MOV DL, ' '
INT 21H
MOV AL, FAHRENHEIT
CALL DISPLAY_NUMBER
END_PROGRAM:
MOV AH, 4CH
MOV AL, 0
INT 21H
DISPLAY_NUMBER PROC
MOV BX, 10
CONVERT_NUMBER:
MOV DX, 0
DIV BX
PUSH DX
INC DIGIT_COUNT
CMP AX, 0
JZ OUTPUT_NUMBER
JMP CONVERT_NUMBER
OUTPUT_NUMBER:
POP DX
ADD DL, 48
MOV AH, 02
INT 21H
DEC DIGIT_COUNT
CMP DIGIT_COUNT, 0
JZ FINISH_DISPLAY
JMP OUTPUT_NUMBER
FINISH_DISPLAY:
RET
DISPLAY_NUMBER ENDP
DATA_SEG ENDS
CODE_SEG ENDS
END START
user23935335 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.