ORG $100 ****************************************************** Main: move.w #Name, di move.w #16, dx move.w #$2100, ax trap #$21 ****************************************************** Get_Checksum: move.w #X_DATA, si xor.l a, a _loop_A: xor.l c, c dc.b $66 move.w ax, bp move.b (di), cl inc.w di move.l c, b xor.l a, b and.l #$F, b dc.b $66 shr.w #4, bp dc.b $66 push.w bx shl.w #2, bx dc.b $66 move.w 0(si, bx), a dc.b $66 pop.w bx dc.b $66 xor.w bp, ax move.l a, b shr.l #4, c and.l #$F, b and.l #$F, c xor.l c, b shr.l #4, a dc.b $66 push.w bx shl.w #2, bx dc.b $66 move.w 0(si, bx), c dc.b $66 pop.w bx xor.l c, a dec dx bne _loop_A rts ****************************************************** data ****************************************************** Name dc.b 50, 0 ds.b 51 Company dc.b 50, 0 ds.b 51 X_DATA dc.b $00, $00, $00, $00 dc.b $7E, $88, $3E, $1C dc.b $FC, $10, $7D, $38 dc.b $82, $98, $43, $24 dc.b $F8, $21, $FA, $70 dc.b $86, $A9, $C4, $6C dc.b $04, $31, $87, $48 dc.b $7A, $B9, $B9, $54 dc.b $F0, $43, $F4, $E1 dc.b $8E, $CB, $CA, $FD dc.b $0C, $53, $89, $D9 dc.b $72, $DB, $B7, $C5 dc.b $08, $62, $0E, $91 dc.b $76, $EA, $30, $8D dc.b $F4, $72, $73, $A9 dc.b $8A, $FA, $4D, $B5