12.12.2019, 11:12 [+3 UTC]
в нашей команде: 4 058 чел. | участники онлайн: 4 (рекорд: 21)

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

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

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.78 (18.11.2019)
JS-v.1.34 | CSS-v.3.35

Общие новости:
28.04.2019, 09:13

Форум:
29.11.2019, 17:59

Последний вопрос:
11.12.2019, 23:14
Всего: 151237

Последний ответ:
12.12.2019, 05:26
Всего: 259561

Последняя рассылка:
12.12.2019, 10:45

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

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

Наша кнопка:

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

Отзывы о нас:
04.05.2019, 18:36 »
viktorija79
Большое спасибо за помощь! [вопрос № 195424, ответ № 278003]
14.12.2010, 21:22 »
Юлия Назаренко
Спасибо за своевременный ответ и квалифицированную помощь. Вы мне очень помогли! [вопрос № 181279, ответ № 264711]

РАЗДЕЛ • Assembler

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

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

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

Коцюрбенко Алексей Владимирович
Статус: Модератор
Рейтинг: 1545
Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 659
solowey
Статус: Бакалавр
Рейтинг: 227

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

Консультация онлайн # 72117
Раздел: • Assembler
Автор вопроса: Александр Логвиненко
Отправлена: 22.01.2007, 17:13
Поступило ответов: 3

Здравствуйте. Ответьте ожалуйста вот на такой вопрос.

Предположим что регистр DX содержит 1011100110111001, а регистр CL - 03. Определить содержимое регистра DX после следующих команд.
1. SHR DX,1
2. SHR DX,CL
3. SHL DX,CL
4. SHL DL,1
5. ROR DX,CL
6. ROR DL,CL
7. SAL DH,1
И ещё такие вопросы

1)Используя команды сдвига, пересылки и сложения, умножить содержимое регистра AX на 10
2) Напишите программу, которая умножает содержимое пары регистров DX:AX на 2. Измениет программу для: 1. Умножения на 4, 2. Деления на 4, 3. умножение 48 бит в регистрах DX:AX:BX на 2.

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

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

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

Здравствуйте, Александр Логвиненко!

1011100110111001

1. 0101110011011100
2. 0000101110011011
3. 0101110011011000
4. 0101110010110000
5. 0000101110010110
6. 0000101111010010
7. 0001011011010010

AX можно умножить на 10, если умножить сначала на 8, потом прибавить два оригинала.

shl ax, 1
rcl dx, 1

и т.д.

удачи!


Консультировал: Евгений Иванов
Дата отправки: 22.01.2007, 17:30

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

0

[подробно]

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

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

Ответ # 138411 от Стас

Здравствуйте, Александр Логвиненко!

Вообще-то неплохо было бы самому решить задачки...

DX=16D2 (кстати SHR и SAL одна и таже команда)

1) для уножение на 10 умножаем исходноечисло на 2 запоминаем, умножаем исходноечисло на 8, складываем с запомненым (x*10=x*8+x*2), *2 смотри ниже:
SHL AX,1 ; AX*2
MOV BX,AX ;запомним

SHL AX,1 ;(AX уже умножено на 2) умножим еще на 2
SHL AX,1 ;(AX уже умножено на 4) умножим еще на 2 = AX*8
ADD AX,BX ;AX*10 = (BX=(AX*2)) + AX*8

2) для умножение на 2 нужно сдвинуть регистр влево на 1 бит например командой SHR, старший бит уйдет в CF, чтобы его не потерять сдвинем второй регистр командой RCL:
SHL AX,1; RCL DX,1 = DX:AX*2
соответсвенно два раза:SHL AX,1; RCL DX,1; SHL AX,1; RCL DX,1 = DX:AX*4
Деление - сдвиг вправо: SHR DX,1; RCR AX,1 = DX:AX/2
Ну и отсюда следует:
SHL BX,1; RCL AX,1; RCL DX,1 = DX:AX:BX*2


Консультировал: Стас
Дата отправки: 23.01.2007, 03:38

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

0

[подробно]

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

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

Здравствуйте, Александр Логвиненко!

1. SHR DX,1 0101.1100.1101.1100
2. SHR DX,CL 0001.0111.0011.0111
3. SHL DX,CL 1100.1101.1100.1000
4. SHL DL,1 1011.1011.0111.0010
5. ROR DX,CL 0011.0111.0011.0111
6. ROR DL,CL 1011.1001.0011.0111
7. SAL DH,1 0111.0011.1011.1001
остальное в приложении

Приложение:


Консультировал: Зенченко Константин Николаевич (Старший модератор)
Дата отправки: 25.01.2007, 11:00

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

0

[подробно]

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

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

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

Яндекс Rambler's Top100

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

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

© 2001-2019, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.78 от 18.11.2019
Версия JS: 1.34 | Версия CSS: 3.35