Added division
This commit is contained in:
parent
d23a3e49ff
commit
f9a715e3b1
4 changed files with 23 additions and 1 deletions
BIN
flagvm
BIN
flagvm
Binary file not shown.
|
|
@ -162,12 +162,18 @@ int main(int argc, char **argv) {
|
|||
negativeFlag = (val < 0);
|
||||
break;
|
||||
}
|
||||
case 0x60: {
|
||||
case 0x60: { // AddR64
|
||||
unsigned char dst = inputs[0];
|
||||
unsigned char src = inputs[1];
|
||||
registers[dst] += registers[src];
|
||||
break;
|
||||
}
|
||||
case 0x72: { // DivR64
|
||||
unsigned char dst = inputs[0];
|
||||
unsigned char src = inputs[1];
|
||||
registers[dst] /= registers[src];
|
||||
break;
|
||||
}
|
||||
case 0xC0: { // Jmp
|
||||
unsigned char addr = inputs[0];
|
||||
xPc = registers[addr];
|
||||
|
|
|
|||
10
tests/div.asm
Normal file
10
tests/div.asm
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
include "fvm.inc"
|
||||
|
||||
org 0x4000000000000000
|
||||
MovI64 r95, UART_TX
|
||||
MovI64 r2, 64
|
||||
MovI64 r3, 16
|
||||
DivR64 r2, r3
|
||||
MovI64 r4, 48 ; ascii for 0
|
||||
AddR64 r2, r4
|
||||
St8 r2, r95
|
||||
|
|
@ -236,6 +236,12 @@ macro AddR64 dst, src
|
|||
db src
|
||||
end macro
|
||||
|
||||
macro DivR64 dst, src
|
||||
db 0x72
|
||||
db dst
|
||||
db src
|
||||
end macro
|
||||
|
||||
macro RSetF reg
|
||||
db 0x42
|
||||
db reg
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue