area test1,code,readonly
entry
code32
;從隨機的十個數中找出最小的,並存放在目標記憶體單元中
start
ldr r0,=src ;r0,r1--用於記錄資料記憶體位址
ldr r1,=dst
ldr r2,[r0]
mov r3,#9 ;迴圈次數
loop
add r0,r0,#4 ;指標移動
sub r3,r3,#1
ldr r4,[r0]
cmp r2,r4
blo next ;做作差比較,最值
mov r2,r4
next
cmp r3,#0
bne loop ;判斷迴圈結束
str r2,[r1]
ltrog ;定義資料緩衝池
src dcd 0x07,0x46,0x04,0x08,0x05,0x02,0x07,0x62,0x43,0x72 ;定義資料區
dst dcd 0
stop
b stop
end
ARM9學習筆記之 彙編
arm系列晶元與pc系列 可能我說法不太準確 晶元在指令設計上就有本質的區別。arm中每條指令是精簡指令集要麼是32位,要麼是16位。而pc的指令是複雜指令集,一條指令可以由多個位元組組成。1.關於函式呼叫方法 在arm彙編中,函式呼叫非常靈活。1 bl指令 bl initmem 呼叫 initme...
ARM9彙編 關鍵字
armv4t只有49條指令,加上4條偽指令,總共53條,詳細說明可見參考資料 1 p55 99,這裡重點說明書本中沒有說明,但是在程式設計過程中又使用到的一些關鍵字。這些關鍵字是由編譯器定義的,與arm其實沒有多大的關係。1 label 例項 start b start code 2 globl 根...
ARM9學習筆記之 MMU
我記得有一次我去應聘arm linux軟體工程師。結果被問到arm中的虛擬記憶體是怎麼管理的。由於我只對x86平台下的mmu了解,所以我被問倒了。原來我所學的只是皮毛。還有很多東西值得我去深入。要做arm linux下的驅動,熟悉虛擬記憶體應該是必須的。arm9中的虛擬記憶體是怎麼實現的呢?以下是我...