我有一个计算机体系结构当然,这需要我编写一个基本PRPG一个家庭作业的问题。
基本概念,我的理解,就是采取一些起始编号,并调用它的种子。从那里,你方的种子,并将其存储为32位字。然后,你把位8至23,结合位0-7和24-31,并签署扩展它。存储回去,增加内存计数器,环路,只要你想,直到你有尽可能多的数字。
我的问题是关于中间位的“下落”,继剩余位的组合。一会究竟是如何去呢?我想在做逻辑或移位,但我真的不知道怎么会工作。
您需要移位和屏蔽做到这一点。
在C,它会被写入
int new, old;
int mask=0x000000ff ; //
new = (old & mask) // keeps only LS byte of old
| ((old >> 16) & ~mask) ; // and add MSByte at position 8:15
你只需要说明AND,OR,NOR(补充面具)和转移。 更好地利用SRA,而不是为SRL右移,因为你有自由符号扩展。