Фрагменты MIPS для определения сброса, установки и значения бита k

Sudeep Baniya спросил: 14 ноября 2017 в 06:30 в: assembly
  A:ori $t1, $zero, 1
    sra $t1, k
    andi $t0, $t0, $t1  B:ori $t1, $zero, 1
    srl $t0, k
    and $t0, $t0, $t1  C:ori $t1, $zero, 1
    sll $t1, k
    not $t1, $t1
    and $t0, $t0, $t1  D:ori $t1, $zero, 1
    srl $t1, k
    not $t1, $t1
    and $t0, $t0, $t1  E:ori $t1, $zero, 1
    sll $t1, k
    ori $t0, $t0, $t1

  1. Какой код предназначен для очистки бита k в t0?

  2. Какой код предназначен для установки бита k в t0?

  3. Какой код предназначен для значения бита k в t0?

Из того, что я смог сделать, я получил : 1: C2: D3: B

Варианты A и E опущены, так как andi не добавляется немедленно и ori имеет ту же проблему. Верны ли мои ответы? В любом случае, вы можете дать мне объяснение того, как работает каждый фрагмент, так как я путаюсь со сборкой.

Заранее спасибо,

0 ответов