Arvorezinha - Z80 Assembly
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

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”
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