1. 程式人生 > >arm32位固定指令中怎麽容納32位變量

arm32位固定指令中怎麽容納32位變量

固定 這就是 mar span 通過 idt mic 負責 tle

在ARM指令集匯編碼中。32位有效馬上數是通過______偶數位而間接得到的

A、循環左移
B、循環右移、
C、邏輯左移、
D、邏輯右移

答案為循環左移。為什麽?還有最好解釋一下邏輯移動和循環移動的概念
在ARM指令中,有三個操作數,目的操作數,第一原操作數。第二原操作數。當中最有意思的就是第二原操作數了,在ARM 指令中。第二原操作數共同擁有12位,分成兩個部分,一個部分占8位,能表示0—255,另外一個部分占4位。表示第一個部分8位數零擴展成32位的右循環移位。0001右循環移位2位。0010右循環移位4位,以此類推,來擴大用12位表示更大的數,但不能表示所有,這就是所謂的8位位圖原理,你細細品一下,認為非常有意思的,至於8位位圖不能表示的馬上數就僅僅能另外想辦法處理了,最多用四次相或處理。比方:(KK#00)ORR(PP#0100)ORR(YY#1000)ORR(XX#1100),當中KK、PP、YY、XX表示隨意的8位馬上數,用這個方案是不是能夠實現隨意的32位馬上數呢?
ARM指令中馬上數是由一個8位(1~255)馬上數循環右移得到的,當中循環右移位數由一個4位數乘2表示(0~30)。也就是說不是全部的32位馬上數是合法的。
喜歡喝尖叫,昨晚一瓶喝完了放在床前。半夜尿急實在不想下樓,就尿在裏面了。 
今天又買了一瓶。放在旁邊了。剛剛有點渴順手拿了一瓶,對,你沒有猜錯拿了昨天晚上的那一瓶。
尼瑪非常負責任的告訴你尿是什麽味道,非常苦非常苦,還他媽有點鹹!

……付出血的代價能過十了吧?


arm32位固定指令中怎麽容納32位變量