Abs62
Это всё специально вместо "loop met21" написано, чтобы сложнее читать было? Сорь, нет, это результат сидения перед моником на 7 паре
з.ы. А разве можно так далеко прыгать?
Благодарю за помощь
Теперь получились ввод\вывод, нахождение и вывод максимума
Максимум сделал чуть по другому (может кому пригодится...
), работает
(за cld и lodsb, которые мы похоже и не будем проходить меня бы
)
max_c proc ;-----начало процедуры максимума
mov di,0
mov al,[bx][di]
max2:
cmp al,[bx][di]
jae max3
mov al,[bx][di]
max3:
inc di
loop max2
mov max,al
ret
max_c endp;----конец процедуры максимума
Обновил исходник, теперь думаю над С и разностями... (процедура ПОДСЧЁТ)
[more]include macro.lib
data segment
a db 100 dup (?)
b db 200 dup (?)
c db 300 dup (?)
n1 db ?
n2 db ?
m1 db 'Введите кол-во элементов 1 массива: $'
m4 db 'Введите кол-во элементов 2 массива: $'
m2 db 'Введите элементы 1 массива: $'
m3 db 'Вывод 1: $'
m5 db 'Вывод 2: $'
m6 db ' $'
m7 db 'Максимальный элемент 1: $'
m8 db 'Вывод 3: $'
m9 db 'Введите элементы 2 массива: $'
m10 db 'Максимальный элемент 2: $'
x dw ?
y db ?
n dw ?
t dw ?
d dw ?
k dw ?
m dw ?
max db ?
data ends
sst segment stack
db 128 dup (?)
sst ends
code segment
assume cs:code, ds:data, ss:sst
vvod_mas proc ;----ВВОД,ПРОЦЕДУРА
mov di,0
vv1:
key_$2bin
crlf
mov [bx][di],al
inc di
loop vv1
ret
vvod_mas endp ;----КОНЕЦ ВВОДА,ПРОЦЕДУРА
vivod_mas proc ;------ВЫВОД,ПРОЦЕДУРА
mov di,0
v1:
mov al,[bx][di]
cbw
print_number
message m6
inc di
loop v1
ret
vivod_mas endp ;----КОНЕЦ ВЫВОДА,ПРОЦЕДУРЫ
max_c proc ;-----НАЧАЛО ПРОЦЕДУРЫ МАКСИМУМА
mov di,0
mov al,[bx][di]
max2:
cmp al,[bx][di]
jae max3
mov al,[bx][di]
max3:
inc di
loop max2
mov max,al
ret
max_c endp;----КОНЕЦ ПРОЦЕДУРЫ МАКСИМУМА
pod proc;------ПОДСЧЕТ <<<<<<<<<<<<<<<<<<<<<
mov di,0
mov dl,max
pd1:
mov al,dl
sub al,[bx][di];
cbw ;<<<<<<<<<<<
mov c[bx][di],al ;X
inc di
loop pd1
ret
pod endp;----КОНЕЦ ПОДСЧЕТА
begin:
mov ax,data
mov ds,ax
;начало
cls
message m1 ;введите кол-во эл-тов в массиве 1
key_$2bin
crlf
mov n1,al
cbw
mov cl,al
lea bx,a
message m2 ;введите элементы массива
call vvod_mas ;-----ввод 1 массива
mov cl,al
lea bx,a
call max_c ;МАКС ДЛЯ 1
mov al,max
cbw
mov k,ax
;print_number
crlf
;<<конец 1 части,массив 1 и его максимум
message m4 ;введите кол-во эл-тов в массиве 2
key_$2bin
crlf
mov n2,al
cbw
mov cl,al
lea bx,b
message m9 ;введите эл-ты массива
call vvod_mas ;-----ввод 2 массива
mov cl,al
lea bx,b
call max_c ;МАКС ДЛЯ 2
mov al,max
cbw
mov m,ax
mov cl,n1
lea bx,a
message m3 ;вывод 1
call vivod_mas ;-----вывод 1 массива
crlf
mov cl,n2
lea bx,b
message m7
mov ax,k
print_number
crlf
;lea bx,b
;call pod
message m5 ;вывод 2
call vivod_mas ;-----вывод 2 массива
crlf
message m10
mov ax,m
print_number
crlf
;конец
mov ax,4c00h
int 21h
code ends
end begin[/more]