私は現在宿題でちょっと立ち往生しており、親切に助けを求めています。私たちの仕事は x^4 / 4 を実装することです! アームの組み立て中。x^4 と 4! の正しい値の計算に成功しましたが、結果として明らかに浮動小数点を持つ除算の計算方法に行き詰まっています。私はすでにいくつかの助けを借りて単純な除算アルゴリズムを実装しましたが、私の理解では、これは整数除算のみですよね?
CMP R2, #0
BEQ divide_end
MOV R0,#0 ;clear R0 to accumulate result
MOV R3,#1 ;set bit 0 in R3, which will be
;shifted left then right
.start
CMP R2,R1
MOVLS R2,R2,LSL#1
MOVLS R3,R3,LSL#1
BLS start
;shift R2 left until it is about to
;be bigger than R1
;shift R3 left in parallel in order
;to flag how far we have to go
.next
CMP R1,R2 ;carry set if R1>R2
SUBCS R1,R1,R2 ;subtract R2 from R1 if this would
;give a positive answer
ADDCS R0,R0,R3 ;and add the current bit in R3 to
;the accumulating answer in R0
MOVS R3,R3,LSR#1 ;Shift R3 right into carry flag
MOVCC R2,R2,LSR#1 ;and if bit 0 of R3 was zero, also
;shift R2 right
BCC next ;If carry not clear, R3 has shifted
;back to where it started, and we
;can end
.divide_end
多分私はここで本当にばかげているだけですが、どんな助けでも大歓迎ですどうもありがとう