/******************** ICE-1500 (DOS) TUTORIAL SCREEN #22 **********************/ menu = 1 define literally PR = 'include scr.21 nolist' define literally R = 'include scr.22 nolist' define literally RTN = 'include scr.22 nolist' define literally N = 'include scr.23 nolist' define literally M = 'include scr.2 nolist' map 0k length 12k ice load messg namescope = rotate DEFINE PROC CRT = DO CURY = 20T CHAR .DISP_BUFFER LENGTH BUFF_SIZE RETURN FALSE END DEFINE BRKREG CRTBRK = CHAR_DISPLAY CALL CRT DEFINE PROC SHOWVAR = DO /* SHOWVAR PROCEDURE (show variables) */ BASE = decimal /* Change base to decimal */ WRITE SCREEN(14,21)'Buff_size = ',BUFF_SIZE /* Display BUFF_SIZE */ WRITE SCREEN(33,21)'Index_ptr = ',INDEX_PTR /* Display INDEX_PTR */ BASE = hex /* Change base back to HEX */ RETURN FALSE /* Continue emulation upon return */ END /* End of SHOWVAR procedure */ cls /******************************************************************************/ ' ------------------------' 'TEMP is not the problem. Another possibility is the | SCR22: SHOWVAR |' 'ROTATE loop. It may not be executing the correct | N = Next screen |' 'number of times. | R = Rewrite SCR22 |' ' | PR = Previous screen |' 'A debug procedure named SHOWVAR has been created | M = Go to main menu |' 'for you and stored in ICE-5100 emulator system | Q = Quit tutorial |' 'memory. This procedure displays the values of | SCR# = Screen desired |' 'the variables BUFF_SIZE and INDEX_PTR as the program ------------------------' 'runs. To display this procedure, enter:' ' ' ' PROC SHOWVAR ' ' ' 'Now define a break register to call SHOWVAR from within the ROTATE procedure.' 'Enter:' ' ' ' DEFINE BRKREG SHOWBRK = #29 CALL SHOWVAR (#29 is address 006BH)' ' ' 'MESSG will pause to display the variables each time line #29 (address 006BH)' 'is executed.' '-------------------------------------------------------------------------------'