Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поменять местами пары соседних чисел в массиве 
:(
    Опции темы
noob322
Дата 7.11.2015, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 7.11.2015

Репутация: нет
Всего: нет



Доброе время суток) Помогите пожалуйста ребят разобраться с кодом smile Задача: поменять местами пары соседних чисел. Массив слов (Напр: 1,2,3,4,5,6,7,8,9,10; Рез: 2,1,4,3,6,5,8,7,10,9) Вот мой код,пытался реализовать не получается:
Код

org 100h

MOV CX,5
MOV BX,0

for:

MOV AX,mass[BX]
MOV DX,mass[BX+1]
MOV mass[BX],DX
MOV mass[BX+1],AX
INC BX

LOOP for

mass db 1,2,3,4,5,6,7,8,9,10

ret

PM MAIL   Вверх
ФедосеевПавел
Дата 7.11.2015, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 7.2.2009

Репутация: 4
Всего: 10



У меня уже нет виртуалки с DOS, поэтому выскажу замечания без проверки.

1. Нужна директива assume
2. Если массив байтовый (объявлен как db), то и при обмене нужно использовать однобайтовые регистры, а если нужен 2-байтовый массив, то объявлять его нужно dw.
3. Нужно заменить inc bx на add bx, 2 или add bx,4 (в зависимости от размера элемента массива).
4. По завершении цикла - в твоей проге начнут выполнятся команды, соответствующие кодам из массива. Нужно исключить возможность выполнения кода из данных.
PM MAIL   Вверх
mikeyess
Дата 8.11.2015, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 0
Регистрация: 7.1.2014

Репутация: нет
Всего: нет



Добрый день.
Могу выполнить, но не за спасибо.
С уважением, Mike

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
Google
  Дата 18.9.2019, 01:45 (ссылка)  





  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0650 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.