Difference between revisions of "Calico LC3"
From IPRE Wiki
Doug Blank (Talk | contribs) |
Doug Blank (Talk | contribs) |
||
Line 1: | Line 1: | ||
− | Calico LC3 is based on the Little Computer by Patt and Patel. | + | Calico LC3 is an assembly language based on the Little Computer by Patt and Patel. |
= Overview = | = Overview = | ||
− | Calico LC3 is an implementation of Patt and Patel's LC3. | + | Calico LC3 is an implementation of Patt and Patel's LC3 assembly language. The language is written in Calico Python, but appears as a full language in Calico. |
− | In Calico, you need to first enable the LC3 language: | + | In Calico, you need to first enable the LC3 language before using it: |
# start Calico | # start Calico | ||
# under menu -> Calico -> Languages | # under menu -> Calico -> Languages | ||
− | # | + | # make sure that "LC3" is checked |
+ | # Create a new LC3 script, or examine one of the Examples | ||
Special features: | Special features: |
Revision as of 16:18, 8 December 2013
Calico LC3 is an assembly language based on the Little Computer by Patt and Patel.
Overview
Calico LC3 is an implementation of Patt and Patel's LC3 assembly language. The language is written in Calico Python, but appears as a full language in Calico.
In Calico, you need to first enable the LC3 language before using it:
- start Calico
- under menu -> Calico -> Languages
- make sure that "LC3" is checked
- Create a new LC3 script, or examine one of the Examples
Special features:
- Tracing, breakpoints, integrated IDE
- syntax color highlighting
- Right-click on errors takes you to line of code
- Assembler and interpreter
- Counts instructions executed
- Counts machine cycles executed
- Error checking and useful error messages
- menu -> View -> Tabs -> Locals - shows registers
Source Materials:
- http://highered.mcgraw-hill.com/sites/0072467509/
- http://www.cs.georgetown.edu/~squier/Teaching/HardwareFundamentals/LC3-trunk/docs/LC3-AssemblyManualAndExamples.pdf
Special Interactive Directives
Enter these commands in the Calico Shell entry area:
Use: .help - shows this info .raw [start [stop]] - list meory in hex .list - list program from memory .dump [start [stop]] - dump memory as program .regs - show registers .set pc HEXVALUE - set PC .set memory HEXLOCATION HEXVALUE- set memory .set reg VALUE HEXVALUE - set register .get pc - get PC .get memory HEXLOCATION - get memory .get reg VALUE - get register
Examples
Here is a basic Hello World assemble program.
;; helloworld.asm .ORIG x3000 LEA R0, HELLO PUTS HALT HELLO .STRINGZ "Hello, World!\n" .END