Tuesday, November 18, 2008

    PIC32 Assembler Directives that Control Code Generation

    When inspecting MPLAB Assembler for PIC32 MCUs (pic32-as) source code, you may have noticed some new assembler directives such as .set noat and .set nomacro. These directives are specific to PIC32 MCUs and affect the way that pic32-as assembles your code.

    The following excerpt from the upcoming MPLAB Assembler, Linker, and Utilities for PIC32 MCUs User’s Guide describes these new directives.

    .set noat

    When synthesizing some address formats, pic32-as may require a scratch register. By default, the assembler will quietly use the at ($1) register, which is reserved as an assembler temporary by convention. In some cases, we don't want the compiler to use that register. The .set noat directive prevents the assembler from quietly using the at register.

    .set at

    Allow the assembler to quietly use the at ($1) register.

    .set noautoextend

    By default, MIPS16 instructions are automatically extended to 32 bits when necessary. The directive .set noautoextend will turn this off. When .set noautoextend is in effect, any 32-bit instruction must be explicitly extended with the .e modifier (e.g., `li.e $4,1000'). The directive .set autoextend may be used to once again automatically extend instructions when necessary.

    .set autoextend

    Enable auto-extension of MIPS16 instructions to 32 bits.

    .set nomacro

    The assembler supports synthesized instructions, an instruction mnemonic that synthesizes into multiple machine instructions. For instance, the sleu instruction assembles into an sltu instruction and an xori instruction. The .set nomacro directive causes the assembler to emit a warming message when an instruction expands into more than one machine instruction.

    .set macro

    Suppress warnings for synthesized instructions.

    .set mips16e

    Assemble with the MIPS16e ISA extension.

    .set nomips16e

    Do not assemble with the MIPS16e ISA extension.

    .set noreorder

    By default, the assembler attempts to fill a branch or delay slot automatically by reordering the instructions around it. This feature can be very useful.

    Occasionally, you'll want to retain precise control over your instruction ordering. Use the .set noreorder directive to tell the assembler to suppress this feature until it encounters a .set reorder directive.

    .set reorder

    Allow the assembler to reorder instructions to fill a branch or delay slot.

    Beta testers wanted for COD removal from MPASM Assembler

    For our next MPASM release in late January, one of the new features is the removal of the COD file format.

    This feature will affect only those who build and debug with absolute assembly files (not using the MPLINK object linker). Removing the COD file output eliminates the limitations of requiring the project files to be within a 64-character path length and not being able to debug above 0xFFFF locations. This change should be transparent to everyone.

    We would like some users of MPASM who are not using the linker to try out this new feature and provide feedback.

    If you are willing to try this out, send an e-mail to devtools ‘at’ microchip.com.

    Thursday, November 13, 2008

    Xbox 360 NXE Coming November 19

    See all the new features of the 360's new UI as 1UP News Editor Phillip Kollar and GameVideos Associate Producer David Ellis take it for a spin.

    Xbox 360 'New Xbox Experience Walkthrough'

    Help Us Populate the Source Code Library


    Do you have Microchip source code to share with the embedded design community? Why not upload it to the new Embedded.com Source Code Library?

    Tuesday, November 04, 2008

    Microchip Enhances Mid-range 8-bit PIC Microcontroller Core

    Building upon the success of Microchip's popular Mid-range core, the enhanced core provides numerous technical improvements, including more program and data memory; a deeper/enhanced hardware stack; additional reset methods; 14 additional programming instructions, including "C" efficiency optimizations resulting in code size reductions; increased peripheral support; reduced interrupt latency, and other enhancements.

    Recognizing the demand for increased performance and peripherals within the 8-bit MCU market, Microchip continues to invest in its 8-bit PIC(R) MCU line to provide a broad product portfolio that meets the needs of its existing and future customers. The enhanced core builds upon the best elements of the existing Mid-range core and provides additional performance, while maintaining compatibility with existing Mid-range products for true product migration. The enhancements provide users with a boost of performance of up to 50% and code-size reductions of up to 40% for various algorithms and functions. Microchip's Mid-range 8-bit PIC MCUs continue their wide market acceptance and gain further momentum into applications where MCUs have been historically void, thereby enabling designers to differentiate their products in the marketplace.
    Read the full press release on MarketWatch.com
    More info here

    Monday, November 03, 2008

    Microsoft previews Windows 7 Taskbar with Peak

    One of the biggest UI improvements coming in Windows 7 is the taskbar with its new Peak feature.

    [Gizmodo via Lifehacker via NeoWin]