extern io_get_dec, io_print_dec
; esi - counter, edx - curlen, edi - maxlen
section .text
global main
main:
call io_get_dec
mov esi, eax
call io_get_dec
mov ebx, eax
mov edi, 1
mov edx, 1
loopstage:
test esi, esi
jz donestage
push edx
call io_get_dec
pop edx
cmp eax, ebx
jng brokenrow
inc edx
dec esi
mov ebx, eax
jmp loopstage
brokenrow:
cmp edx, edi
jg increasemaxlen
mov edx, 1
dec esi
mov ebx, eax
jmp loopstage
increasemaxlen:
mov edi ,edx
mov edx, 1
dec esi
mov ebx, eax
jmp loopstage
donestage:
cmp edx, edi
jg increasemaxlenfinish
mov eax, edi
call io_print_dec
xor eax, eax
ret
increasemaxlenfinish:
mov eax ,edx
call io_print_dec
xor eax, eax
ret