|
0 / 0 / 0
Регистрация: 27.10.2025
Сообщений: 1
|
|
Сколько байтов перемещает mov27.10.2025, 16:50. Показов 1065. Ответов 9
Метки нет (Все метки)
mov ax, [es:di]
перемещает байт [es:di] в AL перемещает байт [es:di+1] в AH То есть перемещает два байта, а не один байт из [es:di] и не чистит верхний байт AH регистра?
0
|
|
| 27.10.2025, 16:50 | |
|
Ответы с готовыми решениями:
9
Что будет, если mov al,cs:string заменить на mov al,cs
Установить 0 в 5-ом бите всех байтов массива с четным индексом и 1-цу в 4-ом бите всех нечетных байтов массива |
|
2642 / 1653 / 267
Регистрация: 19.02.2010
Сообщений: 4,375
|
|
| 27.10.2025, 18:53 | |
|
Именно так.
Точнее, не перемещает - а копирует (ибо данные в источнике никуда не пропадают / никак не изменяются, в т.ч. если источником вместо памяти будет другой регистр). А вот команды movzx/movsx в аналогичном случае скопировали бы 1 байт данных в AL и обнулили (или изменили в соответствии с загруженным в AL значением) значение в AH. Т.е. байт [es:di+1] этими командами никуда бы не был скопирован / ни на что бы не повлиял.
1
|
|
|
332 / 91 / 5
Регистрация: 19.07.2024
Сообщений: 506
|
||
| 27.10.2025, 19:08 | ||
|
И да: не "два байта перемещает", а копирует полуслово (16-битное). Это одна команда, выполняющая одно действие.
0
|
||
|
Эксперт Hardware
|
|
| 27.10.2025, 19:17 | |
Сообщение было отмечено Mafaka123 как решение
Решение
Mafaka123, на будущее имейте в виду,
что регистровую пару ES:DI принято называть "приёмником" данных от "DI = Destination Index", а пару DS:SI "источником" от "SI = Sourсe Index". Например их неявно используют инструкции lodsb (чтение байта в AL из источника DS:SI), и stosb (запись из AL в приёмник ES:DI). У вас-же хоть и не принципиальная, но ошибка, т.к. вы читаете из приёмника, хотя должны из источника. То-есть правильней будет mov ax,[ds:si], а запись mov [es:di],ax. Привыкайте к подобного рода мелочам, чтобы потом не возникало путаницы.
3
|
|
|
332 / 91 / 5
Регистрация: 19.07.2024
Сообщений: 506
|
|||
| 27.10.2025, 19:26 | |||
|
MOV AX,ES:[DI] - нормальная команда. С явным указанием сегментного регистра. Никакой ошибки нет. Только её синтаксис у ТС странный. Но возможно какие-то компиляторы понимают и такой. Добавлено через 2 минуты
0
|
|||
|
332 / 91 / 5
Регистрация: 19.07.2024
Сообщений: 506
|
||
| 27.10.2025, 20:06 | ||
![]() Ещё и в PC должен быть правильный адрес.
0
|
||
|
Asm/C++/Delphi/Py/PHP/VBA
|
||
| 28.10.2025, 13:36 | ||
[es:di], а TASM/MASM-овский es:[di] не понимают.Добавлено через 1 минуту Вернее, FASM не понимает, а NASM понимает оба варианта.
1
|
||
|
213 / 59 / 7
Регистрация: 05.10.2023
Сообщений: 502
|
||
| 28.10.2025, 22:07 | ||
|
0
|
||
|
Asm/C++/Delphi/Py/PHP/VBA
|
|
| 29.10.2025, 18:00 | |
|
sporta1982, да, TASM/MASM ругаются на
[es:di]. MASM не компилит, а TASM генерирует просто [di] ![]() Добавлено через 8 минут Но, кстати! TASM имеет 2 режима: MASM и IDEAL ![]() Описанное выше — в режиме MASM (он используется по умолчанию), а вот в режиме IDEAL как раз mov ax,es:[di] будет выдавать warning, а mov ax,[es:di] скомпилится как надо
2
|
|
| 29.10.2025, 18:00 | |
|
Помогаю со студенческими работами здесь
10
Ошибка с SetConsoleCursorPosition не перемещает курсор Машинный код команды: MOV [SI], EAX Почему не работает mov RAX,RBX?? опертор mov mov ax,2[bx][si] Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Камера 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. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|