Запишите максимум двух инструкций очистить, установить и дополнить некоторые биты в регистре AL

Вы обязаны писать максимум двух инструкций в блоке, чтобы сделать следующее:

  1. Ясные биты 0 и 7 из регистра AL, т.е. делают их 0
  2. Биты набора 3 и 4 из регистра AL, т.е. делают их 1.
  3. Дополнительные биты 1 и 5 из регистра AL.
  4. Сохраните все другие биты в регистре AL, как, не изменяя их значения.
7
задан Bill the Lizard 20 September 2012 в 20:53
поделиться

2 ответа

Уловка заключается в следующем:

  1. используйте инструкцию OR, чтобы установить биты 0, 3, 4 и 7

  2. используют команду XOR для дополнения битов 0, 1, 5 и 7

Обратите внимание, что биты 0 и 7 сначала устанавливаются в (1), а затем сбрасываются в (2).

Я оставлю вам фактические инструкции asm, поскольку это, в конце концов, ваша домашняя работа.

9
ответ дан 6 December 2019 в 19:34
поделиться

Одна инструкция DB, определяющая массив из 256 "результирующих" значений, и одна инструкция перемещения для перемещения элемента этого массива в al, используя текущее значение в al в качестве индекса.

Разве это не сработает?

Можно даже возразить, что на самом деле это решение даже с одной инструкцией, поскольку БД на самом деле не является инструкцией, выполняемой во время выполнения, а скорее компиляцией. время декларативное.

4
ответ дан 6 December 2019 в 19:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: