Linux SoftwareProgrammingAssembler ToolsRational PIC Assembler 2.0

Rational PIC Assembler 2.0


Rational PIC Assembler is an assembler for the mid-range microcontrollers from Microchip
Developer:   Joe Bentley
      more software by author →
Price:  0.00
License:   GPL (GNU General Public License)
File size:   40K
Language:   
OS:   
Rating:   0 /5 (0 votes)
Your vote:  
enlarge screenshot


Rational PIC Assembler is an assembler for the mid-range microcontrollers from Microchip. The project uses Intel style mnemonics and target-first operand ordering. Designed to feel comfortable to PC assembly programmers.

This assembler generates code compatible with Microchip's midline microcontrollers but is incompatible with their assembler. It should feel familiar to any PC assembly programmer. The instruction mnemonics and operand order are Intel style ( i.e. 'right', as opposed to 'wrong' ).

Command Line Syntax

pic-asm [ -c ] [ -l filename ] [ -o filename ] input_file

-c -- console mode
an assembly source is accepted from stdin. binary code is
output on stdout. errors are output to stderr
-l filename -- specify listing file
-o filename -- specify object file

Input

The input is a sequence of line each of which contains one or more of the following fields

label instruction operands ; comment

The label and comment are optional. The operands required depend on the instruction.

The assembler is case sensitive, even for instructions.

Constants

Hex values can be specified with C-style '0x'[:xdigit:]+. Binary values can be specified with '0b'[01]+. Decimal values require no prefix as decimal is the default base.

Character constants are specified by enclosing a single character or escaped character within single quotes. String constants are specified by enclosing zero or more characters and escaped characters within double quotes. String constants generate one character constant for each character in the string. There is no trailing zero stored. For example:

db "Hello worldn", 0, 'a', 'b', 'r', 'n', 't'

Labels

A label is a sequence of alphanumeric characters ( including underbar ) that starts a line. Labels do not have colons. Labels local to the last nonlocal label can be defined by prefixing the name with a dot. For instance

; example from example-1.asm
foo call .1
.1 jmp .2
.2 jmp .1
bar call .1
.1 jmp .2
.2 jmp .1

In this example, the labels defined are foo, foo.1, foo.2, bar, bar.1, and bar.2. The first call branches to foo.1. The second call branches to bar.1. The labels local to 'foo' can not be referenced before 'foo' has been declared nor after 'bar' has been declared.

Directives

Data can be declared. The declarator takes the place of the instruction and is followed by one or more expressions separated by commas. Each expression corresponds to one word in the output code regardless of the declarator type.

db - each operand is AND-ed with 0xff before being stored
dw - full 14 bit word definition
dt - each operand is AND-ed with 0xff and OR-ed with 0x3400 ( the return-with-value opcode ). This allows generation of case tables. You can add the accumulator ( 'w' ) to the offset of the table. The processor will branch to the location in the table and return with an eight bit result

For instance:

db 1,2,3
dw 0x3fff, 0x3ff * 16 + 15, -1
dt 0b001, 0b010, 0b100

Equates are a named sequence of tokens. They can be defined with 'equ'. For instance:

led_1 equ 0x100 | 1
led_2 equ 0x100 | 2
combo equ ( led_1 ) | ( led_2 )

The org position can be changed with 'org'. For instance

org 0x10o

What's New in This Release:
  • This release adds support for sophisticated macros, include files, conditional compilation, and compatibility with Microchip headers.
    tags for instance  the instruction  the declarator  been declared  has been  each operand  call branches  with 0xff  this release  equ 0x100  the table  return with  the labels  

    Download Rational PIC Assembler 2.0


     http://pigseye.kennesaw.edu/~rbentley/rational-pic-assembler_20061031.tar.gz


    Authors software

    Rational PIC Assembler 2.0 (by Joe Bentley)
    Rational PIC Assembler is an assembler for the mid-range microcontrollers from Microchip


    Similar software

    Rational PIC Assembler 2.0 (by Joe Bentley)
    Rational PIC Assembler is an assembler for the mid-range microcontrollers from Microchip

    Pasmo 0.6.0.20061009.0 (by Julian)
    Pasmo project is a Z80 cross assembler, written in standard C++ that compiles easily in multiple platforms

    revava 0.3 (by Dan Winker)
    revava is a single pass disassembler that reads in a file containing a program intended for an Atmel AVR microcontroller and outputs

    cpphs 1.0 (by Malcolm Wallace)
    cpphs is a liberalised re-implementation of cpp, the C pre-processor, in Haskell.

    Why re-implement cpp? Rightly or wrongly, the C

    Perl x86 Disassembler 0.16 (by mammon_)
    The libdisasm library provides basic disassembly of Intel x86 instructions from a binary stream

    Flat Assembler 1.67 (by Tomasz Grysztar)
    The flat assembler is a fast and efficient self-assembling 80x86 assembler for DOS, Windows, and Linux operating systems

    Splice 1.5 (by Steven Scholnick)
    Splice is a label maker for: CDs, DAT tapes, 8mm tapes, and analog cassette tapes

    Advanced Assembler 0.9.0 (by Alexandre Becoulet)
    Aasm is an advanced assembler designed to support several target architectures

    Piklab 0.12.2 (by Nicolas Hadacek)
    Piklab is an integrated development environment for applications based on PIC and dsPIC microcontrollers similar to Microchip MPLAB s

    Yasm 0.5.0 (by Peter Johnson)
    Yasm is a complete rewrite of the NASM assembler under the "new" BSD License (some portions are under other licenses, see COPYING for


    Other software in this category

    Flat Assembler 1.67 (by Tomasz Grysztar)
    The flat assembler is a fast and efficient self-assembling 80x86 assembler for DOS, Windows, and Linux operating systems

    RetroForth 9.2.10 (by Charles Childers)
    RetroForth is a compact, open source Forth development system

    GNU 8085 Simulator 1.2.91 (by Sridhar R)

    ProjectCenter 0.4.2 (by Philippe C.D. Robert)
    ProjectCenter is GNUstep's integrated developement environment (IDE)

    KMD 0.9.19 (by Charlie Brej)
    KMD is a graphical debugger written by me for The University of Manchester Computer Science Department.

    It can debug hardware over

  •     search


    Featured Software

    jEdit 4.3 pre8
    jEdit is an Open Source text editor written in Java

    Opera 9.02
    Surf the Internet in a safer, faster, and easier way with Opera browser

    GNU Aspell 0.60.4
    GNU Aspell is a Free and Open Source spell checker designed to eventually replace Ispell


    Subscribe in Rojo
    Google Reader
    Add to My Yahoo!

    Add to My AOL
    Subscribe with Bloglines
    Subscribe in NewsGator Online
    Add 'nixbit linux software' to Newsburst from CNET News.com
    del.icio.us nixbit linux software


    Top tags