shifting registers to right in the mic-1 without fetches

163 views Asked by At

this is the first time I post a question here so feel free to give me some feedback were something not described in the proper manner. To the actual question:

I was wondering if there was a way to shift a word in one of the registers TO THE RIGHT by 2 bytes without fetches or the arithmetical shifter (EX with fetch: just write the word to memory address 0x0 and fetch 0x0 -> << 8 copy it back in OPC or whatever then OR to the desired register, fetch address 0x1 and OR again to the register without shifting to left this time).

So a register containing 0xcccc1111 should become 0x0000cccc

Here is a small description of the micro-architecture of the mic-1.

Thanks for the help

The purpose is to copy a word that starts from memory 0x2 into LV in a more efficient fashion: this should work but it uses both fetch and write and it's probably complete trash :(

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;
0

There are 0 answers