Compare commits

...

2 commits

Author SHA1 Message Date
db5aeb333c
Add carry flag "threading"
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-09 21:08:27 +02:00
54bd10f913
Add clc opcode 2022-07-09 21:07:45 +02:00
2 changed files with 16 additions and 2 deletions

View file

@ -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

View file

@ -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: