gylayko
Новичок
|
есть код задачи Code Sample:
.model tiny .386 .data message1 db 'input string:',10,13,'$'; $ message2 db 10,13,'result min bukva:',10,13,'$'; $ message3 db 10,13,'result max bukva:',10,13,'$'; $ message4 db 10,13,'$'; $ buffer db 100 dup(0) a dw 0 strlen dw 0 tabcif db '0123456789abcdef';for heximal, as example tabchr db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';for heximal, as example .code start: mov ax,@data mov ds,ax ; ввести число ; вывести подсказку mov ah,09h lea dx, message1 int 21h ; ввести последовательность символов mov cx, 100 mov di, 0 metka:mov ah,01 int 21h cmp al,13 je ExitInput mov buffer[di],al inc di loop metka exitInput: mov strlen,di ; вывести подсказку mov ah,09h lea dx, message2 int 21h mov cx,strlen mov di,0 ; проверка на число co0:;mul bx ;xor dx,dx mov dl,buffer[di] cmp dl,'a' jb co1 cmp dl,'z' jbe co2 co1: jmp next; jmp exit; ; вывести цифри co2: mov ah,02 int 21h next:inc di loop co0 ; вывести подсказку mov ah,09h lea dx, message3 int 21h mov cx,strlen mov di,0 ; проверка на число co3: mov dl,buffer[di] cmp dl,'A' jb next2 cmp dl,'Z' jbe co5 co4:; jmp next2 ; вивести цифри co5: mov ah,02 int 21h next2:inc di loop co3 re1: mov ah,01 int 21h exit : mov ah,4ch int 21h end start
нужно объединить в одну подпрограмму действия, который повторяются более или 2 раза! то есть для каждой задачи своя подпрограмма, то есть чтобы не было 2 раза написано одно и тоже, а объединялось в подпрограммы! помогите пожалуйста.
|