вторая. первая EAX, а как получить вторую? :)
я так понимаю аналогии ax = ah+al нет?
Можно через сдвиг
прямо никак, нет
но не нужно, регистров достаточно, чтоб не пихать данные в 1 регистр
Ну так анализируете те 32 бита, что вам нужны и все
Что бы считать верхние 32 бита отдельно можно извратиться и записать их куда-нибудь, считывать побитово, далее динамически загружая их в другую область, откуда они могут быть направлены в "настоящий" 32-битный регистр
Хах, а вот вариант с памятью это самое последнее, о чём надо думать
Не совсем понимаю как это можно сделать, но побитовое чтение из регистра в другой было бы здесь кстати
Ну, вроде вопрос был в том, "как получить вторую"
Bswap rax Bswap eax В итоге в eax искомая верхняя часть. Возможно неэффективно.
Оуоуоу... Это не совсем то, что вам нужно. Оно не вращает по кругу, как типа ROL/ROR, а меняет местами старшие и младшие байты. Т.е. из: 12-34-56-78 сделает: 78-56-34-12 (!) А вам нужно: 56-78-12-34
Обсуждают сегодня