SORCIM 680x Assembler ver 3.1 0?/3>/01 =::77 Page 1 * REENTRANT MULTIPLICATION * MULTIPLIES TWO 8 BIT UNSIGNED NUMBERS GIVING * A 16 BIT UNSIGNED PRODUCT * A * B = A,B * 0000 = 0000 ORG $0 0000 8E0035 TEST LDS #STACK 0003 860A LDA A #10 0005 C614 LDA B #20 0007 BD000D JSR MPY8 ;CALL MULTIPLY SUBROUTINE 000A 7E000A JMP * 000D 36 MPY8 PSH A ;MULTIPLICAND TO STACK 000E 8608 LDA A #8 0010 36 PSH A ;COUNT TO STACK 0011 30 TSX 0012 4F CLR A 0013 56 ROR B 0014 2402 ^0018 M3 BCC M4 ;DO NOT ADD 0016 AB01 ADD A 1,X ;ADD MULTIPLICAND 0018 46 M4 ROR A 0019 56 ROR B 001A 6A00 DEC 0,X ;DECREMENT COUNT 001C 26F6 ^0014 BNE M3 001E 31 INS ;RESTORE STACK 001F 31 INS 0020 39 RTS ;SUBROUTINE RETURN 0021 = 0014 RMB 20 ;TEMP STORAGE FOR STACK 0035 = 0001 STACK RMB 1 ;START OF STACK (WHEN EMPTY) END no ERRORs, 5 Labels, 94C7h bytes not used. Program LWA = 0036h.  SORCIM 680x Assembler ver 3.1 0?/3>/01 =::77 Page 2 M3 0014 1#19 1/24 M4 0018 1/19 1#21 MPY8 000D 1/10 1#13 STACK 0035 1/ 7 1#32 n TEST 0000 1# 7