это первый раз, когда я публикую здесь вопрос, поэтому не стесняйтесь давать мне отзывы, если что-то не описано должным образом.На фактический вопрос:
Мне было интересно, есть ли способ сдвинуть слово в одном из регистров ВПРАВО на 2 байта без выборок или арифметического сдвига (EX с fetch: просто напишите слово дляадрес памяти 0x0 и выборка 0x0 -> << 8 скопируйте его обратно в OPC или что-то еще, затем OR в нужный регистр, выберите адрес 0x1 и OR снова в регистр, не сдвигаясь влево на этот раз). </p>
Так чторегистр, содержащий 0xcccc1111, должен стать 0x0000cccc
Здесь представляет собой небольшое описание микроархитектуры mic-1.
Спасибо за помощь
Цель состоит в том, чтобы скопировать слово, которое начинается с памяти 0x2, в LV более эффективным способом: это должно работать, но оно использует и выборку, и запись, и это, вероятно, завершено.мусор :(
MAR=0; rd;
PC=1;
H=PC=PC+1;
PC=PC+H; fetch;
MDR= MDR <<8; rd;
LV=MDR<<8; rd;
PC=PC+1;
H=MBRU << 8; fetch;
LV = LV OR H;
H = MBRU;
LV = LV OR H;