Mais um blog inútil.

Abril 5, 2009

Arvorezinha – Z80 Assembly

Filed under: Arvorezinha,Assembly — falso @ 23:26

Oi de novo! Como este fim de semana, foi mesmo daqueles bem passados na cave e não sabia o que fazer, entao fiz também a arvorezinha em z80 assembly, para o zx spectrum. O processador é mais ou menos parecido com ou 8085 mas com menos instruções. Este não foi muito difícil de fazer.

; this z80 assembly can never fail

org 32768

estrela: defb 0x2a
newline: defb 0xd
counter1: db 0x0
counter2: db 0x0

start:
	ld a, 2
	call $1601 ; inicializar o ecrã

_ciclo1:
	ld bc,(counter1) ; le o counter1 para bc (o valor fica em c)
	ld a,5
	cp c ; compara c com a
	jr z,_fim; se for igual sai
	ld a,0
	ld (counter2),a ; mete o counter2 a 0

_ciclo2:
	ld bc,(counter2) ; ve o valor de counter2 para c
	ld a,(counter1) ; valor de counter1 para a
	cp c ; compara c com a
	jr nc,_estrela ; se for menor -> estrela

	ld a,(newline)
	call _print ; printa um newline 

	ld a,(counter1) ; le counter1 para a
	add a,1 ;  incrementa a
	ld (counter1),a ; le a para counter1
	jr _ciclo1 ;  -> ciclo1

_estrela:
	ld a,(estrela)
	call _print ; printa um asterisco

	ld a,(counter2) ; le counter2 para a
	add a,1 ; incrementa a
	ld (counter2),a; le a para counter2
	jr _ciclo2 ; ->; ciclo2

_fim:
	ret ; volta ao basic

_print:
	rst 16 ; syscall(?) para escrever
	ret

arvorezinha.tap a correr num emulador

Download: arvorezinha.tap

Para compilar isto usei o software open sores z80asm e o bin2tap que converte o formato binario para um formato .tap que os emuladores suportam. Basta fazer "z80asm -o arvorezinha.bin arvorezinha.asm" e depois "bin2tap arvorezinha.bin arvorezinha.tap".

4 comentários a “Arvorezinha – Z80 Assembly”

  1. luminoso diz:

    linoooo lindo (Assobios)
    MUITO BEM!!!! uuhhhhhhhhhhhhhhhhhhhhh wowww!!! (PALMAS COM VIGOR)
    YYYAAAAYYYY (TODA A GENTE A FAZER BARULHO)
    CLAP CLAP CLAP OOWOWOWO WOWOAOEPA ADASPD ASDASNDLASNDJLASDA NDÇAKÇLAD LAJSDFLASHFOLASDH FOSADHFOºAUS2Q'9324'914E9PJ3 IPÇ4J1 I4J1IPJUPAISDPA

  2. nif diz:

    Para quando o port oficial OpenBSD ? :)

  3. plastik diz:

    REQ: ARVOREZINHA PARA SPARC

Leave a Reply for nif

widgeon
widgeon
widgeon
widgeon