diff options
| -rw-r--r-- | Makefile | 4 | ||||
| -rw-r--r-- | jefs.s | 21 |
2 files changed, 23 insertions, 2 deletions
@@ -1,12 +1,12 @@ TARGET := jefs SRCS = $(TARGET).s -all: $(TARGET) $(TARGET).fs +all: $(TARGET) $(TARGET): $(TARGET).o ld --omagic -static -o $@ $< -$(TARGET).o: $(SRCS) +$(TARGET).o: $(SRCS) $(TARGET).fs nasm -g -F dwarf -O0 -f elf64 -o $@ $< .PHONY: clean @@ -533,6 +533,27 @@ defword "rdrop", rdrop, 0 pop r11 ret +defword "+", plus, 0 + pspop r11 + pspop r12 + add r11, r12 + pspush r11 + ret + +defword "-", minus, 0 + pspop r11 + pspop r12 + sub r11, r12 + pspush r11 + ret + +defword "*", timess, 0 + pspop r11 + pspop r12 + imul r11, r12 + pspush r11 + ret + defword "[", lbrac, immediate_mask mov qword [state], interpreting ret |
