/************************** I2ICE TUTORIAL SCREEN #46 **************************/
menu=1
define literally P   = 'include scr.45 nolist'
define literally R   = 'include scr.46 nolist'
define literally RTN = 'include scr.46 nolist'
define literally N   = 'include scr.47 nolist'
define literally M   = 'include scr.2 nolist'
cls
/*******************************************************************************/
'                                                      ------------------------'
'Displayed below is the command you entered during    | SCR46: BUG 2 FOUND     |'
'the previous screen and the I2ICE system response    | M = Go to main menu    |'
'to the command.                                      | N = Next screen        |'
'*BYTE .:CMAKER.WRITE_DECIMAL.DIGIT_STACK[4] LENGTH 2 | P = Previous screen    |'
'0056:0089H  01 31                           ''.1''     | Q = Quit tutorial      |'
'                                                     | R = Rewrite SCR46      |'
'In the response, the address of DIGIT_STACK[4] is    | SCR# = Screen desired  |'
'shown on the left as a segment offset pair; then,     ------------------------'
'the values stored in that byte and the next byte     '
'are displayed.  We expected the first byte to contain 1 (because the program'
'has calculated change of 1 quarter).  And, we expected 31 in the second byte '
'(because 31 is needed to create the hex value for the undesired "a").  This '
'confirms our diagnosis.'
' '
'To fix this error, in line 24 the maximum value of I should be changed from 5'
'to 4, so that the array subscript will not be incremented beyond the end of '
'the array.'
' '
'For information on break registers and how we could have used them to help '
'debug CMAKER, enter MOD_L <Enter>.'
'-------------------------------------------------------------------------------'