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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2009, 15:15   #1
rule-z
Evil is near...
Пользователь
 
Аватар для rule-z
 
Регистрация: 08.03.2009
Сообщений: 49
По умолчанию [Assembler] Одномерный массив

Мне надо доделать программу по одномерным массивам Assembler i8086:
О задаче:
Написать программу организующую ввод и вывод одномерного массива.
Колличество чисел и числа в массиве вводит пользователь.
Программа должна найти максимальный и минимальный элементы массива.
Далее определить посчитать их сумму, и определить четная они или нечетная. При четной надо поменять местами макс и мин елементы массива, а при нечетной вывести сообщение, что сумма нечетная.

Конкретно проблема есть с перестановкой максимума и минимум при четной их сумме.

Но так как пока всего лишь взялся за написание, из всего готов только шаблон одномерного массива типа byte.

Код:
include macro.lib
data segment
m db 100 dup (?)
m1 db 'Vvedite n: $'
m2 db 'Vvedite massiv: $'
m3 db ' $'
m4 db 'Massiv:$'
data ends
ssteck segment stack
db 128 dup (?)

ssteck ends
code segment
assume ds:data, ss:ssteck, cs:code
begin:
mov ax,data
mov ds,ax
crlf
message m1
key_$2bin
mov cl,al

mov di,cx
met1:
crlf
message m2
key_$2bin
mov m[bx],al
inc bx
loop met2
jmp met3
met2:

jmp met1
met3:
crlf
message m4
crlf
mov bx,0
mov cx,di
met4:
mov al,m[bx]
print_number

message m3
inc bx
loop met5
jmp kon
met5:
jmp met4
kon:
key_$2bin
mov ax,4c00h
int 21h

code ends
end begin
Прошу помочь мне в данной ситуации.
Программный код всего лишь слово, На свойстве Speak, я False пропишу.
Но помни, когда говорить захочешь снова,
В какое место вставить True я не скажу
rule-z вне форума Ответить с цитированием
Старый 24.03.2009, 15:20   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Конкретно проблема есть с перестановкой максимума и минимум при четной их сумме.
Ну а что тут сложного?
Код:
mov esi, адресс максимального
mov edi, адресс минимального
mov eax, [esi]
mov ebx,[edi]
xchg eax,ebx
mov  [esi],eax
mov [edi],ebx
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.03.2009, 15:43   #3
rule-z
Evil is near...
Пользователь
 
Аватар для rule-z
 
Регистрация: 08.03.2009
Сообщений: 49
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну а что тут сложного?
Код:
mov esi, адресс максимального
mov edi, адресс минимального
mov eax, [esi]
mov ebx,[edi]
xchg eax,ebx
mov  [esi],eax
mov [edi],ebx
Дело в том, что на i8086 такой код не пойдет. Я сам много пробывал и и ничего не получалось. Пробовал как по аналогии в паскале переставлять тоже не вышло. Наверное все же делаю, что-то не так.
Программный код всего лишь слово, На свойстве Speak, я False пропишу.
Но помни, когда говорить захочешь снова,
В какое место вставить True я не скажу
rule-z вне форума Ответить с цитированием
Старый 24.03.2009, 17:16   #4
rule-z
Evil is near...
Пользователь
 
Аватар для rule-z
 
Регистрация: 08.03.2009
Сообщений: 49
По умолчанию

Попрежнему нужна помощь, думал напишу сам нахождение максимума и минимума но но получается. Поэтому если кто смыслет прошу помочь.
Программный код всего лишь слово, На свойстве Speak, я False пропишу.
Но помни, когда говорить захочешь снова,
В какое место вставить True я не скажу
rule-z вне форума Ответить с цитированием
Старый 03.04.2009, 09:10   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Дело в том, что на i8086 такой код не пойдет
Ну другие регистры возьми, неразширенные:

Код:
mov si, адресс максимального
mov di, адресс минимального
mov ax, [si]
mov bx,[di]
xchg ax,bx
mov  [si],ax
mov [edi],ebx
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерный массив (СИ) ManInBlack Помощь студентам 8 08.06.2013 17:43
одномерный массив Sjava Помощь студентам 7 02.11.2009 10:01
одномерный массив Кирилл17 Помощь студентам 5 22.12.2008 00:13
Одномерный массив Sirega Паскаль, Turbo Pascal, PascalABC.NET 6 27.11.2008 21:21
Массив Одномерный flait111 Помощь студентам 3 15.12.2007 14:08