Другие языки программирования и технологии

Как дополнить программу чтобы выводилось еще не просто какая строка длинее,но и еще насколько

data segment prompt1 db 'Vvedite pervyu stroku',13,10,'$' prompt2 db 'Vvedite vtoryu stroku',13,10,'$' result db 'Dlinnee stroka',13,10,'$' str_eq db 'Stroki ravni',13,10,'$' newl db 13,10,'$' max1 db 255 len1 db ? str1 db 256 dup('$') max2 db 255 len2 db ? str2 db 256 dup('$') data ends code segment assume cs:code,ds:data start:mov ax,data mov ds,ax xor ax,ax xor bx,bx xor dx,dx xor si,si xor di,di lea dx,prompt1 mov ah,09h int 21h xor ax,ax mov ah,0AH lea dx,max1 int 21h lea dx,newl mov ah,09h int 21h lea dx,prompt2 mov ah,09h int 21h xor ax,ax mov ah,0AH lea dx,max2 int 21h lea dx,newl mov ah,09h int 21h mov ah,len1 cmp ah,len2 je me ja m1 lea dx,str2 jmp m2 m1:lea dx,str1 m2:push dx lea dx,result mov ah,09h int 21h pop dx mov ah,09h int 21h jmp quit me: lea dx,str_eq mov ah,09h int 21h quit: xor ah,ah int 16h mov al,0 mov ah,004Ch int 21h code ends end start
data segment
prompt1 db 'Vvedite pervyu stroku',13,10,'$'
prompt2 db 'Vvedite vtoryu stroku',13,10,'$'
result db 'Dlinnee stroka',13,10,'$'
str_eq db 'Stroki ravni',13,10,'$'
newl db 13,10,'$'
txtna db 'na $'
txtsymb db ' simvolov$'
max1 db 255
len1 db ?
str1 db 256 dup('$')
max2 db 255
len2 db ?
str2 db 256 dup('$')
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
xor ax,ax
xor bx,bx
xor dx,dx
xor si,si
xor di,di
lea dx,prompt1
mov ah,09h
int 21h
xor ax,ax
mov ah,0AH
lea dx,max1
int 21h
lea dx,newl
mov ah,09h
int 21h
lea dx,prompt2
mov ah,09h
int 21h
xor ax,ax
mov ah,0AH
lea dx,max2
int 21h
lea dx,newl
mov ah,09h
int 21h
xor ch,ch
mov cl,len1
xor ah,ah
mov al,len2
lea dx,str1
sub cx,ax
je me
ja m1
lea dx,str2
neg cx
m1: push dx
lea dx,result
mov ah,09h
int 21h
pop dx
mov ah,09h
int 21h
lea dx,newl
mov ah,9
int 21h
lea dx,txtna
int 21h
xor dx,dx
mov bx,10
mov ax,cx
div bx
mov cl,dl
div bl
mov dx,'00'
add dx,ax
mov ah,2
int 21h
mov dl,dh
int 21h
mov dl,cl
add dl,'0'
int 21h
lea dx,txtsymb
jmp quit
me: lea dx,str_eq
quit: mov ah,09h
int 21h
xor ah,ah
int 16h
mov ax,4C00h
int 21h
code ends
end start
Денис Жунин
Денис Жунин
51 590
Лучший ответ
Ассемблер! Эх, даже ностальгия взяла :) Если на компилятор ссылку дашь - допишу

Похожие вопросы