лево а есть наоборот от чего это зависит ?
Обычно зависит от аппаратной реализации или операционной системы. Определить легко: Пишешь единичку в int и потом обращаешься к первому индивидуальному байту в int. Если там 1, то это little-endian, а если 0, то big endian
Можно пример зависимости от операционной системы? Чтобы вот на одном и том же процессоре, в зависимости от ОС была бы разная схема памяти BE или LE.
если на си кодишь посмотреть сигнатуру обьектного файла. Видишь Data там little endian это формат записи
https://www.ibm.com/support/pages/just-faqs-about-little-endian
Да не только на си, но я еще хочу понять, есть же допустим регистры и инструкции то бишь определённый ренистр отвечает за исполнение инструкций так ведь ?
в компе MMIX знаю точно что BE
есть процы с возможностью переключения эндианности в рантайме
нет, выполнением занимается АЛУ, короче схема внутри проца которая непосредственно и производит операцию, просто каждая инстркция может выполнятся с использованием некоторых специализированных регистров, но это не обязательно.
Немного начинаю понимать, но пока еще лаборатории не сделал, главное сейчас вникнуть 😁 а потом пойдет дело я думаю
Флаг DF
А где его смотреть то ?
Ну например через pushf Ещё можно через scasb с проверкой на EDI (-1 или 1) Также lodsb
Для меня это если честно прям ничего не сказал, можно скрин? )))
ты опять неправильно выражаешься и тебя понимают ровно так как ты спрашиваешь
Да там с ошибками ещё написал )))
Какой скрин? В EDI какой-то адрес кладёшь на строку, и проверяешь: mov edi, addr mov eax, edi scasb sub edi, eax EDI = -1 = DF = 1 EDI = 1 = DF = 0
ты щас спрашиваешь про big indian & litle indian (разговор о которых велся раньше)? или про флаг направления для строковых инструкций?
Просто есть где addr -> edi fа есть не справа на лево а наоборот
Про то куда и как данные правые операнды в левые или наоборот возможно я неправильно сейчас объясняю
не то что неправильно, просто не совсем понятно
Обсуждают сегодня