Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm: Общие вопросы > Работа с массивами & Процедуры и функции в ASM


Автор: denzs 24.5.2006, 21:10
"Работа с массивами в assembler"

Требуется написать программу:
-  Объявить массив необходимого размера (размер массива считать равным 10 элементов. Один элемент – 2 байта)
- Написать процедуру заполнения массива (заполнение массива осуществлять с клавиатуры)
- Написать процедуру, выполняющую индивидуальное задание над созданным массивом (задание см. в таблице ниже).
- Организовать вывод начального массива, конечного и результатов работы (где это необходимо)

Программа должна содержать как минимум 3 функции: ввод массива с клавиатуры, вывод массива на экран, выполнение задания над массивом.

Задание: Умножить все элементы массива на число, введенное с клавиатуры (Умножение вектора на число)

Пример результата выполнения программы (вывод на экран):

Лабораторная работа 5
Студент: 
Группа: 
Вариант: 
Найти сумму всех элементов массива

Input element 1: 3
Input element 2: 5
Input element 3: 8
Input element 4: -6
Input element 5: 5
Input element 6: -8
Input element 7: 6
Input element 8: 12
Input element 9: 25
Input element 10: -5

Summa: 45

[ 3 5 8 -6 5 -8 6 12 25 -5 ]


п.с. Если у кого-нибудь есть немного времени, попрошу решить не сложную для Вас программу!

Заранее благодарен!
 

Автор: sgi1981 26.5.2006, 17:06
а если в раздел работа... ? 

Автор: MAKCim 27.5.2006, 11:46
Код

.data
    array dw 10 dup(0)
    number dw 1
LOCALS
.stack 100h
.code
main:
    push @data
    pop DS
    call input
    call work
    call output
    mov AX, 4C00h
    int 21h

; умножение
work proc
    lea SI, array
    mov CX, 10
@@L1:
    mov AX, word ptr [SI]
    mul number
    mov [SI], AX
    loop @@L1
    ret
work endp

; ввод
input proc
    mov CX, 10
    lea SI, array
@@L1:
    ; каким то образом вводим число в BX
    mov [SI], BX
    inc SI
    loop @@L1
    ret
input endp

end main
 

Автор: wectula 10.12.2022, 00:21
Модератор: Сообщение скрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)