Prev: 82A5 Up: Map Next: 82F7
82B3: Command: Dispatch A Control
Dispatches a control key to the routine that handles it.
CommandDispatchAControl 82B3 LD A,($B6DE) Read *B6DE.
82B6 LD D,A Keep the class being matched.
82B7 JP InglishPrepareTheClause_3 Jump back to InglishPrepareTheClause_3 to clear the matcher scratch.
Test the matcher phase. Reached through the special-key table at 8271, dispatched from Command_MatchASpecialKey.
82BA LD A,($B719) Jump to Inglish_AskWhat_0 if *B719 is not 01.
82BD CP $01
82BF JP NZ,Inglish_AskWhat_0
82C2 LD A,$02 Write 02 to *B719.
82C4 LD ($B719),A
82C7 LD A,(IY+$01) Set bit 7 of the next byte of this record.
82CA OR $80 Merge in 80.
82CC LD (IY+$01),A Store that byte.
82CF JP InglishPrepareTheClause_3 Jump back to InglishPrepareTheClause_3 to clear the matcher scratch.
Test the matcher phase. Reached through the special-key table at 8271, dispatched from Command_MatchASpecialKey.
82D2 LD A,($B719) Jump to InglishPrepareTheClause_3 if *B719 is 02.
82D5 CP $02
82D7 JP Z,InglishPrepareTheClause_3
82DA LD A,$01 Write 01 to *B719.
82DC LD ($B719),A
82DF JP InglishPrepareTheClause_3 Jump back to InglishPrepareTheClause_3 to clear the matcher scratch.
Reached through the special-key table at 8271, dispatched from Command_MatchASpecialKey.
82E2 PUSH DE Point HL at the six match bytes.
82E3 LD HL,$B6E0
82E6 LD DE,$757F Name the matcher patch at 757F as the copy destination.
82E9 LD BC,$0006 Copy the prepared bytes.
82EC LDIR
82EE POP DE Restore the caller's pointer from the stack and test its top bit.
82EF BIT 7,E
82F1 CALL Command_FollowTheGrammarFlag Call Command_FollowTheGrammarFlag to follow the grammar flag.
82F4 JP InglishPrepareTheClause_3 Jump back to InglishPrepareTheClause_3 to clear the matcher scratch.
Prev: 82A5 Up: Map Next: 82F7