User Tools

Site Tools


operational_statements

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
operational_statements [2020/11/16 22:05] – [Display] adminzoperational_statements [2025/01/02 23:22] (current) jtwine
Line 107: Line 107:
 The ''Read'' statement is used to read from a memory location and optionally copy the read value into another register.  The first form of the ''Read'' statement is the basic read memory operation that stores the result into Register E (''REGE'').  This is equivalent to the standard ''READ'' statement in 9LC.   The ''Read'' statement is used to read from a memory location and optionally copy the read value into another register.  The first form of the ''Read'' statement is the basic read memory operation that stores the result into Register E (''REGE'').  This is equivalent to the standard ''READ'' statement in 9LC.  
  
-The second form is the ''Read Into'' form and is used to perform a read from memory and then copy the read value from ''REGE'' to whatever other register you like.  +The second form is the ''Read Into'' form and is used to perform a read from memory and then immediately copy the read value from ''REGE'' to whatever other register you like.  
  
 The syntax of the ''READ'' statement is: ''Read From <address>;'' or ''Read From <address> Into <register>;'' The syntax of the ''READ'' statement is: ''Read From <address>;'' or ''Read From <address> Into <register>;''
Line 134: Line 134:
 The ''ReadStatus'' statement is used to read status values from the UUT's CPU status lines and place that information into Register C (''REGC'') value into another register.  The first form of the ''Read'' statement is the basic read memory operation that stores the result into Register E (''REGE'').  This is equivalent to the standard ''READ STS'' statement in 9LC.   The ''ReadStatus'' statement is used to read status values from the UUT's CPU status lines and place that information into Register C (''REGC'') value into another register.  The first form of the ''Read'' statement is the basic read memory operation that stores the result into Register E (''REGE'').  This is equivalent to the standard ''READ STS'' statement in 9LC.  
  
-Like the ''Read'' statement, a second form is supported using the ''Into'' modifier and is perform a read operation and then copy the read value from ''REGC'' to whatever other register you like.  +Like the ''Read'' statement, a second form is supported using the ''Into'' modifier and will perform a status read operation and then immediately copy the read value from ''REGC'' to whatever other register you like.  
  
 The syntax of the ''ReadStatus'' statement is: ''ReadStatus;'' or ''ReadStatus Into <register>;'' The syntax of the ''ReadStatus'' statement is: ''ReadStatus;'' or ''ReadStatus Into <register>;''
Line 163: Line 163:
 </code> </code>
  
-A warning will be emitted because the value 0x220 exceeds the maximum value of an 8-bit word.+A warning will be emitted because the value 0x220 exceeds the maximum value of an 8-bit word (0xFF or 255).
  
  
Line 172: Line 172:
  
 <code c> <code c>
 +Alias ThisIsAnAlias = Reg8;
 +
 WriteEx @ 0x1000 = 1 2 4 0x10 0x20 0x40 ThisIsAnAlias Reg4; WriteEx @ 0x1000 = 1 2 4 0x10 0x20 0x40 ThisIsAnAlias Reg4;
 </code> </code>
Line 184: Line 186:
 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 = Reg8     // The Value Of ThisIsAnAlias
 Write @ 1007 = Reg4; Write @ 1007 = Reg4;
 </code> </code>
- 
  
  
Line 257: Line 258:
 This is equivalent to the ''RAM LONG'' statement in 9LC.  This is equivalent to the ''RAM LONG'' statement in 9LC. 
  
-The syntax of the ''LongRAMTest'' statement is: ''LongRAMTest From <start> To <end>;''  The address range can be omitted if RAM areas are present in the address map.+The syntax of the ''LongRAMTest'' statement is: ''LongRAMTest From <start> To <end>;''  The address range can be omitted if RAM areas have been configured in the address map.
  
 <code c> <code c>
Line 270: Line 271:
 This is equivalent to the ''RAM SHORT'' statement in 9LC.  This is equivalent to the ''RAM SHORT'' statement in 9LC. 
  
-The syntax of the ''ShortRAMTest'' statement is: ''ShortRAMTestFrom <start> To <end>;''  The address range can be omitted if RAM areas are present in the address map.+The syntax of the ''ShortRAMTest'' statement is: ''ShortRAMTestFrom <start> To <end>;''  The address range can be omitted if RAM areas have been configured in the address map.
  
 <code c> <code c>
Line 283: Line 284:
 This is equivalent to the ''ROM TEST'' statement in 9LC.  This is equivalent to the ''ROM TEST'' statement in 9LC. 
  
-The syntax of the ''ROMTest'' statement is: ''ROMTest From <start> To <end> CSum <checksum>;''  The address and range can be omitted if ROM areas are present in the address map.  The checksum can also be omitted to inhibit the checksum compare.+The syntax of the ''ROMTest'' statement is: ''ROMTest From <start> To <end> CSum <checksum>;''  The address and range can be omitted if ROM areas have been configured in the address map.  The checksum can also be omitted to inhibit the checksum verification.
  
 <code c> <code c>
Line 297: Line 298:
 This is equivalent to the ''IO TEST'' statement in 9LC.  This is equivalent to the ''IO TEST'' statement in 9LC. 
  
-The syntax of the ''IOTest'' statement is: ''IOTestFrom <start> To <end> Bits <bitmask>;''  The address and range can be omitted if I/O areas are present in the address map.  +The syntax of the ''IOTest'' statement is: ''IOTestFrom <start> To <end> Bits <bitmask>;''  The address and range can be omitted if I/O areas have been configured in the address map.  
  
 <code c> <code c>
Line 318: Line 319:
  
 ==== Walk ==== ==== Walk ====
-The ''Walk'' statement performs a sequence of write operations at the specific location, but instead of incrementing a value, it rotates the bits of the value.  first write is the specified value and then the bits in the value are rotated once and the write is repeated.  This repeats until all bits have been rotated through all possible positions.+The ''Walk'' statement performs a sequence of write operations at the specific location, but instead of incrementing a value, it rotates the bits of the value.  The first write is the specified value and then the bits in the value are rotated once and the write is repeated.  This repeats until all bits have been rotated through all possible positions.
  
 This is equivalent to the ''WALK'' statement in 9LC.  This is equivalent to the ''WALK'' statement in 9LC. 
operational_statements.txt · Last modified: 2025/01/02 23:22 by jtwine