| 
				
					
						|  |  
					|  |  
					| 
							
							
							
								
								| 
										
										
											|  |  
											| Section 11: Branching and Looping  168 |  
											|  |  
		| How it works: Each time you execute GOTHAM, the program prompts you 
			for the number of years, which is stored in 
			R00. This is used by 
			DSE as the loop control value. The year 
			(1624) is stored in R01 and the final 
			amount is stored in R02. |  
		|  |  
		| Each time through the loop, 6% of the amount is computed and added 
			to the amount in R02 and 1 year is added 
			to the year in R01. The 
			DSE subtracts one from the 
			R00-register; if the value in 
			R00 is not then zero, execution is 
			transferred back to LBL 01, and the loop is 
			executed again. |  
		|  |  
		| When R00 becomes zero, execution skips 
			to the RCL 01 instruction in line 18. The year 
			is then recalled and displayed (formatted in 
			FIX 0), and the final amount is recalled and 
			displayed (formatted in 
			FIX 2). |  
		|  |  
		| Note that ISG and DSE can 
			be used to increment and decrement any number that the HP-41C can 
			display. However, the decimal portion of the control number will be 
			affected by large numbers. |  
		|  |  
		| For example, the number 999,950.50055, when incremented by 55 using 
			ISG would become 100,005.5005. The initial 
			number was incremented by 55. But since the new number cannot be fully 
			displayed, the decimal portion of the number was truncated. The next 
			increment would be by 50, not 55. And when the number becomes 
			999,955.5005, the next number would be 1,000,005.500, thus truncated 
			the decimal portion of the number again. Since no increment value is 
			present, the next increment would be by 01, not 50. |  
		|  |  
		| Problem: |  
		|  |  
		| 
				
				
				
				
					|  | 1. | Write a program that will count from zero up to a limit using the 
						ISG function, and then, in the same program, 
						count back down to zero using the DSE 
						function. The program should contain two loops, the first one counting up, 
						the second one counting down. Use the flowchart on the following page to 
						help you. |  |  |  |  |