ARM彙編(2)

 

相關命令:

cmp :  比較,該指令完成後會將cpusr的相關BIT置位

blo xxx: 當cmp 比較結果爲小於(無符號數)時跳轉

運行環境:

使用keil5, 使用keil 來學習arm彙編是個不錯的方法,調試過程中可以看到每個寄存器的值,棧空間等;

    area text, CODE,READONLY
	export MaxSumOfContinualSeq
	export MaxtixSum
    entry
;*********************************************
;MaxSumOfContinualSeq
;連續子序列最大和
;*********************************************
MaxSumOfContinualSeq
    mov r2,#0
    mov r4, #0
    mov r5, #0	
	mov r6, #0xFFFFFFFF
loopn
    mov r3, 4      ;specified array with type of int
	mul r3, r3, r2
	ldr r5, [r0, r3]
	
	add r4, r4, r5
	cmp r4, r6
	movgt r6, r4
	cmp r4, #0
	movlt r4,#0
	
	add r2, r2, #1
    cmp r2,r1
	blo loopn
	mov r0, r6
	bx lr
	
	
;*********************************************
; MaxtixSum
; 求矩陣的和,練習訪問二位數組
; @input:R0,matrix addr
; @input:R1,line number
; @input:r2,column number
;*********************************************
MaxtixSum
   mov r4, #0
   mov r5, #0
   mov r8, #0
loopo
    mov r5, #0
loopp	
	mov r6, 4
	mov r9, r4
	mul r9, r9, r2
	add r9, r9, r5
	mul r6, r6, r9
	
    ldr r7, [r0, r6]	
	add r8, r8, r7
	
	add r5, r5, #1
	cmp r5, r2
	blo loopp
	
	add r4, r4, #1
	cmp r4, r1
    blo loopo
	mov r0, r8
	bx lr
	
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章