某计算机按字节编址,采用小端方式存储信息/大端方式存储信息

1、须知:

大端模式(Big-endian)

高位字节排放在内存的低地址端,低位字节排放在内存的高地址端,即正序排列,高尾端;
某计算机按字节编址,采用小端方式存储信息/大端方式存储信息_第1张图片

小端模式(Little-endian)

低位字节排放在内存的低地址端,高位字节排放在内存的高地址端,即逆序排列,低尾端;
某计算机按字节编址,采用小端方式存储信息/大端方式存储信息_第2张图片

LSB

英文 least significant bit,中文义最低有效位。

MSB

Most Significant Bit的缩写,指最高有效位。
某计算机按字节编址,采用小端方式存储信息/大端方式存储信息_第3张图片

2、课本例题

某计算机按字节编址,采用小端方式存储信息/大端方式存储信息_第4张图片
1 、LSB存放的地址即最低有效字节地址,由于小端方案,最低有效字节存储在最小地址位置。
2 根据基址寻址,该地址为基址寄存器内容+形式地址。

基址寄存器内容:C000 0000H

内存:(我们先假设这个数据的LSB为00H)
低地址 | 00|数据低字节 ,
高地址 | XX| 数据低字节
LSB为00,这里形式地址FF00是负数,
  补码操纵如下:

  C000   0000h+     FFFF   FF00=BFFF     FF00

  变为原码-0100H,源码操作:

C000 0000H - 0100H ( FF00的原码) = BFFF FF00H  
  

3、类型题:

某计算机按字节编址,采用大端方式存储信息。其中,某指令的一个操作数的机器数为ABCD00FFH,该操作数采用基址寻址方式,指令中形式地址(用补码表示)为FF00H,当前基址寄存器的内容为C000 0000H,则该操作数的LSB(即机器数的最后的FFH–低位在内存的高地址端)存放的地址是()。
问题1选项
A.C000 FF00H
B.C000 FF03H
C.BFFF FF00H
D.BFFF FF03H

-D
同理:
基址寄存器内容:C000 0000H

内存:
低地址 |	AB|数据高字节 ,
	  | CD|
	  | 00|
高地址 | FF| 数据低字节
LSB为FF,这里形式地址FF00是负数,
  补码操纵如下:

  C000  0000h+ FFFF  FF00=BFFF FF00H  
  上一道题实际上求到的地址是我们这道题的ABH(MSB)存放位置,还要再移动3次字节的位置才到达LSB。
数据每次移动1个字节(相当于AB->CD),在内存中的地址是移动1,
  所以需要移动3,也就是在上一题的基础上,再加上3
  即是BFFF FF03H 

这2道题刚好来分辨大小端存储信息的不同。

你可能感兴趣的:(计算机组成与系统结构)