Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2010, 13:42   #1
kiruka4
 
Регистрация: 12.10.2010
Сообщений: 6
По умолчанию Программа с массивом!

Помогите,пожалуйста написать программу которая умножает все элементы одномерного массива,которые меньше 7-и. Ну и выводит результат на экран,конечно.

p.s.В Ассемблере
kiruka4 вне форума Ответить с цитированием
Старый 12.10.2010, 13:44   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Умножает на что?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.10.2010, 13:48   #3
kiruka4
 
Регистрация: 12.10.2010
Сообщений: 6
По умолчанию

друг на друга. Ну,в смысле перемножает эти элементы между собой.
kiruka4 вне форума Ответить с цитированием
Старый 12.10.2010, 14:01   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Что-то в этом огороде:
Код:
format PE ; console
include 'D:\fasmw16726\INCLUDE\win32a.inc'

entry start

section '.data' data readable writeable
mas        dw 1,2,3,8,4,9,12

section 'Код' code readable executable

start:
 mov ecx,6
 mov ax,[mas+ecx*2]
 dec ecx
dododo:
 xor edx,edx
 xor ebx,ebx
 mov bx,[mas+ecx*2]
 cmp bx,7
 jl next
 mul ebx
next:
loop dododo
ret
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.10.2010, 14:14   #5
kiruka4
 
Регистрация: 12.10.2010
Сообщений: 6
По умолчанию

Ого!!! Я даже не знаю где это писать нужно.
Мы создаем файл с расширением .asm,набираем в нем текст программы,а потом компилируем этот файл с помощью Link и masm
Примерно так:

PAGE 60,132
TITLE EXASM
;--------------------------
STACKSG SEGMENT PARA STACK 'Stack'
DW 32 DUP(?)
STACKSG ENDS
;--------------------------
DATASG SEGMENT PARA 'Data'
A DW 86
B DW 26
C DW 23
DATASG ENDS
;--------------------------
CODESG SEGMENT PARA 'Code'
BEGIN PROC FAR
ASSUME CS:CODESG, DS:DATASG, SS:STACKSG, ES:NOTHING
PUSH DS
SUB AX, AX
PUSH AX
MOV AX, DATASG
MOV DS, AX
;-------------------------(A-B)*(A-C)
MOV AX, A
SUB AX, B
MOV BX, A
SUB BX, C
CWD
IMUL BX
MOV BX, AX
MOV AH, 02H
INT 21H
RET
BEGIN ENDP
CODESG ENDS
END BEGIN
kiruka4 вне форума Ответить с цитированием
Старый 12.10.2010, 16:40   #6
kiruka4
 
Регистрация: 12.10.2010
Сообщений: 6
По умолчанию

ого! Да я даже не знаю где это вводить нужно.
Мы пишем в файле с расширением .asm и компилируем с помощью link и masm
Примерно так:
dseg segment 'data'
a db 100 dup ("ADFCCCPES")
b db 10h
dseg ends


scode segment para 'code'
begin proc far
assume cs:scode

push ds
sub ax,ax
push ax
mov ds,ax
mov cx,10
lea dx,a

vivod:

cmp dx,"C"
JE m1
mov ah,2
int 21h
m1:
inc al
loop vivod




mov ah,4ch
int 21h
begin endp
scode ends
end begin
kiruka4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программа в паскале связанная с массивом denis2010 Помощь студентам 3 01.02.2010 16:51
программа в паскале связанная с массивом denis2010 Помощь студентам 1 26.01.2010 22:32
С++.Программа с массивом Alex1991 Помощь студентам 3 23.03.2009 00:13
Проблемы с массивом Шура Помощь студентам 4 20.11.2008 18:06