/************************** I2ICE TUTORIAL SCREEN #32 **************************/ menu=1 define literally P = 'include scr.31 nolist' define literally R = 'include scr.32 nolist' define literally RTN = 'include scr.32 nolist' define literally N = 'include scr.33 nolist' define literally M = 'include scr.2 nolist' define proc bug1 = do value = value * 10T value = value + "char - '0' $ = :cmaker#74 return false end cls /*******************************************************************************/ ' ------------------------' 'For convenience, the debug PROC has already been | SCR32: BUG1 PROC |' 'defined and included for you. It is called BUG1 | M = Go to main menu |' 'and it is defined as follows: | N = Next screen |' ' DEFINE PROC BUG1 = DO | P = Previous screen |' ' VALUE = VALUE * 10T | Q = Quit tutorial |' ' VALUE = VALUE + "CHAR - ''0'' | R = Rewrite SCR32 |' ' $ = :CMAKER#74 | SCR# = Screen desired |' ' RETURN FALSE ------------------------' ' END ' 'BUG1 begins with the corrected ASCII-to-decimal conversion algorithm; ' 'then BUG1 sets the emulation execution address ($) equal to the address ' 'determined in SCR31. Finally, by returning FALSE, BUG1 instructs the I2ICE' 'system to resume emulation. ' ' ' 'Before we create our break specification for this debug PROC, let''s remove' 'all previous break specifications as a precaution. Enter' ' RESET BREAK <Enter>' 'Our break register (named BRK1) must specify a break at line 70 and call ' 'BUG1. Enter ' ' DEFINE BRKREG BRK1 = :CMAKER#70 CALL BUG1 <Enter>' '-------------------------------------------------------------------------------'