OpenCores
URL https://opencores.org/ocsvn/1664/1664/trunk

Subversion Repositories 1664

[/] [1664/] [trunk/] [arci/] [1664/] [fonte/] [lista/] [0.lista.1664] - Rev 2

Compare with Previous | Blame | View Log

;===============================================================================
;-------------------------------------------------------------------------------
.defina lista.datos 0
.defina lista.capasia {lista.datos sinia_grandia 1 * +}
.defina lista.contador {lista.datos sinia_grandia 2 * +}
.defina lista.crese {lista.datos sinia_grandia 3 * +}

.defina lista.grandia {sinia_grandia 4 *}

.defina lista.crese_minima {sinia_grandia 1 *}
.defina lista.capasia_minima {sinia_grandia 2 *}

;-------------------------------------------------------------------------------
eticeta_opera lista_memoria_copia ;destina, fonte, cuantia
;-------------------------------------------------------------------------------
depende_influe
str 0 3
puia sREVENI
ldri 0 {sinia_grandia 1 -}
str 0 sT0
and 0 2
sut 2 0
str 2 sT1
str 0 2
cmp 2 s_0
z yli lista_memoria_copia@sicle_bait_fini

@sicle_bait
ldm [1+] 1
stm [3+] 1
sut 2 s_1
n yli lista_memoria_copia@sicle_bait

@sicle_bait_fini
ldr 2 sT1
cmp 2 s_0
z yli lista_memoria_copia@fini
ldri 0 sinia_bitio_sh_
shr 2 0

@sicle_sinia
ldm [1+]
stm [3+]
sut 2 s_1
n yli lista_memoria_copia@sicle_sinia

@fini
tira 1
str 1 sIP

;===============================================================================
eticeta_opera lista_crese ;lista, cuantia
;===============================================================================
puia sREVENI
puia sR0
puia sR1
str 1 sT2
str 0 sR1
str 0 3
ldm [3+]
str 0 sT4
puia
str 3 sD0
ldm [3+]
str 0 sT0
ldm [3+]
sutr 0 sT0
cmp 0 1
c yli lista_crese@fini
sutr 0 sT0
plu 0 1
str 0 2
ldm [3]
plu 0 2
stm [sD0]
str 0 1
eseta_memoria_nova
ldr 2 sR1
stm [2]
ldr 1 sT4
ldr 2 sT2
yl lista_memoria_copia
tira_ 1
eseta_memoria_libri

@fini
tira_ sR1
tira sR0
tira 1
str 1 sIP

;===============================================================================
eticeta_opera lista_ajunta__1 ;lista, n1
;===============================================================================
puia sREVENI
puia 1
str 0 sT1
ldr 1 s_1
yl lista_crese
str 0 3
ldm [3+]
str 0 sT0
ldm [+3]
str 0 1
plu 0 sT0
str 0 2
tira
stm [2] 1
plu 1 s_1
ldr 0 1
stm [3]

ldr 0 sT1
tira 1
str 1 sIP

;===============================================================================
eticeta_opera lista_ajunta__sinia ;lista, sinia
;===============================================================================
puia sREVENI
puia 1
str 0 sT1
ldri 1 sinia_grandia
ldr 0 sT1
yl lista_crese
str 0 3
ldm [3+]
str 0 sT0
ldm [+3]
str 0 1
plu 0 sT0
str 0 2
tira
stm [2]
ldri 0 sinia_grandia
plu 0 1
ldr 0 1
stm [3]

ldr 0 sT1
tira 1
str 1 sIP

;===============================================================================
eticeta_opera lista_nova
;===============================================================================
puia sREVENI
puia sR0
eseta_memoria_nova lista.grandia
str 0 sR0
eseta_memoria_nova lista.capasia_minima
ldr 3 sR0
stm [3+]
ldri 0 lista.capasia_minima
stm [3+]
eor 0 0
stm [3+]
ldri 0 lista.crese_minima
stm [3]

tira sR0
tira 1
str 1 sIP

;===============================================================================
eticeta_opera lista_libri ;lista
;===============================================================================
puia sREVENI
puia sR0
str 0 sR0
ldm [0]
str 0 1
eseta_memoria_libri
ldr 1 sR0
eseta_memoria_libri
tira sR0
tira 1
str 1 sIP

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.