module change(clk,rst,out);
input clk,rst;
output [15:0]out;
reg [15:0]data;
reg [15:0]out;
reg [3:0]width;
always@(posedge clk)
if(!rst)
begin
output<=16'h0000;
end
else if(width==15)
width<=0;
else
begin
width<=width+1'b1;
out[width]<=data[15-width];
end
就是自己写一段代码,然后将reg data中的一组16位数反过来赋值给输出能不能把问题问得详细一点,如果只是简单判断计算机存储数据的高位放在高地址还是低地址的话,这个需要确定计算机的内存存放数据是以大端规则小端规则,如果大端,则数据的高位放在低地址端,数据低位放在高地址端,例如我有一个16进制数,0x23,即二进制的0010 0011,从左到右是高位到地位。我有一个内存地址是0x0000~0x0010,大端就是把高位16进制数的4个高位放在低地址上即,0010放在内存高地址0x0001上,而16进制低位数据0011放在内存低地址0x0000上。小端规则,就是高位数据放在高位地址,低位数据放在地地址位,与大端相反
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)