With an 8-bit division, the dividend is held in AX, with AH being the high bit and AL being the low bit (naturally enough). This means that you need to have a suitable value in both AH and AL before dividing.
In this case, since you are only dividing one digit numbers, the best solution is to simply clear AH:
MOV CL, AL
MOV AL, BL
MOV AH, 0 ; clear AH
; divide
DIV CL
MOV NUM1, AL
ADD NUM1, '0'
MOV NUM2, AH
ADD NUM2, '0'
There may be other issues with the code as well, but that is the one which stands out to me.
Schol-R-LEA
Veteran Poster
1,089 posts since Oct 2010
Reputation Points: 495
Solved Threads: 173
Skill Endorsements: 13