20.02.2020, 03:55 [+3 UTC]
в нашей команде: 4 220 чел. | участники онлайн: 3 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.81 (18.02.2020)
JS-v.1.35 | CSS-v.3.37

Общие новости:
06.01.2020, 22:45

Форум:
12.02.2020, 12:22

Последний вопрос:
19.02.2020, 23:23
Всего: 151644

Последний ответ:
20.02.2020, 01:22
Всего: 259793

Последняя рассылка:
18.02.2020, 20:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
11.02.2019, 10:35 »
dar777
Это самое лучшее решение! [вопрос № 194610, ответ № 277448]
17.11.2010, 13:48 »
lamed
Как всегда, очень интересный материал! Большое спасибо. [вопрос № 180817, ответ № 264135]
29.03.2013, 19:58 »
Александр Сергеевич
Спасибо!!! [вопрос № 187231, ответ № 272153]

РАЗДЕЛ • Assembler

Создание программ на языке Assembler.

[администратор рассылки: Лысков Игорь Витальевич (Старший модератор)]

Лучшие эксперты в этом разделе

Коцюрбенко Алексей Владимирович
Статус: Модератор
Рейтинг: 618
solowey
Статус: Специалист
Рейтинг: 260
Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 96

Перейти к консультации №:
 

Консультация онлайн # 143309
Раздел: • Assembler
Автор вопроса: Шептелуть Михайл Сергеевич
Отправлена: 07.09.2008, 21:55
Поступило ответов: 1

Здравствуйте.

Помогите мне с задачей, пожалуйста, а то что то не получается.

В памяти хранится массив из 4-х двухбайтных слов.
Необходимо составить программу, которая пересылает 3-й элемент массива в регистр DX.
Использовать нужно базовую адресацию.

Заранее спасибо!!!!!!!!!!!!!

Последнее редактирование 11.09.2008, 09:28 [неизвестный]

Состояние: Консультация закрыта

Ответ # 229000 от Евгений Иванов

Здравствуйте, Шептелуть Михайл Сергеевич!

mov bx, offset array
mov dx, [bx+(3-1)*2]

array DW 1, 2, 3, 4

или так можно

mov si, 3
dec si
shl si, 1

mov dx, [bx+si]

успехов.


Консультировал: Евгений Иванов
Дата отправки: 11.09.2008, 09:23

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Мини-форум консультации № 143309

Зенченко Константин Николаевич
Старший модератор

ID: 31795

# 1

= общий = | 08.09.2008, 20:45 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: из почты
Вы бы немогли прокаментировать каждую строчку потому что я не очень понял чего вы написали у меня просто такой примерно код
model small ;модель организации памяти - малая, т.е. код в одном сегенте памяти, данные и и стек в другом
stack 256 ;стек размером в 256 байт
.data; сегмент стека
.disp db 04; зачем тут точка?
mas dw 123,234,456,576 ;массив из 4-х значений
.code; сегмент кода
main: ;точка входа
mov ax,@data ;адресуем сегмент данных, т.к. он в момент начала программы указывает на префикс, а не на данные
mov ds,ax

mov bx,offset mas ;запоминаем адрес массива
mov ax,[bx]disp ; в АХ записываем значение (по адресу ВХ+значение disp), а где само DX?
;с этого момента в АХ(DX) должно быть значение 3-го элемента массива, т.к. массив двух байтовый, т.е. на каждый элемент отводится по 2 байта,
; (3-1)*2=4 ;адресация массива начинается с 0

mov ax, 4c00h;завершить процесс
int 21h
end main; конец программы и точка входа в программу

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

 

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.15988 сек.

© 2001-2020, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.81 от 18.02.2020
Версия JS: 1.35 | Версия CSS: 3.37