features
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
features [2020/02/22 18:16] – [Sequence Writing Shortcut] jtwine | features [2020/02/26 17:15] (current) – [Enhanced Semantic Checks and Warnings] jtwine | ||
---|---|---|---|
Line 31: | Line 31: | ||
Also, address ranges are validated against the specified Pod as well. | Also, address ranges are validated against the specified Pod as well. | ||
- | The 10LC compiler will also check for things like labels | + | The 10LC compiler will also check for things like Programs, Labels, Constants |
+ | |||
+ | < | ||
+ | ScriptFile.s(45, | ||
+ | ScriptFile.s(51, | ||
+ | ScriptFile.s(74, | ||
+ | ScriptFile.s(230, | ||
+ | ScriptFile.s(231, | ||
+ | ScriptFile.s(237, | ||
You can check out the full list of [[Warnings]] and [[Errors]] that can be emitted by 10LC. | You can check out the full list of [[Warnings]] and [[Errors]] that can be emitted by 10LC. | ||
Line 43: | Line 51: | ||
<code c> | <code c> | ||
- | Program CodeToTestInputs | + | Program CodeToTestInputs; |
- | Program DisplayTest | + | Program DisplayTest; |
- | Program DeadBeef | + | Program DeadBeef; |
: | : | ||
Line 56: | Line 64: | ||
Additionally, | Additionally, | ||
- | For example, in 9LC, the third Program below would have a value of 6, but in 10LC it will have a value of 1. Also, if you continue and create another five dynamically numbered | + | For example, in 9LC, the third Program below would have a value of 6, but in 10LC it will have a value of 1. Also, if you continue and create another five dynamically numbered |
<code c> | <code c> | ||
- | Program TestInputs | + | Program TestInputs; // Create Program TestInputs, Defaults To Program 0 |
- | Program TestDisplay 5 // Create Program TestDisplay, | + | Program TestDisplay 5; // Create Program TestDisplay, |
- | Program DEADBeef | + | Program DEADBeef; // Create Program DEADBeef, Defaults To Program **1**, Not 6 |
</ | </ | ||
Line 137: | Line 145: | ||
Read From 0x3200 Into Control1Bits; | Read From 0x3200 Into Control1Bits; | ||
Read From 0x3201 Into Control2Bits; | Read From 0x3201 Into Control2Bits; | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Sequence Reading Shortcut ==== | ||
+ | If you need to read a small block of contiguous memory into a set of registers, you normally have to create a block of '' | ||
+ | |||
+ | <code c> | ||
+ | ReadEx From 0x2000 Into RegA RegB Control2Bits Reg1; | ||
+ | </ | ||
+ | |||
+ | The above code will compile into the equivalent of the following discrete '' | ||
+ | |||
+ | <code c> | ||
+ | Read From 0x2000 Into RegA; | ||
+ | Read From 0x2001 Into RegB; | ||
+ | Read From 0x2002 Into Reg2; | ||
+ | Read From 0x2003 Into Reg1; | ||
</ | </ | ||
Line 144: | Line 169: | ||
<code c> | <code c> | ||
- | WriteEx @ 0x1000 = 1 2 4 0x10 0x20 0x40 ThisIsAnAlias | + | WriteEx @ 0x1000 = 1 2 4 0x10 0x20 0x40 Control2Bits |
</ | </ | ||
Line 156: | Line 181: | ||
Write @ 1004 = 0x20; | Write @ 1004 = 0x20; | ||
Write @ 1005 = 0x40; | Write @ 1005 = 0x40; | ||
- | Write @ 1006 = xx; // xx Would Be Replaced With The Value Of ThisIsAnAlias | + | Write @ 1006 = Reg2; |
Write @ 1007 = Reg4; | Write @ 1007 = Reg4; | ||
</ | </ | ||
Line 183: | Line 208: | ||
==== Debugging Steps ==== | ==== Debugging Steps ==== | ||
- | A "step over pause" can be simulated by inserting code in-between each compiled statement that calls a program | + | A "step over pause" can be simulated by inserting code in-between each compiled statement that calls a program |
<code c> | <code c> |
features.1582416971.txt.gz · Last modified: 2020/02/22 18:16 by jtwine