assemble 0500H OFFSET .EQU 0 ANZAHL .EQU 16 ;SUMME .EQU R1 wie? ; ;.org 500H ; VALUE_TABLE: ; .byte 01,02,03,04,05,06,07,08 .byte 09,10,11,12,13,14,15,16 ; ERGEBNIS: .byte 00 ; dummy, Ergebnis nop ; adr. allign ; DURCH16: ; durch 16 teilen ; sha.w #-4H,R1 ; durch 16 teilen mov.b R1L,ERGEBNIS ; und abspeichern (adr.510H) ; start: ; mov.w #0000, R1 ; in R1 Summe bilden mov.b #OFFSET, A0 ; A0: Offset auf die VALUE_TABLE ; LOOP_ADD: ; add.b VALUE_TABLE[A0], R1L ; Wert holen (adr.: [500H + A1]) adcf.b R1H ; carry addieren inc.w A0 ; index erhöhen cmp.b #ANZAHL, A0 ; Anz.erreicht? jeq DURCH16 ; zum teilen und Erg. speichern jmp.b LOOP_ADD