****************************************************** * ASCBIN.SRC * ****************************************************** CODE EQU $8000 ;start at $8000 DATA EQU $9000 ;data starts at $9000 ORG CODE ;program at $8000 ASCBIN MOVEA.L #STRING,A0 CLR.W D6 ;D6 accumulates ans. CLR.L D4 ;D4 holds ASCII char. MOVE.W #10,D5 ;D5 = 10 (always) LOOP MOVE.B (A0)+,D4 ;get character BEQ.S DONE ;if null, done MULU D5,D6 ;if not, old x 10 ANDI.B #$0F,D4 ;reduce new to BCD ADD.L D4,D6 ;add new to old BRA LOOP ;repeat MOVEA.L #RESULT,A1 DONE MOVE.W D6,(A1) ;save result TRAP #14 * * Use DC directives to initialize RAM * ORG DATA ;data at $9000 RESULT DC.W 0 STRING DC.B '0','0','0','7','6','8','3',0 END ASCBIN