Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2023, 14:10   #1
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 627
По умолчанию Передать константу в 1 байт через basm

Код:
mov [eax], 92
- передало не один байт 92, а четыре байта - 0, 0, 0, 92

Как сделать так, чтобы передался именно один байт?
Kronos913 вне форума Ответить с цитированием
Старый 27.09.2023, 19:59   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Обращайтесь к частям регистра al, ah
p51x вне форума Ответить с цитированием
Старый 27.09.2023, 21:58   #3
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 627
По умолчанию

Так там [eax], а не просто eax
В том плане что [eax] - адрес в памяти, куда нужно записать 92
Kronos913 вне форума Ответить с цитированием
Старый 27.09.2023, 22:06   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Код:
mov byte ptr [eax], 92
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 28.09.2023, 16:20   #5
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,777
По умолчанию

Именно в BASM можно еще так (использовать типы Delphi):
Код:
MOV [EAX].Byte, 92
Vapaamies вне форума Ответить с цитированием
Старый 28.09.2023, 18:56   #6
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 627
По умолчанию

Спасибо. Проверил ради интереса через Debug - одно и то же, фактически выходит
Изображения
Тип файла: png изображение_2023-09-28_185607017.png (2.4 Кб, 21 просмотров)
Kronos913 вне форума Ответить с цитированием
Старый 28.09.2023, 18:57   #7
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 627
По умолчанию

Цитата:
Сообщение от Kronos913 Посмотреть сообщение
Спасибо. Проверил ради интереса через Debug - одно и то же, фактически выходит
И главное что работает без костылей
Kronos913 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обратиться к регистру через методы delphi? Или вызов функции из basm Kronos913 Общие вопросы Delphi 2 22.04.2022 21:44
Надо передать в функцию массив байт, как массив dword-ов. Kuzya69 Общие вопросы Delphi 7 30.07.2016 01:27
Как методу передать массив байт vovken1997 Общие вопросы C/C++ 6 08.07.2013 20:57
Передать массив байт [D7]Indy => [XE2]Indy Человек_Борща Работа с сетью в Delphi 1 15.09.2012 22:06
Прием и передача байт и бит через COM-порт от 16 разрядного МК Miyka Win Api 6 11.06.2010 00:42