Почему этот код выдает строку слишком длинной ошибки?

Я набрал этот код для моделирования счетчика вверх-вниз, используя руку. Стреляет строка слишком длинные ошибки.

Я только знаю, что ошибка на линии 90 и 91, но я не знаю, как ее исправить. Я запускаю программу на DOSBox (Masm 8086). В приведенном ниже коде init8255 - это макрос, в котором инициализируется 8255. msg1 находится в.data, который запрашивает пользовательский ввод [1) upcount 2)downcount]. getchar - это макрос, который получит символ от пользователя [MOV AH,1 INT 21H]

.code
mov ax,@data
mov ds,ax
init8255

;printf msg1
getchar
cmp al,1
je upcount
cmp al,2
je downcount

exit

upcount:
mov al,00h
again: outpa
call delay
call keyhit
add al,1
daa
cmp al,99h
jne again
exit

downcount:
mov al,99h
again2: outpa
call delay
call keyhit
sub al,1
das
cmp al,00h
jne again2
exit

delay proc
mov bx,0fffh
out1:mov cx,55ffh
in1:loop in1
dec bx
jnz out1
ret
delay endp

keyhit proc
 push ax ;save your precious ax value
 mov ah,1 ;checks if any key is pressed in between the count
 int 16h ;if you press any key, it becomes non-zero. so go
 jnz done to done and exit.

 pop ax ;if you don't press any key, it becomes zero. so
 take out your precious value and return.
 ret 
done:
 exit ;so you have pressed a key, go to exit.

keyhit endp
    ;line 90                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
end ;line 91

Ошибка updown.asm(90): слишком длинная строка A2106

Ошибка updown.asm(91): слишком длинная строка A2106

номера строк указаны выше в коде (последние две строки) Заранее спасибо

1 ответ

Просто выделение кода мышью показывает, что в строке 90 много пробелов. Полоса прокрутки внизу также заставляет думать, что что-то немного странно.

Этот пост является прекрасным примером того, как код должен быть вставлен (а не скопирован вручную), чтобы мы могли видеть, что происходит.

Другие вопросы по тегам