lwl,lwr
lwl,lwr,swl,swr中的指令后綴r(right),l(left)都是相對寄存器而言,load操作是把取到的部分數據,置入寄存器的left或者right,store操作時將寄存器中的數據的 left或者right部分寫入目標地址。無論時大端和小端寄存器的格式都是固定的,即 寄存器中的有端時數據的低位,左端時數據的高位。非對齊訪問的解決都是將原來的一條(對齊訪問)完成的事分兩步完成:首先取始地址addr到下一個對齊地址處的部分數據,按一定的順序,置入寄存器的適當位置;然后取從該對齊地址到addr+len-1處的部分數據,按一定的順序,置入寄存器的適當位置。
lwr:
對于大端:從所指位置(地址)向低地址方向取數直至地址對齊,且按從低地址至高地址的順序將數據排序,將排序好的數據存放在寄存器的低位。
對于小端:從所指位置(地址)向高低址方向取數直至地址對齊,且按從高地址至低地址的順序將數據排序,將排序好的數據存放在寄存器的低位。
lwl:
對于大端:從所指位置(地址)向高地址方向取數直至地址對齊,且按從低地址至高地址的順序將數據排序,將排序好的數據存放在寄存器的高位。
對于小端:從所指位置(地址)向低地址方向取數直至地址對齊,且按從高地址至低地址的順序將數據排序,將排序好的數據存放在寄存器的高位。
總結
- 上一篇: C语言gets函数,fgets函数的使用
- 下一篇: 【FJWC2018】最大真因数