features
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| features [2020/02/23 00:16] – [Sequence Writing Shortcut] jtwine | features [2020/02/26 23: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/23 00:16 by jtwine
