Compare commits
2 commits
790cd1a453
...
db5aeb333c
Author | SHA1 | Date | |
---|---|---|---|
db5aeb333c | |||
54bd10f913 |
2 changed files with 16 additions and 2 deletions
|
@ -184,13 +184,13 @@ module Hence
|
|||
when 0x08 # shr
|
||||
@reg_tmp = @reg_a >> @reg_b
|
||||
when 0x09 # add
|
||||
@reg_tmp = @reg_a &+ @reg_b
|
||||
@reg_tmp = @reg_a &+ @reg_b &+ (@reg_s & 0b00000001_u8)
|
||||
@reg_s &= 0b11111110_u8
|
||||
if @reg_tmp < @reg_a
|
||||
@reg_s |= 0b00000001_u8
|
||||
end
|
||||
when 0x0a # sub
|
||||
@reg_tmp = @reg_a &- @reg_b
|
||||
@reg_tmp = @reg_a &- @reg_b &- (@reg_s & 0b00000001_u8)
|
||||
@reg_s &= 0b11111110_u8
|
||||
if @reg_tmp > @reg_a
|
||||
@reg_s |= 0b00000001_u8
|
||||
|
|
|
@ -104,6 +104,20 @@ sections:
|
|||
tmpl 0xb
|
||||
alu 0x01
|
||||
push
|
||||
- name: clc
|
||||
description: Clears carry flag
|
||||
opcode: null
|
||||
arg: null
|
||||
stack:
|
||||
input: []
|
||||
output: []
|
||||
microcode: |
|
||||
tmpsr 0xd
|
||||
tmpl 0xa
|
||||
tmps 0b11111110
|
||||
tmpl 0xb
|
||||
alu 0x01
|
||||
tmpl 0xd
|
||||
- name: stack-manipulation
|
||||
description: Stack manipulation
|
||||
opcodes:
|
||||
|
|
Loading…
Reference in a new issue