Tvůrce webu je i pro tebe! Postav třeba web. Bez grafika. Bez kodéra. Hned.
wz

Obsah / Utility / TEXT / TextAddDig

Zdrojový kód: INCLUDE\UTIL\TEXT.INC, UTIL\TEXT.ASM


TextAddDig - Přidání jedné číslice na konec textového řetězce

Funkce TextAddDig přidá jednu číslici (0 až 9) na konec textového řetězce.


; -----------------------------------------------------------------------------
;                   Add one digit character to end of text
; -----------------------------------------------------------------------------
; INPUT:	AL = number (it must be in range 0 to 9)
;		EBX = pointer to TEXT
; OUTPUT:	CY = memory error or invalid number (text not changed)
; -----------------------------------------------------------------------------

Na vstupu funkce obsahuje registr AL hodnotu přidávané číslice v rozsahu 0 až 9. Platnost rozsahu číslice je kontrolována. Registr EBX obsahuje ukazatel na textovou proměnnou, ke které se má číslice přidat. V případě chyby paměti nebo v případě hodnoty čísla ležící mimo rozsah 0 až 9 je navrácen chybový příznak CY a obsah textové proměnné se nezmění.


; ------------- Push registers

TextAddDig:	push	eax		; push EAX

; ------------- Check valid range of number

		cmp	al,10		; check valid range
		cmc			; CY = error
		jc	TextAddDig2	; error, invalid number

; ------------- Add digit to end of text

		add	al,'0'		; AL <- digit character
		call	TextAddByte	; add digit to end of text

; ------------- Pop registers

TextAddDig2:	pop	eax		; pop EAX
		ret

Na začátku funkce je provedena kontrola platnosti čísla v registru AL. Pokud leží mimo povolený rozsah 0 až 9, funkce se ukončí s chybou. Jinak se číslo převede na znak číslice a pomocí funkce TextAddByte se přidá na konec textového řetězce.


Obsah / Utility / TEXT / TextAddDig