2017-05-18 3 views
0

sb $s. i($d)MIPS sb Betreiber: other 3 Bytes

Wenn das niedrigstwertige Byte des $s an der Speicheradresse gespeichert ist [i + $ d], was die anderen 3 höherwertigen Bytes [i + $ d]?

Ist es die Vorzeichenerweiterung oder Nullerweiterung des niedrigstwertigen Bytes bei $ s?

Edit:sb speichert das niederwertige Byte $s in genau 1 Byte Platz an der Adresse [i + $ d]. Daher ist keine Erweiterung erforderlich.

Antwort

1

sb ist Store Byte - nichts ist bei jeder anderen Adresse gespeichert.

+0

außer an Adresse [i + $ d] was ist, was ich frage. Referenz: www.mrc.uidaho.edu/mrc/people/jff/digital/MIPSir.html – NoName

+0

Diese Referenz spricht über das Laden aus dem Speicher - "lb" für die Vorzeichenerweiterung, 'lbu' für die Nullerweiterung. Beim Speichern im Speicher gibt es keine Erweiterung, höhere Bits im Wert werden einfach abgeschnitten. – jasonharper

+0

Es spricht auch über 'sb', wenn Sie nach unten scrollen. Ich verstehe, dass nur das niedrigstwertige Byte von '$ s' gespeichert wird, aber wenn Sie 1 Byte in einem 4-Byte-Register speichern. Die anderen 3 Bytes enthalten immer noch den Wert. Zum Beispiel lädt 'lb $ d, i ($ s)' ein Byte von der Adresse [i + $ s] und "zeichen-verlängert" dieses Byte in 4 Bytes, um in $ d gespeichert zu werden. – NoName