| ??? 04/15/05 19:59 Modified: 04/15/05 20:15 Read: times |
#91702 - provided in the datasheet Responding to: ???'s previous message |
The example below implements the equation: 4660 292 – × 1360720 – = MOV MAC0CF, #01h ; Use integer numbers, and multiply only mode (add to zero) MOV MAC0AH, #12h ; Load MAC0A register with 1234 hex = 4660 decimal MOV MAC0AL, #34h MOV MAC0BH, #FEh ; Load MAC0B register with FEDC hex = -292 decimal MOV MAC0BL, #DCh ; This line initiates the Multiply operation NOP NOP ; After this instruction, the Accumulator should be equal to ; FFFFEB3CB0 hex = -1360720 decimal. The MAC0STA register should ; be 0x01, indicating a negative result. NOP ; After this instruction, the Rounding register is updated assuming the values are in 4 DATA slots DATA to SFR in a F120 takes 30ns, so to load the value will take 120ns, to unload it (20 bits = 3 SFRs) will take 90ns and the nop will take 10ns all in all the operation DATA memory to DATA memory will take 220ns. With a f124 it would take 440ns. Erik MAC0CF, of course, need only be set in the initialization and never again. Erik |
| Topic | Author | Date |
| Fast Square. | 01/01/70 00:00 | |
| Square dancing | 01/01/70 00:00 | |
| table lookup??? | 01/01/70 00:00 | |
| code & algorithm | 01/01/70 00:00 | |
| 16*16 bit is slower than what I want. | 01/01/70 00:00 | |
| How fast? | 01/01/70 00:00 | |
| Re: How Fast | 01/01/70 00:00 | |
| ... probably impossible in 15 cycles | 01/01/70 00:00 | |
| why cycles ? | 01/01/70 00:00 | |
| Re: Microseconds | 01/01/70 00:00 | |
| table lookup | 01/01/70 00:00 | |
| Natsemi appnote or CORDIC | 01/01/70 00:00 | |
| Natsemi link to appnote | 01/01/70 00:00 | |
| (a+b)^2=a^2+2*a*b+b^2 | 01/01/70 00:00 | |
| Thats Slow. | 01/01/70 00:00 | |
| faster need hardware | 01/01/70 00:00 | |
| How fast do you need? | 01/01/70 00:00 | |
| Re: How Fast. | 01/01/70 00:00 | |
| Just? | 01/01/70 00:00 | |
| Incorrect | 01/01/70 00:00 | |
| Correct? | 01/01/70 00:00 | |
| Whooooopa... Sorry. | 01/01/70 00:00 | |
| Thanks | 01/01/70 00:00 | |
| I tried... | 01/01/70 00:00 | |
| optimum? table driven | 01/01/70 00:00 | |
| Jan metod | 01/01/70 00:00 | |
| Hardware? | 01/01/70 00:00 | |
| CPLD? | 01/01/70 00:00 | |
| SILabs f12x does it in hardware | 01/01/70 00:00 | |
| Re: SiLabs F12x | 01/01/70 00:00 | |
| Price | 01/01/70 00:00 | |
| F12x price | 01/01/70 00:00 | |
| F12x MAC | 01/01/70 00:00 | |
| provided in the datasheet | 01/01/70 00:00 | |
| Just out of interest | 01/01/70 00:00 | |
| clarification | 01/01/70 00:00 | |
| CPLD? | 01/01/70 00:00 | |
| too expensive | 01/01/70 00:00 | |
| Absolute rubbish Oleg | 01/01/70 00:00 | |
| explain | 01/01/70 00:00 | |
| your right | 01/01/70 00:00 | |
| especially for those... | 01/01/70 00:00 | |
| I need to say this.... | 01/01/70 00:00 | |
| By the way..... | 01/01/70 00:00 | |
| just a demo | 01/01/70 00:00 | |
| Hang on. | 01/01/70 00:00 | |
| Oh bollocks | 01/01/70 00:00 | |
| Well oleg | 01/01/70 00:00 | |
| Please check my answer. | 01/01/70 00:00 | |
| Here you go | 01/01/70 00:00 | |
| You're having me on. | 01/01/70 00:00 | |
| Pascal? | 01/01/70 00:00 | |
| Pascal? | 01/01/70 00:00 | |
| Why ? | 01/01/70 00:00 | |
| It was changed because,,, | 01/01/70 00:00 | |
| Its because | 01/01/70 00:00 | |
| For Jez | 01/01/70 00:00 | |
| For Michael | 01/01/70 00:00 | |
| simulation | 01/01/70 00:00 | |
| Re: Fast Square | 01/01/70 00:00 | |
| Prahlad, waithing for a conclusion | 01/01/70 00:00 | |
| just an exercise... | 01/01/70 00:00 | |
| Tricky | 01/01/70 00:00 | |
| Jez asked his cat, I asked my sheep | 01/01/70 00:00 | |
| Conclusion. | 01/01/70 00:00 | |
SPI EEPROM | 01/01/70 00:00 |



