prog: equ $0800 data: equ $0900 array: equ $E000 len: equ $20 CODE: section .text org prog ldx #array ; initialize pointer ldy #0 ; initialize sum to 0 loop: ldab 0,x ; get number brclr 0,x,$01,even ; check to see if even aby ; odd - add to sum even: inx ; point to next entry cpx #(array+len) ; more to process? blo loop ; if so, process sty answer ; done -- save answer swi DATA: section .data org data answer: ds.w 1 ; reserve 16-bit word for answer