[assembler] Одномерный однобайтовый массив
Модератор: Andy
В одномерном однобайтовом массиве A(15) найти среднее арифметическое эл-тов массива(частное и остаток)
На С++ решил бы запросто, но АСМ это совсем другое, не лажу с ним , помогите с задачкой! Спасибо заранее!
На С++ решил бы запросто, но АСМ это совсем другое, не лажу с ним , помогите с задачкой! Спасибо заранее!
Вот решил вспомнить молодось. Может не совсем красиво, но...
Если че не ясно пиши.
Если че не ясно пиши.
- Вложения
-
- arr15.zip
- (1.42 КБ) 179 скачиваний
Все замечательно решили. Спасибо огромное! Но проблемка в том, что учитель не поверит, что это Я решил эту задачу, слишком огромно получилось, думаю если массивы уже будут заданы, всмысле не надо в самой проге их задавать, прога будет намного проще и яснее. Я не заставляю вас это сделать, а прошу, если будет время, упростить. Ещё раз спасибо!!!
по-моему 356 байт это не так уж и много.
Ладно уберу ввод массива( - самое основное!)
Ладно уберу ввод массива( - самое основное!)
вот без ввода
Код: Выделить всё
.model tiny
.code
.data
ORG 100h
cLenArr equ 15
BEGIN:
push cs
pop ds
xor ax, ax
mov cx, cLenArr
lea bx, arr
xor dh, dh
SolveSum:
mov dl, byte ptr[bx]
add ax, dx
inc bx
loop SolveSum
mov bx, cLenArr
div bl ;vychisliaem sr. arifm.
lea bx, chastnoe ;perevodim chastnoe
mov dh, ah ;sohr ostatok
mov cx, 2 ;cikl iz 2 raz
nextdiv:
xor ah, ah
div Hundred ;vydeliaem sotni
mov byte ptr[bx], al
shr ax,8
div Ten ;desiatki
mov byte ptr[bx+1], al
mov byte ptr[bx+2], ah
mov al, dh
lea bx, ostatok ;perevodim ostatok
loop nextdiv
mov cx, 3
ascii1:
mov bx, cx
add byte ptr [ostatok+bx-1], 30h ;ostatok v ascii
loop ascii1
mov cx, 3
ascii2:
mov bx, cx
add byte ptr [chastnoe+bx-1], 30h ;chastnoe v ascii
loop ascii2
mov ah, 9
lea dx, strchast
int 21h
mov ax,4c00h
int 21h
;nash massiv
arr db 255,213,12,44,55,99,23,32,123,43,34,234,129,1,10
strchast db 'Chastnoe='
chastnoe db '000',13,10
strost db 'Ostatok='
ostatok db '000',13,10,'$'
Ten db 10
Hundred db 100
END BEGIN
Задача успешно решена, благодарю вас! НО скоро задам другую задачку, она попроще, ждите...
Вспомните всю молодость :d

Можно как-нибудь посмотреть решение с вводом? Не открывается архив, к сожалению. Спасибо заранее.Ramzey писал(а):Вот решил вспомнить молодось. Может не совсем красиво, но...
Если че не ясно пиши.
Оба-на, я еще здесь зареген!!! Неожиданно... 11 лет прошло.
Ramzey писал(а):Оба-на, я еще здесь зареген!!! Неожиданно... 11 лет прошло.
11 лет, а проблемы студентов все те же
