[請益] 關於ARM assemble的問題

看板Electronics作者 (我愛老婆)時間17年前 (2007/01/05 17:42), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
我想要完成一個可以開根號的程式 但PROEMULATOR的除錯一直不通過 一直找不到錯誤在哪邊 可以請各位幫忙看一下嗎 謝謝大家 AREA ROOT, CODE, READONLY ENTRY ; mark the first instruction to call Xn_0 rn 0 Xn_1 rn 1 d_1 rn 2 d_2 rn 3 n_1 rn 4 Xn_2 rn 5 Xn_3 rn 6 START LDR r0, =d LDR d_1, [r0] ; d_1 is d MOV d_2,d_1 ; d_2 is d Q16 type CLZ d_1,d_1 MOV n_1,#16 SUB d_1,n_1,d_1 ;d_1 is power of d MOV Xn_0,d_2,LSR d_1 MOV d_2,Xn_0 ;d_2 is 0x00.ff MOV Xn_2,#0x10000 LOOP MOV Xn_3,Xn_2,LSR #1 ; Xn_3 is n_1*Xn_2 =0.5 Xn UMULL Xn_0,Xn_1,Xn_2,Xn_2 ; Xn_0 = Xn_2^2 MOV Xn_1,Xn_1,LSL #16 MOV Xn_0,Xn_0,LSR #16 ADD Xn_0,Xn_0,Xn_1 UMULL Xn_0,Xn_1,d_2,Xn_0 ; Xn_0 is d * Xn_0 MOV Xn_1,Xn_1,LSL #16 MOV Xn_0,Xn_0,LSR #16 ADD Xn_0,Xn_0,Xn_1 MOV n_1, #3 ; n_1 is 3 SUB Xn_0,n_1,Xn_0 ; Xn_0 is 3-Xn_0 UMULL Xn_0,Xn_1,Xn_3,Xn_0 ; Xn_0 is Xn+1 MOV Xn_1,Xn_1,LSL #16 MOV Xn_0,Xn_0,LSR #16 ADD Xn_0,Xn_0,Xn_1 CMP Xn_2,Xn_0 MOV Xn_2,Xn_0 BNE LOOP UMULL Xn_0,Xn_1,Xn_0,d_2 MOV Xn_1,Xn_1,LSL #16 MOV Xn_0,Xn_0,LSR #16 ADD Xn_0,Xn_0,Xn_1 MOV d_1,d_1,LSR #1 ; d_1= d_1 /2 MOV n_1,#16 SUB d_1,d_1,n_1 MOV Xn_0,Xn_0,LSL d_1 STR Xn_0, [r0] d DCD 0x28000 END 謝謝大家..拜託了><" -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.25.118.140
文章代碼(AID): #15dXsFpv (Electronics)