Здравствуйте, нужна помощь в том, чтобы в str1 записывал все символы кроме цифр из string. Так вот, в данном коде ничего не записывается, но, если закомментировать cmp al, 48 jnl l3, то выводятся все символы после 57-го символа ASCII, а если закомментировать cmp al, 57 jng l3, то выводятся все символы до 47-го символа ASCII. если не комментировать ни то, ни то то ничего не выводится хотя по идее при наложении этих условий они оба должны выполняться... Что делать?
| Код | .386 .model flat, stdcall option casemap:none include c:\masm32\include\windows.inc include c:\masm32\include\kernel32.inc includelib c:\masm32\lib\kernel32.lib .data instring db 'input string:' outstring db 'output strings:' string db 'ABCDEFGHIJKLAAMNOPQRSTUXYZ,f.gh-+klmnopqrstuvwxyz;:012345678912345' str1 dd 0 .code _start: xor eax,eax xor edi,edi mov cx,20h lea edx,newLine add edx,2 mov str1,edx ; Адресс начала первой строки mov edi,edx xor edx,edx lea esi, string mov ah,2 l1: lodsb cmp al, 48 ;условия отбора диапозона символов jnl l3 cmp al, 57 jng l3 stosb loop l1 jmp l4 l2: inc esi l3: loop l1 l4: dec ah cmp ah,0 je l5 mov cx, 20h add ebx,4 xor edx,edx jmp l1 l5: cmp di,0 jne l6 mov esi, ebx mov cx,40h rep movsb
|
|