名前が印刷される回数を示すために使用される入力用に2桁の数字を許可する必要があります。ただし、2桁目を分離して、0x30と0x39の間にあることを確認する方法がわかりません。また、その中に0017が含まれている名前の後にこの奇妙なボックスが表示され続けます。
    .data   
    input_msg_len:  .long 26
    input_msg:  .ascii "Enter a two-digit number: "
    name:       .ascii "Michael Chabon\n"
    name_len:   .long 16
    max:        .long 0
    count:      .long 0
    tmp:        .long 0
    input_str:  .ascii "??" 
    .text               
    .global _start          
    _start:     
        mov $4, %eax    
        mov $1, %ebx
        mov $input_msg, %ecx
        mov input_msg_len, %edx
        int $0x80
        mov $3, %eax    
        mov $0, %ebx    
        mov $input_str, %ecx 
        mov $2, %edx    
        int $0x80   
        mov $input_str, %eax
        add count, %eax
            mov $input_str, %eax 
        mov (%eax), %bl 
        cmp $0x30, %bl  
        jl  _start      
        cmp $0x39, %bl  
        jg  _start  
        mov count, %eax 
        inc %eax        
        mov %eax, count 
        sub $0x30, %bl
        mov %bl, max
        mov $10, %bl    
        imul    %bl
        mov %bl, max
#Not sure how to check second char in input_str.
#Want to check it then subtract $0x30 and move to tmp before adding tmp to max.
        mov $0, %edi    
    again:
        cmp max, %edi   
        je  end     
        mov $4, %eax    
        mov $1, %ebx    
        mov $name, %ecx
        mov name_len, %edx
        int $0x80       
        inc %edi        
jmp again       
    end:
        mov $1, %eax    
        int $0x80       
前もって感謝します!