00001 *************************
00002 *
00003 * M3208.ASM
00004 * MDJ 09-26-90
00005 *
00006 * 32-BIT BY 8-BIT
00007 * UNSIGNED INTEGER
00008 * MULTIPLY
00009 *
00010 *************************
00011 *
00012 * U AND S STACKS MUST
00013 * ALREADY BE INITIALIZED
00014 *
00015 * ON ENTRY, 32-BIT
00016 * MULTIPLICAND MUST BE IN
00017 * MLTIC1 AND 8-BIT 
00018 * MULTIPLICAND MUST BE IN
00019 * MLTICB
00020 *
00021 * ON RETURN, 32-BIT
00022 * RESULT IS IN RESULT AND
00023 * 16-BIT RESULT (IF
00024 * VALID) IS IN R16
00025 *
00026 *************************
00027 *
00028 * THIS ROUTINE IS OF
00029 * PRIMARY VALUE FOR
00030 * NUMBER TO CHARACTER
00031 * CONVERSIONS AND VICE
00032 * VERSA
00033 *
00034 *************************
00035 *
00036 MLTIC1  EQU     $CB     32-BIT MULTIPLICAND (SCRATCHPAD)
00037 MLTICB  EQU     $CF     8-BIT MULTIPLICAND (SCRATCHPAD)
00038 RESULT  EQU     $CF     32-BIT RESULT (SCRATCHPAD)
00039 R16     EQU     $D1     16-BIT RESULT (SCRATCHPAD)
00040         ORG     $4460
00041 M3208   PSHS    A,B
00042         LDB     MLTICB  SET-UP ITERATIVE MLTICB
00043         PSHS    B
00044         PSHS    B
00045         PSHS    B
00046         PSHS    B
00047         CLR     RESULT  CLEAR RESULT
00048         CLR     RESULT+1
00049         CLR     RESULT+2
00050         CLR     RESULT+3
00051         LDA     MLTIC1+3
00052         PULS    B       MLTICB
00053         MUL             A4*B1
00054         STD     RESULT+10 T3A & T4A
00055         LDA     MLTIC1+2
00056         PULS    B       MLTICB
00057         MUL             A3*B1
00058         STD     RESULT+8 T2A & T3B
 
 
 
 
 
 
 
 
00059         LDA     MLTIC1+1
00060         PULS    B       MLTICB
00061         MUL             A2*B1
00062         STD     RESULT+6 T1A & T2B
00063         LDA     MLTIC1
00064         PULS    B       MLTICB
00065         MUL             A1*B1
00066         STD     RESULT+4 T0A &T1B
00067         LDA     RESULT+11 T4A
00068         STA     RESULT+3 R4
00069         LDA     RESULT+10 T3A
00070         ADDA    RESULT+9 +T3B
00071         STA     RESULT+2 R3
00072         LDA     RESULT+8 T2A
00073         ADCA    RESULT+7 +T2B
00074         STA     RESULT+1 R2
00075         LDA     RESULT+6 T1A
00076         ADCA    RESULT+5 +T1B
00077         STA     RESULT  R1
00078         PULS    A,B
00079 ZEND    RTS
00080         END
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
