So I'm trying to write a program that will display a grade depending on the user's input
i.e.
90-100 (A)
80-89 (B)
70-79 (C)
60-69 (D)
59 below (F)
this is what I have so far but I don't know what I'm doing wrong. :\
It assembles and it'll let you enter a number but it won't display the letter grade.
INCLUDE Irvine32.inc
.data
GradeA BYTE "A",0
GradeB BYTE "B",0
GradeC BYTE "C",0
GradeD BYTE "D",0
GradeF BYTE "F",0
grade DWORD 100 DUP(?)
msg1 BYTE "Enter a number:",0
.code
main PROC
mov edx,OFFSET msg1
call WriteString
call ReadDec
mov esi,grade
.IF esi >= 90
jmp @G01
.ELSEIF (esi >= 80)
jmp @G02
.ELSEIF (esi >= 70)
jmp @G03
.ELSEIF (esi >= 60)
jmp @G04
.ELSEIF (esi <= 59)
jmp @G05
.ENDIF
main ENDP
@G01 PROC
mov esi,OFFSET GradeA
call WriteString
@G01 ENDP
@G02 PROC
mov esi,OFFSET GradeB
call WriteString
@G02 ENDP
@G03 PROC
mov esi,OFFSET GradeC
call WriteString
@G03 ENDP
@G04 PROC
mov esi,OFFSET GradeD
call WriteString
@G04 ENDP
@G05 PROC
mov esi,OFFSET GradeF
call WriteString
@G05 ENDP
END main