Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler: математика, вычисления
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Igorukas
0 / 0 / 0
Регистрация: 19.03.2014
Сообщений: 2
1

Сформировать массив

19.03.2014, 12:15. Просмотров 995. Ответов 7
Метки нет (Все метки)

Просьба помочь! Дожил до 35 лет, решил пойти учится и тут такое. Программированием никогда не занимался и уж тем более на Ассемблере.

Сформировать одномерный массив А={ai}(i=1...25), где ai вычисляется по формулам: ai=(i+5*i/3)
0<i<26

Спасибо за помощь!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2014, 12:15
Ответы с готовыми решениями:

Сформировать массив
Написанную мною сортировку массива по возрастанию data segment mes1 db 'HA4AJlbHbIU...

Сформировать массив В из чисел массива А кратных 5
Всем привет! Нужна, Ваша помощь! Задание: Сформировать массив и напечатать одномерный массив A{ai}...

Сформировать массив В состоящий из чисел кратных 3 и 5
Здраствуйте! помогите разобраться с массивами. Задание: Сформировать массив A{gi} gi=(i=1…30), где...

Сформировать массив чтобы он сохранился в памяти
Нужно ввести строку на экран вывести вцифры содержащиееся в этой строке затем сформировать массив...

Сформировать одномерный массив A, где Ai вычисляется по формуле
Сформировать одномерный массив A= {a i} (i=1...30), где ai вычисляется по формуле ai=(i/5+i/3)*10...

7
Mikl___
Автор FAQ
13510 / 6439 / 638
Регистрация: 11.11.2010
Сообщений: 11,632
19.03.2014, 13:12 2
Цитата Сообщение от Igorukas Посмотреть сообщение
Просьба помочь!
Дожил до 35 лет и веришь в сказки?
Цитата Сообщение от zer0mail
Готовые решения -это не помощь, а интеллектуальный наркотик. Тут уже есть наркоманы, которые вряд ли смогут учиться дальше. Дипломы они получат/купят и начнут "работать".
"Помощь" - это когда "подсказать, направить" (и за это мне говорят "спасибо"). А не "посадить на шею и тащить до конечного пункта". Такая помощь - соучастие в воровстве оценок, поскольку студент получает положительную оценку без знаний.
0
Thread
19.03.2014, 16:22
  #3

Не по теме:

Igorukas

покажите паспорт,продажа спиртного после 18 :)

1
Igorukas
0 / 0 / 0
Регистрация: 19.03.2014
Сообщений: 2
23.04.2014, 16:08  [ТС] 4
Не совсем я пропащий!!!

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
DATA SEGMENT
mas db 25 dup (?) ;
DATA ENDS
CODE SEGMENT        
ASSUME CS:CODE, DS:DATA,
 START:
        MOV    AX, DATA
        MOV    DS, AX 
        MOV     CL, 5           ; первый множитель '5'
        MOV     CH, 3           ; делитель '3'
        MOV     DI, 1           ; порядковый номер элемента в массиве
        MOV     SI, 0           ; доступ к элементу в массиве по индексу
        ; ai=(i+5*i/3)
 NEXTI:
        MOV     AX, DI          ; берем i-ый элемент 1,2,3...25 ...
        MUL     CL              ; и умножаем его на 5
        DIV     CH              ; потом делим на 3
        XOR     AH, AH          ; обнуляем остаток от деления
        ADD     AX, DI          ; i*5/3+i
        MOV     [SI], AX        ; заносим элемент в массив
        ADD     SI,1            ; увеличиваем адрес следующего элемента
        INC     DI              ; увеличиваем счетчик следующего элемента
        CMP     DI, 26          ; 26 проверям, не вышли ли за пределы массива //флаг SF - 1 если <0
        JL      NEXTI
        MOV  AX, 4C00h
        INT     21H
CODE ENDS
        END START
0
23.04.2014, 16:08
proc3nt
волшебник
988 / 546 / 174
Регистрация: 26.05.2012
Сообщений: 1,548
05.07.2014, 13:18 5
увеличивал и там и там на единицу, а команды разные
Assembler
1
2
ADD     SI,1
INC     DI
все таки используя inc памяти расходуется меньше
0
murderer
4609 / 1578 / 163
Регистрация: 06.10.2010
Сообщений: 3,498
10.07.2014, 08:33 6
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
org 100h
mov bx,3            ;делитель 3
mov cx,25           ;порядковый номер элемента в массиве - i
mov sp,mas+25*2     ;указатель на конец массива
 
@@:imul  ax,cx,5    ;ax = i*5
   cbw
   div   bx         ;ax = i*5/3
   add   ax,cx      ;ax = i*5/3+i
   push  ax         ;mas[i--] = ax = i*5/3+i
loop @b
 
ret
 
mas rw 25
0
Mikl___
Автор FAQ
13510 / 6439 / 638
Регистрация: 11.11.2010
Сообщений: 11,632
10.07.2014, 08:40 7
Assembler
1
2
3
4
5
6
7
.data
A db 0
i = 0
rept 25
i = i + 1
db (i+5*i/3)
endm
0
murderer
4609 / 1578 / 163
Регистрация: 06.10.2010
Сообщений: 3,498
10.07.2014, 09:09 8
Ну тогда уж вместо "A db 0" просто "A:"

Добавлено через 1 минуту
Кстати твоё решение получится на 4 байта больше моего
1
10.07.2014, 09:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2014, 09:09

Нужно сформировать массив В из элементов массива А по формуле ...
Сформировать массив В из элементов массива А по формуле B=A OR A XOR (0FFh). Массив А считать...

Сформировать массив чисел из целых положительных степеней числа 2
Помогите решить! Сформировать массив чисел, состоящий из целых положительных степеней числа 2, не...

Сформировать одномерный массив A ={ai}, где ai вычисляется по формулам. TASM
Есть такое задание &quot;Сформировать одномерный массив A ={ai} (i= 1...30)&quot;, где ai вычисляется по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru