[assembler] Одномерный однобайтовый массив

Низкоуровневое программирование портов, микроконтроллеров и т.д.

Модератор: Andy

Ответить
azze
Сообщения: 10
Зарегистрирован: 23 дек 2006, 13:09

01 янв 2007, 18:27

В одномерном однобайтовом массиве A(15) найти среднее арифметическое эл-тов массива(частное и остаток)

На С++ решил бы запросто, но АСМ это совсем другое, не лажу с ним , помогите с задачкой! Спасибо заранее!
Ramzey
Сообщения: 49
Зарегистрирован: 12 дек 2006, 12:56

02 янв 2007, 11:54

Вот решил вспомнить молодось. Может не совсем красиво, но...
Если че не ясно пиши.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
azze
Сообщения: 10
Зарегистрирован: 23 дек 2006, 13:09

02 янв 2007, 17:09

Все замечательно решили. Спасибо огромное! Но проблемка в том, что учитель не поверит, что это Я решил эту задачу, слишком огромно получилось, думаю если массивы уже будут заданы, всмысле не надо в самой проге их задавать, прога будет намного проще и яснее. Я не заставляю вас это сделать, а прошу, если будет время, упростить. Ещё раз спасибо!!!
Ramzey
Сообщения: 49
Зарегистрирован: 12 дек 2006, 12:56

02 янв 2007, 20:29

по-моему 356 байт это не так уж и много.
Ладно уберу ввод массива( - самое основное!)
Ramzey
Сообщения: 49
Зарегистрирован: 12 дек 2006, 12:56

02 янв 2007, 20:52

вот без ввода

Код: Выделить всё

                .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
azze
Сообщения: 10
Зарегистрирован: 23 дек 2006, 13:09

03 янв 2007, 11:52

Задача успешно решена, благодарю вас! НО скоро задам другую задачку, она попроще, ждите... :) Вспомните всю молодость :d
sweet03
Сообщения: 2
Зарегистрирован: 26 дек 2017, 16:11

26 дек 2017, 16:20

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

26 дек 2017, 16:35

Оба-на, я еще здесь зареген!!! Неожиданно... 11 лет прошло.
sweet03
Сообщения: 2
Зарегистрирован: 26 дек 2017, 16:11

26 дек 2017, 19:51

Ramzey писал(а):Оба-на, я еще здесь зареген!!! Неожиданно... 11 лет прошло.

11 лет, а проблемы студентов все те же :rolleyes: Что с задачей, можно как-то воссоздать?
Ответить