Compare commits

...

2 commits

Author SHA1 Message Date
9e49d228ed Downsized memory 2022-06-17 18:55:46 +02:00
258a6a4bd3 Fixed bug in doc generator 2022-06-17 18:53:38 +02:00
2 changed files with 8 additions and 4 deletions

View file

@ -79,7 +79,7 @@ module Hence
@reg_inp = 0_u16, @reg_inp = 0_u16,
@reg_out = 0_u16, @reg_out = 0_u16,
@stack = Slice(UInt16).new({{ 8 * 1024 }}), @stack = Slice(UInt16).new({{ 8 * 1024 }}),
@memory = Slice(UInt16).new({{ 24 * 1024 }}) @memory = Slice(UInt16).new({{ 16 * 1024 }})
) )
end end
@ -226,8 +226,10 @@ module Hence
@program[address].to_u16 @program[address].to_u16
elsif address < {{ 40 * 1024 }} elsif address < {{ 40 * 1024 }}
@stack[address - {{ 32 * 1024 }}] @stack[address - {{ 32 * 1024 }}]
else elsif address < {{ 56 * 1024 }}
@memory[address - {{ 40 * 1024 }}] @memory[address - {{ 40 * 1024 }}]
else
0_u16
end end
end end
@ -238,8 +240,10 @@ module Hence
@stack[address - {{ 32 * 1024 }}] = value @stack[address - {{ 32 * 1024 }}] = value
value value
else elsif address < {{ 56 * 1024 }}
@memory[address - {{ 40 * 1024 }}] = value @memory[address - {{ 40 * 1024 }}] = value
else
0_u16
end end
end end
end end

View file

@ -29,7 +29,7 @@ Opcode | Name
<% output = " " + output unless output.blank? -%> <% output = " " + output unless output.blank? -%>
Opcode | Argument | Stack Opcode | Argument | Stack
---|---|--- ---|---|---
`0x<%= sorted_opcodes.find! { |opc| opc[1].name == opcode.name }[0].to_s(16).rjust(2, '0') %>` | <%= opcode.arg && "`#{opcode.arg}`" %> | <%= (opcode.stack.input.size > 0 && opcode.stack.output.size > 0) ? "`#{input}--#{output}`" : nil %> `0x<%= sorted_opcodes.find! { |opc| opc[1].name == opcode.name }[0].to_s(16).rjust(2, '0') %>` | <%= opcode.arg && "`#{opcode.arg}`" %> | <%= (opcode.stack.input.size > 0 || opcode.stack.output.size > 0) ? "`#{input}--#{output}`" : nil %>
<%- if opcode.example -%> <%- if opcode.example -%>
```gnuassembler ```gnuassembler