#lang scheme/base
(require
"../asm.ss")
(instruction-set
(addwf (f d) "00 0111 dfff ffff")
(andwf (f d) "00 0101 dfff ffff")
(clrf (f ) "00 0001 1fff ffff")
(clrw ( ) "00 0001 0000 0000") (comf (f d) "00 1001 dfff ffff")
(decf (f d) "00 0011 dfff ffff")
(decfsz (f d) "00 1011 dfff ffff")
(incf (f d) "00 1010 dfff ffff")
(incfsz (f d) "00 1111 dfff ffff")
(iorwf (f d) "00 0100 dfff ffff")
(movf (f d) "00 1000 dfff ffff")
(movwf (f ) "00 0000 1fff ffff")
(nop ( ) "00 0000 0000 0000") (rlf (f d) "00 1101 dfff ffff")
(rrf (f d) "00 1100 dfff ffff")
(subwf (f d) "00 0010 dfff ffff")
(swapf (f d) "00 1110 dfff ffff")
(xorwf (f d) "00 0110 dfff ffff")
(bcf (f b) "01 00bb bfff ffff")
(bsf (f b) "01 01bb bfff ffff")
(btfsc (f b) "01 10bb bfff ffff")
(btfss (f b) "01 11bb bfff ffff")
(addlw (k ) "11 1110 kkkk kkkk") (andlw (k ) "11 1001 kkkk kkkk")
(call (k ) "10 0kkk kkkk kkkk")
(clrwdt ( ) "00 0000 0110 0100")
(goto (k ) "10 1kkk kkkk kkkk")
(iorlw (k ) "11 1000 kkkk kkkk")
(movlw (k ) "11 0000 kkkk kkkk") (retfie ( ) "00 0000 0000 1001")
(retlw (k ) "11 0100 kkkk kkkk") (return ( ) "00 0000 0000 1000")
(sleep ( ) "00 0000 0110 0011")
(sublw (k ) "11 1100 kkkk kkkk") (xorlw (k ) "11 1010 kkkk kkkk")
)