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

Subversion Repositories 1664

[/] [1664/] [trunk/] [arci/] [1664/] [inclui/] [0.base.macro.1664] - Rev 2

Compare with Previous | Blame | View Log

.model reveni {~%0 rev opera_rev_reveni}
.model eseta {~%0 rev opera_rev_eseta}

.model ldri {
%!{%c 2 <} "%@ model ldri : parametre < 2"

%+{%1 0 = %0 0 = %0 3 > || &&}~%2 eor 0 0
%+{%1 0 = %0 1 = &&}~%2 eor 1 1
%+{%1 0 = %0 2 = &&}~%2 eor 2 2
%+{%1 0 = %0 3 = &&}~%2 eor 3 3
%+{%1 0 = %0 3 > &&}~%2 str 0 %0
%.{%1 0 =}

%+{%1 0xff <=}~%2 eor 0 0
%+{%1 0xff <=}~%2 ldi %1
%+{%1 0xff <= %0 0 != &&}~%2 str 0 %0
%.{%1 0xff <=}

%+{%1 0xffffffffffffff >=}~%2 ldr 0 s_n
%+{%1 0xffffffffffffff >= %1 -1 != &&}~%2 ldi %1
%+{%1 0xffffffffffffff >= %0 0 != &&}~%2 str 0 %0
%.{%1 0xffffffffffffff >=}

%+{%1 0xffffffffffff >=}~%2 ldr 0 s_n
%+{%1 0xffffffffffff >=}~%2 ldis %1
%+{%1 0xffffffffffff >= %1 -1 != &&}~%2 ldi %1
%+{%1 0xffffffffffff >= %0 0 != &&}~%2 str 0 %0
%.{%1 0xffffffffffff >=}

%!{0%2 0 != %0 0 = &&}"%@ model ldri %0 %1 %2: depende inoria"

%+{%1 0xffff <= &&}~ldm [sIP+] 2
%+{%1 0xffff <= &&}.d2 %1
%+{%1 0xffff <= && %0 0 != &&}~%2 str 0 %0
%.{%1 0xffff <= &&}

%+{%1 0xffffffff <=}~ldm [sIP+] 4
%+{%1 0xffffffff <=}.d4 %1
%+{%1 0xffffffff <= %0 0 != &&}~%2 str 0 %0
%.{%1 0xffffffff <=}

~ldm [sIP+]
.ds %1
%+{%0 0 !=}~%2 str 0 %0
}

.model ldri_i {
%!{%c 2 <} "model ldri_i : parametre < 2"
%+{%1 0 = %0 0 = %0 3 > || &&}~%2 eor 0 0
%+{%1 0 = %0 1 = &&}~%2 eor 1 1
%+{%1 0 = %0 2 = &&}~%2 eor 2 2
%+{%1 0 = %0 3 = &&}~%2 eor 3 3
%+{%1 0 = %0 3 > &&}~%2 str 0 %0
%.{%1 0 =}

%+{%1 0xff <=}~%2 eor 0 0
%+{%1 0xff <=}~%2 ldi %1
%+{%1 0xff <= %0 0 != &&}~%2 str 0 %0
%.{%1 0xff <=}

%+{%1 0xffffffffffffff >=}~%2 eor 0 0
%+{%1 0xffffffffffffff >=}~%2 sut 0 s_1
%+{%1 0xffffffffffffff >= %1 -1 != &&}~%2 ldi %1
%+{%1 0xffffffffffffff >= %0 0 != &&}~%2 str 0 %0
%.{%1 0xffffffffffffff >=}

%+{%1 0xffffffffffff >=}~%2 eor 0 0
%+{%1 0xffffffffffff >=}~%2 sut 0 s_1
%+{%1 0xffffffffffff >=}~%2 ldis %1
%+{%1 0xffffffffffff >= %1 -1 != &&}~%2 ldi %1
%+{%1 0xffffffffffff >= %0 0 != &&}~%2 str 0 %0
%.{%1 0xffffffffffff >=}

%+{%1 0xffff000000000000 & 0 =}~%2 eor 0 0
%+{%1 0xffff000000000000 & 0 !=}~%2 ldis {%1 0x38 >>}
%+{%1 0xffff000000000000 & 0 !=}~%2 ldis {%1 0x30 >>}
%+{%1 0xffffff0000000000 & 0 !=}~%2 ldis {%1 0x28 >>}
%+{%1 0xffffffff00000000 & 0 !=}~%2 ldis {%1 0x20 >>}
%+{%1 0xffffffffff000000 & 0 !=}~%2 ldis {%1 0x18 >>}
%+{%1 0xffffffffffff0000 & 0 !=}~%2 ldis {%1 0x10 >>}
%+{%1 0xffffffffffffff00 & 0 !=}~%2 ldis {%1 0x08 >>}
%+{%1 0x00000000000000ff & 0 !=}~%2 ldi %1
%+{%0 0 !=}~%2 str 0 %0
}

.model plu_1 {
%!{%c 1 <} "model plu_1 : parametre < 1"
%+{%0 3 <=}~%1 plu %0 s_1
%+{%0 3 >}~%1 cam 0 %0
%+{%0 3 >}~%1 plu 0 s_1
%+{%0 3 >}~%1 cam 0 %0
}

.model ldr_r {
 %!{%c 2 <} "model ldr_r : parametre < 2"
 
 %+{%0 3 >}~%2 cam 0 %0
 %+{%0 3 >}~%2 ldr 0 %1
 %+{%0 3 >}~%2 cam 0 %0

 %+{%0 3 <=}~%2 ldr %0 %1
}
.model sut_1 {
%!{%c 1 <} "model sut_1 : parametre < 1"
%+{%0 3 <=}~%1 sut %0 s_1
%+{%0 3 >}~%1 cam 0 %0
%+{%0 3 >}~%1 sut 0 s_1
%+{%0 3 >}~%1 cam 0 %0
}

.model puia {
%+{%0 0 != %c 0 != &&}~%1 cam 0 %0
~%1 stm [-sPILA]
%+{%0 0 != %c 0 != &&}~%1 cam 0 %0
}

.model puia_ {
~%1 stm [-sPILA]
%+{%0 0 != %c 0 != &&}~%1 str 0 %0
}

.model tira {
%+{%0 0 != %c 0 != &&}~%1 cam 0 %0
~%1 ldm [sPILA+]
%+{%0 0 != %c 0 != &&}~%1 cam 0 %0
}

.model tira_ {
~%1 ldm [sPILA+]
%+{%0 0 != %c 0 != &&}~%1 str 0 %0
}

.model ldri_m {
%!{%c 2 <} "model ldri_m : parametre < 2"
~%2 ldm [sIP+]
.ds %1
%+{%0 0 !=}~%2 str 0 %0
}

.model ylri {
~%1 ylr sIP opera_ylr_nondireta_1
.ds %0
}

.model ldr_m {
%!{%c 2 <} "model ldr_m : parametre < 2"
~%2 ldm [sIP+]
.ds {%1 sinia_grandia opera_grandia 2 * %@ + + -}
~%2 plu 0 sIP
%+{%0 0 !=}~%2 str 0 %0
}

.model d1x {
%.{%0 0 =}
.defina model_d1x_reveni {%0 1 -}
.d1 0
%+{%0 0 >}d1x model_d1x_reveni
}

.model desloca_relativa {
%+{%c 1 =}.ds {%0 %@ -}
%+{%c 1 >}.ds {%0 %@ - %1 sinia_grandia * +}
}

.model yl {
%+{%0 %@ - .+ 0x7f <=}yli %0
%+{%0 %@ - .+ 0x7f >}ylr [sIP]
%+{%0 %@ - .+ 0x7f >}desloca_relativa %0
}

.model ylm {
ylr [sIP]
desloca_relativa %0
}

.model alinia_o {
 %+{%@ 1 &}.d1 0
}

.model alinia_s {
.defina model_alinia_s_repete {sinia_grandia %@ 0x07 & -}
d1x model_alinia_s_repete
}

.model alinia_n {
.defina model_alinia_s_repete {%0 %@ %0 1 - & -}
d1x model_alinia_s_repete
}

.model nop {
.do 0x2000 ;ajusta 0x10 0x10
}

.model stm_ii { 
ldri 1 %0 %2 ;desloca absoluta
ldri 0 %1 %2
~%2 stm [1]
}

.model eticeta_opera {
alinia_o
:%0
}

.model eticeta_datos {
alinia_s
:%0
}

.model dep_eor {~%2 dep %0 %1 opera_dep_eor}
.model dep_and {~%2 dep %0 %1 opera_dep_and}
.model dep_or {~%2 dep %0 %1 opera_dep_or}
.model dep_cam {~%2 dep %0 %1 opera_dep_cam}
.model dep_vac {~%1 dep %0 %0 opera_dep_eor}
.model dep_set {~%1 dep %0 7 opera_dep_or}
.model dep_inv {~%1 dep %0 7 opera_dep_eor}

.model bit_masima {~%1 bit %0 opera_bit_masima}
.model bit_minima {~%1 bit %0 opera_bit_minima}
.model bit_contador1 {~%1 bit %0 opera_bit_set}
.model bit_contador0 {~%1 bit %0 opera_bit_vacua}

.model bpasi {~%0 rev opera_rev_bp}
.model entra {~%0 rev opera_rev_entra}
.model departi {~%0 rev opera_rev_departi}
.model depende_influe {~%0 rev opera_rev_depende_influe}
.model depende_inoria {~%0 rev opera_rev_depende_inoria}
.model eseta {~%0 rev opera_rev_eseta}
.model sicle_usor {~%0 rev opera_rev_sicle_usor_intercambia}

.model ajusta_reinisia {
rev opera_rev_ajusta_reinisia
.implicada
}

.model state_reteni {
%!{%c 1 <} "model state_reteni : parametre < 1"
ldri 0 %0 %1
~%1 rev opera_rev_state_reteni_usor
}

.model state_restora {
%!{%c 1 <} "model state_restora : parametre < 1"
ldri 0 %0 %1
~%1 rev opera_rev_state_restora_usor
}

.model init_sinia_s_ {
ldri s_0 0
ldri s_1 1
eor 0 0
sut 0 s_1
str 0 s_n
}

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.