入力した2つの数字を足して出力するという単純なプログラムなんですが、
何故か入力ルーチンの挙動がおかしいです。
言語は8086アセンブラです。
mainprocnear
mov ax,Data
mov ds,ax
;--------------------------------------
mov bl,31h
LOOP_1: mov ah,02h ;何回目かの入力を出力
mov dl,bl
int 21h
mov ah,09h   ;→を出力
mov dx,offset P_1
int 21h
call Input
inc bl
cmp bl,33h
jnz LOOP_1
;--------------------------------------
mov ax,4C00h
int21h
mainendp
;--------------------------------------
Inputprocnear
mov cx,03
IN_LOOP:mov ah,01h
int 21h
cmp al,0dh
jz IN_EXIT
sub al,30h
mov ah,00
push ax
loop IN_LOOP
mov ah,09h
mov dx,offset E_1;改行してます
int 21h
IN_EXIT:ret
Inputendp
;--------------------------------------
Codeends
endmain
アセンブラで申し訳ないんですが何方か助言をお願いします。