IPB
ЛогинПароль:

> ПРАВИЛА РАЗДЕЛА!!!

1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!

 
 Ответить  Открыть новую тему 
> массив в ассемблере
сообщение
Сообщение #1


Гость






Здравствуйте!
Помогите, пожалуйста, написать программу (хотя бы отдельные элементы).

"Рассмотреть содержимое буфера BUF1 как двумерный массив Mass[i;j], где i - номер строки, j - номер столбца. Вычислить сумму всех элементов вектор-строки N (для всех j) для случая записи массива по столбцам.
i=0...7
j=0..2
N=3"

Если я правильно понимаю, то речь идёт об одномерном массиве длиной 24 элемента, и нужно найти сумму элементов с номерами 4, 12, 20

пока у меня получилось следующее:
;программа
LXI B,O ; иниц. суммы
LXI H, MASS ; иниц. указателя чтения
MVI D, 3 ; иниц. счётчика (не знаю, что написать, возможно, 3)
MVI C,O

;тело программы
INR D
INR D
INR D ; модиф. счётчика

LOOP1:
MOV A,M ; чтение текущего байта
ADD C ; сложение
MOV A,С; сохранение LSB
JMP NO_CARRY
INR B; учёт переноса в MSB суммы (если он есть)

NO_CARRY:
DCR D; модиф. счётчика
INX H; модиф. указателя
JNZ LOOP1

INR D
INR D
INR D
INR D
INR D
INR D
INR D
INR D; модиф. счётчика

LOOP2:
MOV A,M ; чтение текущего байта
ADD C ; сложение
MOV A,С; сохранение LSB
JMP NO_CARRY
INR B; учёт переноса в MSB суммы (если он есть)

NO_CARRY:
DCR D; модиф. счётчика
INX H; модиф. указателя
JNZ LOOP2

INR D
INR D
INR D
INR D
INR D
INR D
INR D
INR D

LOOP3:
MOV A,M ; чтение текущего байта
ADD C ; сложение
MOV A,С; сохранение LSB
JMP NO_CARRY
INR B; учёт переноса в MSB суммы (если он есть)

NO_CARRY:
DCR D; модиф. счётчика
INX H; модиф. указателя
JNZ LOOP3


только нельзя ли как-то объединить все метки, они же одинаковы?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Спасибо, уже не надо)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


N337
****

Группа: Пользователи
Сообщений: 737
Пол: Мужской

Репутация: -  26  +


Бедный ВМ80 (Intel 8080) - в наших ВУЗах ему никак не дают упокоится с миром )


--------------------
The idiots are winning.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 27.11.2020 10:37
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name