Ich komme leider nicht unter 81 Befehle ;(
Dafür ist es aber exakt
Eingabe R0 Ausgabe R1. R2 Wird während der Berechnung überschrieben
;Zu berechnendes X
MOV R0,#4096
;bit= #0x40000000
MOV R1,#0 ;res
ADD R2,R1,#0x40000000
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x40000000
ADD R2,R1,#0x10000000
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x10000000
ADD R2,R1,#0x4000000
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x4000000
ADD R2,R1,#0x1000000
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x1000000
ADD R2,R1,#0x400000
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x400000
ADD R2,R1,#0x100000
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x100000
ADD R2,R1,#0x40000
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x40000
ADD R2,R1,#0x10000
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x10000
ADD R2,R1,#0x4000
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x4000
ADD R2,R1,#0x1000
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x1000
ADD R2,R1,#0x400
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x400
ADD R2,R1,#0x100
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x100
ADD R2,R1,#0x40
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x40
ADD R2,R1,#0x10
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x10
ADD R2,R1,#0x4
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x4
ADD R2,R1,#0x1
SUBS R2,R0,R2
MOV R1,R1,LSR #1
MOVpl R0,R2
ADDpl R1,R1,#0x1
Aber wenn man das ganze in VHDL rekodiert kann man es bestimmt in einen Takt schaffen…