Mercurial > hg > Members > kono > nitros9-code
view lib/alib/mult16x16.a @ 2765:0bd16cca86b7
Updated rules.mak for all the os9 format's to format the entire disk. People were having some issues with the disk images not being formatted to their full capacity and preventing some functions from working.
author | drencor-xeen |
---|---|
date | Thu, 17 Jan 2013 11:03:26 -0600 |
parents | 7d70b7e1cb21 |
children | aaba193af04f |
line wrap: on
line source
************************************ * 16 x 16 Multiply * ENTRY: D = multiplier * X = multiplicand * EXIT: Y = product 2 msbs * U = " 2 lsbs * D & X preserved nam 16x16 bit Multiply ttl Assembler Library Module psect MULT16,0,0,0,0,0 MULT16: PSHS D,X,Y,U save #s and make stack room CLR 4,S reset overflow flag LDA 3,S get byte MUL STD 6,S save B x Xl LDD 1,S MUL B x Xh ADDB 6,S ADCA #0 STD 5,S add 1st 2 mult. LDB 0,S LDA 3,S MUL A x Xl ADDD 5,S STD 5,S add result to previous BCC no.ov branch if no overflow INC 4,S set overflow flag no.ov LDA 0,S LDB 2,S MUL A x Xh ADDD 4,S STD 4,S PULS D,X,Y,U,PC return endsect