From 94f60c86d161d02f355a354375bf4e83ac7a6a6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Pleva=C4=8D?= Date: Mon, 27 Nov 2023 19:43:29 +0100 Subject: [PATCH] Added selected not operation --- codes/inc.asm | 2 +- codes/rule110.asm | 2 +- codes/rule28.asm | 2 +- codes/selectedNot.asm | 29 +++++++++++++++++++++++++++++ codes/shiftRegister.asm | 18 ++++++++++++++++++ 5 files changed, 50 insertions(+), 3 deletions(-) create mode 100644 codes/selectedNot.asm create mode 100644 codes/shiftRegister.asm diff --git a/codes/inc.asm b/codes/inc.asm index dcd5d85..3a0c773 100644 --- a/codes/inc.asm +++ b/codes/inc.asm @@ -8,7 +8,7 @@ define: 0 [ABC][DE] 1 [AB][CDE] -data: +data: # O(6) + O(N) # {F} is TUE BINDING hold 1011{F} diff --git a/codes/rule110.asm b/codes/rule110.asm index 7b1a713..338e00d 100644 --- a/codes/rule110.asm +++ b/codes/rule110.asm @@ -8,7 +8,7 @@ define: 0 [ABC][DE] 1 {A}[BCDE] -data: +data: # O(6) 1001111010 instructions: diff --git a/codes/rule28.asm b/codes/rule28.asm index 30a58ef..0c48a86 100644 --- a/codes/rule28.asm +++ b/codes/rule28.asm @@ -11,7 +11,7 @@ define: data: 1001111010000 -instructions: +instructions: # O(6) {E*A*B*F*} # mark 10 {D*E*A*B*C*G*} # mark 11 {DEABCG} # remove mark 11 diff --git a/codes/selectedNot.asm b/codes/selectedNot.asm new file mode 100644 index 0000000..e69ac45 --- /dev/null +++ b/codes/selectedNot.asm @@ -0,0 +1,29 @@ +# +# Selected NOT in DNA|SIMD +# @autor Lukáš Plevač +# @date 11.27.2023 +# + +define: + # BIT NOT selector + 0 [ABC][DE][NSE] + 1 [ABCD]{E}[NSE] + NO [ABC][DE]{NSE} + Nl [ABCD]{E}{NSE} + +data: + 0 NO 1 Nl + +instructions: # O(12) + {G*D*E*N*} # mark NOT 0 and NOT 1 + {ABCD} # remove unwraped 1 + {GDEN} # remove mark + {C*D*E*N*} # mark write 0 + {CDEN} # remowe mark write 0 (is only posible when is unvraped for second part of zero) + {A*B*C*D*} # write 1 + {ABCD} # remove not writed 1 (is unwraped by mark write 0) + {N*S*E*G*} # unwrap write 0 mark + {CDEN} # remove write 0 mark + {NSEG} # remove unwraper + {A*B*C*} {D*E*} # write 0 + {N*S*E*} # lock all NOT selectors \ No newline at end of file diff --git a/codes/shiftRegister.asm b/codes/shiftRegister.asm new file mode 100644 index 0000000..04e2e3d --- /dev/null +++ b/codes/shiftRegister.asm @@ -0,0 +1,18 @@ +# +# RULE 110 cellular automaton implementation in DNA|SIMD +# @autor Lukáš Plevač +# @date 11.21.2023 +# + +define: + 0 {A}[BCD][EF] + 1 {A}{BCD}[EF] + +data: + 01 + +instructions: + # need mark for 10 and 01 + {G*E*F*A*} # mark 01 + #{GEFA} # remove mark 01 + #{B*C*D*E*} # write 1 \ No newline at end of file