User Tools

Site Tools


sd:isa

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
sd:isa [2026/04/23 05:40] appledogsd:isa [2026/04/23 06:30] (current) appledog
Line 269: Line 269:
 | 99 | [[#uab|UAB]]          | UAB | Unpack AL into low 4 bytes of AL and low 4 bytes of BL | | | 99 | [[#uab|UAB]]          | UAB | Unpack AL into low 4 bytes of AL and low 4 bytes of BL | |
  
 +<wrap #skpc />
 +**''SKPC ELM, AL''**\\ Skips characters starting at ELM until the character in AL is //not// found. It finishes with ELM pointing to the first non-matching character. Most of the time this is used to skip spaces: ''SKPC ELM, $20 ; skip spaces, ELM points after last space.''
  
 <wrap #pab /> <wrap #pab />
-<code>#153 $99        PAB +**''#153 $99 PAB''**\\ Pack the low 4 bits of AL and BL into AL. This is useful for BCD and 4bpp video mode. 
-Pack the low 4 bits of AL and BL into AL. This is useful for BCD and 4bpp video mode. +<code>
 Start:    [   AL   ][   BL   ] Start:    [   AL   ][   BL   ]
           [....llll][....hhhh]           [....llll][....hhhh]
Line 283: Line 284:
 <wrap #uab /> <wrap #uab />
 **''#153 $99 UAB''** **''#153 $99 UAB''**
-<code>#153 $99        UAB 
 Unpack the 8 bits in AL into AL and BL and zeroes the four high bits of AL and BL. Unpack the 8 bits in AL into AL and BL and zeroes the four high bits of AL and BL.
 This is useful for BCD and 4bpp video mode. This is useful for BCD and 4bpp video mode.
  
 +<code>
 Start:    [   AL   ][   BL   ] Start:    [   AL   ][   BL   ]
           [hhhhllll][........]           [hhhhllll][........]
Line 300: Line 301:
 **''#201 $C9 CASEB base, selector, limit''**\\ switch-case-on-byte. Index an address from the table at ''base'' and jump to it. Checks each selector byte/word/etc. Checks a maximum of ''limit'' number of records. Will fall-through if not found. Table format: [selector][addr][selector][addr][selector][addr]... **''#201 $C9 CASEB base, selector, limit''**\\ switch-case-on-byte. Index an address from the table at ''base'' and jump to it. Checks each selector byte/word/etc. Checks a maximum of ''limit'' number of records. Will fall-through if not found. Table format: [selector][addr][selector][addr][selector][addr]...
  
-<codeprism lang=C highlight: [0]> 
-int main(void) { 
-    return 0; 
-} 
-</codeprism> 
sd/isa.1776922856.txt.gz · Last modified: by appledog

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki