• PicŪ Basic


  • Multiply routine for DW=W * W. Smaller than library "al@mul" for PIC18

    I have developed a smaller code version of the library multiply routine (al@mul)
    - this multiplies WORD * WORD, to produce DWORD (as al@mul)
    - uses same library variables (as PDS Beta 3.5.2.2)
    - mine uses 120 program bytes, compared to library 184 bytes (both including CALL)

    I attach a ZIP with example use of code (using Macro), with the routine in its own BAS include.

    Also included is the resultant ASM for "MUL_WW"
    - the BAS uses ALIAS so that the library variables can be "shared"
    - as these locations will vary in typical application code, ASM version would be used (instead of source BAS)

    I hope it is of interest.

    I also have a version (MUL_SWW, 200 bytes) which treats the WORDs as signed, producing the expected DWORD result for all sign combinations.

    Alan.

    Attachment 1165
    This article was originally published in forum thread: Multiply routine for DW=W * W. Smaller than library "al@mul" for PIC18 started by RanOx View original post
  • Recent Activity

    towlerg-21522

    Mysterious PORTB problem

    Thread Starter: xldaedalus

    I'm using Proton+ to develop firmware for a product with switches. The MCU is an 18F26K22. Most of the switches reside on PORTB. I am NOT using a...

    towlerg Today, 15:19 Go to last post
    towlerg-21522

    PIC18F1330 PLL problem

    Thread Starter: rcurl

    I'm just starting out on a new project that uses a PIC18F1330. I haven't used this specific chip before, so I began by trying to blink an LED just...

    towlerg Today, 16:07 Go to last post
    towlerg-21522

    Lin bus and auto baud detection

    Thread Starter: Tim

    Lin bus looks to be a great system for an application i'm working on. One of the main things is the slave can be really simple without needing a...

    towlerg Today, 15:13 Go to last post