| ??? 02/14/01 10:20 Read: times |
#9301 - RE: use of multiply in large data arrays |
Patrick,
This may be faster and more concise: get_array: ;input r1 = member number (0,) ;input r0 = member byte (0,) mov a,r1 ;1;12; mov b,#MEMBER_LENGTH ;3;24; mul ab ;1;48; xch a,b ;2;12; add a,#LOW(ARRAY_ADDRESS) ;2;12; xch a,b ;2;12; addc a,#HIGH(ARRAY_ADDRESS) ;2;12; mov dph,a ;2;12; mov dpl,b ;3;24; mov a,r0 ;1;12 movc a,@a+dptr ;1;24 ret ;1;24 aka j |



