|
1 / 1 / 0
Регистрация: 26.12.2010
Сообщений: 26
|
||||||
Команды логических операций, сдвигов, выделение битовых полей15.01.2012, 13:25. Показов 7656. Ответов 13
Метки нет (Все метки)
Здравствуйте.
Помогите пожалуйста решить задачку: 1. В исходном байте DataByte биты 0…3 содержат двоичный код, который обозначим как А, биты 4…5 - код, который обозначим как В, биты 6…7 - код, который обозна-чим как С. Вычислить А+2*В+2*С. С чего начать даже не представляю. Если бы кто-нибудь помог разобраться в ней, было бы идеально. И еще одна (в принципе уже решена, но мне непонятно, почему используется команда xchg? и как решить ее же, но с помещением промежуточных результатов в стек (а надо ли оно?) 1.Вычислить значение выражения (53+8)*2 + (150-60)/3. Полученный результат записать в регистр DX. Ответ: 152. Сама программа
понимаю что дотянул до последнего, но помогите, пожалуйста, хотя бы (самой основной) первой задачей. правда очень нужно.
0
|
||||||
| 15.01.2012, 13:25 | |
|
Ответы с готовыми решениями:
13
Команды логических операций, сдвигов, выделение битовых полей Команды логических операций, сдвигов Команды логических операций и сдвигов |
|
85 / 85 / 38
Регистрация: 09.12.2011
Сообщений: 174
|
|||||||
| 15.01.2012, 14:31 | |||||||
div dl ; делим именно AX на DL (делимое всегда в AX если делитель байт) Можно конечно использовать и стек, но действительно надо-ли ? push bx pop ax
0
|
|||||||
|
1 / 1 / 0
Регистрация: 26.12.2010
Сообщений: 26
|
|
| 15.01.2012, 14:54 [ТС] | |
|
Огромное спасибо за ответ! Только вот еще вопрос по поводу первой задачи: при попытке ассемблирования появляется ошибка: Аргументы неприменимы сl, DataByte
0
|
|
|
85 / 85 / 38
Регистрация: 09.12.2011
Сообщений: 174
|
||||||
| 15.01.2012, 15:45 | ||||||
|
Вот полностью
0
|
||||||
|
1 / 1 / 0
Регистрация: 26.12.2010
Сообщений: 26
|
|
| 15.01.2012, 17:24 [ТС] | |
|
к сожалению все равно не проходит ассемблирование, пишет Неправильное имя метки: .model
для проверки работоспособности программы ее нужно написать и запустить в veAsmEd, однако пока ничего не выходит
0
|
|
|
85 / 85 / 38
Регистрация: 09.12.2011
Сообщений: 174
|
|
| 15.01.2012, 17:30 | |
|
Это под TASM написано. Т.е. некоторые директивы будут по другому.
1
|
|
|
1 / 1 / 0
Регистрация: 26.12.2010
Сообщений: 26
|
|
| 15.01.2012, 19:59 [ТС] | |
|
скажите, а решается ли первая задача через стек (с помощью команд push и pop) и как более рационально
0
|
|
|
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
|
|
| 15.01.2012, 20:15 | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 26.12.2010
Сообщений: 26
|
|||||||
| 15.01.2012, 20:56 [ТС] | |||||||
|
1. В исходном байте DataByte биты 0…3 содержат двоичный код, который обозначим как А, биты 4…5 - код, который обозначим как В, биты 6…7 - код, который обозна-чим как С. Вычислить А+2*В+2*С.
0
|
|||||||
|
Ушел с форума
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
|
||||||
| 16.01.2012, 12:16 | ||||||
|
tvincen, можно проще
по условию DataByte=00000000ccbbaaaa, умножение на 2 это сдвиг влево на 1 разряд
2
|
||||||
|
1 / 1 / 0
Регистрация: 26.12.2010
Сообщений: 26
|
|
| 16.01.2012, 14:16 [ТС] | |
|
ВСЕМ большое спасибо, что помогли разобраться!
0
|
|
|
silf00
|
||||||
| 18.11.2012, 19:26 | ||||||
|
Задача, как озвучено в первом сообщении: "В исходном байте DataByte биты 0…3 содержат двоичный код, который обозначим как А, биты 4…5 - код, который обозначим как В, биты 6…7 - код, который обозначим как С. Вычислить А+2*В+2*С"
Я пишу её в veAsmEd (модель процессора intel 8086) и выглядит она так:
|
||||||
|
Клюг
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
|
||||||
| 18.11.2012, 22:39 | ||||||
|
Можно покороче, но для наглядности:
0
|
||||||
|
silf00
|
|
| 29.11.2012, 22:44 | |
|
CgfcСпасибо, но проблема оказалась в том, что маску просто надо было наложить в 16-ричной СС. Может проблема и не в том была, но когда я это исправила, то все заработало. а побитовый сдвиг вообще никак не вышел( только маска(
|
|
| 29.11.2012, 22:44 | |
|
Помогаю со студенческими работами здесь
14
Команды сравнения и логических сдвигов
Выполнение битовых логических операций Особенности битовых сдвигов Сравнение логических(битовых) и арифметических операторов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|