;
                ; Programmodul 'COSINUS' zur Berechnung von cos(x)
                ; nach Vorbereitung der Daten durch Modul 'XICALC'
                ;
                ; IN	var x1bog : Winkel in Bogenmass
                ;	var x2bog : x1bog^2
                ;	var x4bog : x1bog^4
                ;	var x6bog : x1bog^6
                ;	var x8bog : x1bog^8
                ;
                ; OUT	reg de : var cx - cos(x) * 2^15
                ;
                ; REG	a,f,b,c,d,e,h,l
                ;
                
                	extrn	multi,divi
                
 2000           ram	equ	2000h		; Festlegung des Variablenblocks
 2000           x1bog	equ	ram		;   im RAM
 2002           x2bog	equ	x1bog + 2
 2004           x4bog	equ	x2bog + 2
 2006           x6bog	equ	x4bog + 2
 2008           x8bog	equ	x6bog + 2
                
 8000           fc1	equ	8000h		; Koeffizienten fci der i-ten Glieder
 0006           fc3	equ	2*3
 005A           fc4	equ	3*5*6
 04EC           fc5	equ	2*3*5*6*7
                
 0000 210080   		ld	hl,fc1		; erste Zwischensumme berechnen
 0003 ED5B0220 		ld	de,(x2bog)	;   und auf Stack ablegen
 0007 AF       		xor	a
 0008 ED52     		sbc	hl,de
 000A E5       		push	hl
                
 000B ED5B0420 		ld	de,(x4bog)	; Berechnung des 3. Gliedes
 000F 010600   		ld	bc,fc3
 0012 CD0000  		call	divi
                
 0015 D1       		pop	de		; Zwischensumme im Stack
 0016 19       		add	hl,de		;   aktualisieren
 0017 E5       		push	hl
                
 0018 ED5B0620 		ld	de,(x6bog)	; Berechnung des 4. Gliedes
 001C 015A00   		ld	bc,fc4
 001F CD0000  		call	divi
                
 0022 D1       		pop	de		; Zwischensumme im Stack
 0023 EB       		ex	de,hl		;   aktualisieren
 0024 AF       		xor	a
 0025 ED52     		sbc	hl,de
 0027 E5       		push	hl
                
 0028 ED5B0820 		ld	de,(x8bog)	; Berechnung des 5. Gliedes
 002C 01EC04   		ld	bc,fc5
 002F CD0000  		call	divi
 0032 D1       		pop	de		; Stack korrigieren
 0033 19       		add	hl,de		;   und  Summe  fertigstellen
                
                	; cx in reg hl berechnet
                
 0034 C9       		ret
Bild 6. COSINUS
[Hier als Z80-Quelldatei]