Tutorial 12
Customizing Asm ROM calls to fit your needs


When you define a ROM call (ex. _clrlcdf =4540h) you are telling the assembler that every time you call the ROM call using B_CALL(), you want the calculator to go to the certain location in memory (ex. 4540h to clear the screen) and execute the call saved there. For example, let's say you want to clear the screen on the calculator. The adress of the clear screen call is 4540h. So when you define the call (_clrlcdf), you can name it anything you want as long as you define it to the right location in memory.


To better understand what I am trying to say, look at the program below:

#define B_CALL(xxxx)	rst 28h \ .dw xxxx	
#define B_JUMP(xxxx)	call 50h \ .dw xxxx	

clearthescreen		=4540h	;This is the adress for the _clrlcdf call. As you can see, "clearthescreen" is defined to this address. So every time						; you call the "clearthescreen" call, you are actually calling the call stored in the adress 4540h which is _clrlcdfull.
homescreen		=4558h	;Same here. Only the adress 4558h is the _homeup command. 

	.org	9D95h		

	B_CALL(clearthescreen)	;calling the _clrlcdf call at 4540h 
	B_CALL(homescreen)		;calling the _homeup call at 4558h


The point is, the name for each call is just a reference to help Humans understand what each call at each adress does. You can name any call anything you want as long as you define the adress where the call is stored. This tutorial wasn't much about programming. It was meant just to help you better know z80 Asm.

Tutorial 13