MIPS伪随机模式发生器

问题描述 投票:0回答:1

我有一个计算机体系结构当然,这需要我编写一个基本PRPG一个家庭作业的问题。

基本概念,我的理解,就是采取一些起始编号,并调用它的种子。从那里,你方的种子,并将其存储为32位字。然后,你把位8至23,结合位0-7和24-31,并签署扩展它。存储回去,增加内存计数器,环路,只要你想,直到你有尽可能多的数字。

我的问题是关于中间位的“下落”,继剩余位的组合。一会究竟是如何去呢?我想在做逻辑或移位,但我真的不知道怎么会工作。

assembly mips
1个回答
1
投票

您需要移位和屏蔽做到这一点。

在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右移,因为你有自由符号扩展。

© www.soinside.com 2019 - 2024. All rights reserved.