|
Alvin Seville
|
||||||
Получение доступа к регистрам07.11.2018, 15:41. Показов 1893. Ответов 12
Метки нет (Все метки)
Правильно ли я понимаю, что когда я пишу имя регистра или переменной, то фактически указываю на её первый (самый левый) бит самого левого байта? Например, здесь:
0
|
||||||
| 07.11.2018, 15:41 | |
|
Ответы с готовыми решениями:
12
Получение доступа Получение доступа |
|
2151 / 1230 / 508
Регистрация: 11.10.2018
Сообщений: 6,213
|
||
| 07.11.2018, 15:46 | ||
|
1
|
||
|
Модератор
|
|
| 07.11.2018, 16:31 | |
|
Только регистр-регистр перемещается с расширением инструкциями
movz и movx. Иначе не скомпилируется.Эти же инструкции можно и в других случаях использовать. Просто mov eax, bx - точно ошибочно.
2
|
|
|
Alvin Seville
|
|
| 07.11.2018, 17:40 [ТС] | |
|
ФедосеевПавел, верно ли, что если мне надо получить доступ к второму байту eax, к примеру, то я должен написать что-то вроде eax + 1? Ну, если я не прав, скажите как правильно.
0
|
|
|
6772 / 2740 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
|
| 07.11.2018, 18:37 | |
|
Доступ ко второму (считая младший байт AL первым) байту EAX это просто AH. А к третьему и четвертому байту можно добраться только сдвигая регистр EAX.
2
|
|
|
Модератор
|
|
| 07.11.2018, 19:07 | |
|
Или зеркально побайтно отобразив eax инструкцией
bswap.
2
|
|
|
Alvin Seville
|
|
| 07.11.2018, 20:09 [ТС] | |
|
Ethereal, то есть когда я пишу eax - подразумевается регистр как единое целое. Когда же я хочу обратиться к его части, то пользуюсь, например AH.
0
|
|
|
Эксперт Hardware
|
|||||||
| 07.11.2018, 20:32 | |||||||
bswap меняет байты местами.т.е. 1234 превратится в 3412:
2
|
|||||||
|
Модератор
|
|||
| 07.11.2018, 20:39 | |||
ror eax, 16 и после bswap eax. Вроде бы не ошибся.
1
|
|||
|
6772 / 2740 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
|
| 07.11.2018, 20:55 | |
|
2
|
|
|
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
|
|
| 07.11.2018, 22:34 | |
Сообщение было отмечено Mikl___ как решение
Решение
Соколиный глаз,
Прежде, чем задавать такие вопросы, прочтите Электронный учебник Ассемблер - язык процессора, это язык точной типизации, ещё более "точнейшей", чем PASCAL+. Любая переменная для процессора определяется адресом в памяти и размером в байтах и больше никаких абстракций. Компилятор ЯВУ превращает фантазию программиста - типа value:real в value db 6 dup(?)(режим эмуляции FPU), и потом к этой переменной применяет нужный код. Думаю, Вы как кодер PABC.net, встречали сообщение:"для данного типа нет соответствующей операции". Посмотрите, что говорят разные потомки Паскаля. Это значит, что компилятор ЯВУ не знает как абстракцию перевести в язык адрес:размер, ну не предусмотрели создатели компилятора ЯВУ такого варианта.
2
|
|
|
112 / 91 / 31
Регистрация: 24.10.2018
Сообщений: 336
|
|||||||
| 07.11.2018, 22:45 | |||||||
1
|
|||||||
|
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
|
|||
| 07.11.2018, 22:49 | |||
|
а забыл добавить mov eax, bx -> 32-а бита и 16-ть, понимаете как "весы" завалились в одну сторону. Компилятор Вам скажет
2
|
|||
| 07.11.2018, 22:49 | |
|
Помогаю со студенческими работами здесь
13
Получение доступа к MainWindow
Получение доступа к SpecialFolders Получение доступа к ресурсу Получение доступа к уже открытому IE Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
||||
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1
У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\
А в самом низу файла-профиля. . .
|
|
PowerShell и онлайн сервисы. Валюта (floatrates.com руб.)
iNNOKENTIY21 11.11.2025
PowerShell функция floatrates-rub
Примеры вызова:
# Указанная валюта 'EUR'
floatrates-rub -Code 'EUR'
# Список имеющихся кодов валют
floatrates-rub -Available
function floatrates-rub {
|
PowerShell и онлайн сервисы. Погода (RP5.ru)
iNNOKENTIY21 11.11.2025
PowerShell функция Get-WeatherRP5rss для получения погоды с сервиса RP5
Примеры вызова
Get-WeatherRP5rss
с указанием id 5484 — Москва (восток, Измайлово) и переносом строки:. . .
|
PowerShell и онлайн сервисы. Погода (wttr)
iNNOKENTIY21 11.11.2025
PowerShell Функция для получения погоды с сервиса wttr
Примеры вызова:
Погода в городе Омск с прогнозом на день, можно изменить прогноз на более дней, для этого надо поменять запрос:. . .
|
PowerShell и онлайн сервисы. Валюта (ЦБР)
iNNOKENTIY21 11.11.2025
# Получение курса валют
function cbr (] $Valutes = @('USD', 'EUR', 'CNY')) {
$url = 'https:/ / www. cbr-xml-daily. ru/ daily_json. js'
$data = Invoke-RestMethod -Uri $url
$esc = 27
. . .
|
И решил я переделать этот ноут в машину для распределенных вычислений
Programma_Boinc 09.11.2025
И решил я переделать этот ноут в машину для распределенных вычислений
Всем привет. А вот мой компьютер, переделанный из ноутбука.
Был у меня ноут асус 2011 года. Со временем корпус превратился. . .
|