8039bin.txt Instruction set of the 8039 and 8049 in binary order 19900702/WJvG 76543210 76543210 command -------- -------- ------- 00000000 nop 00000001 halt (in cmos-versions only) 00000010 outl bus,a 00000011 dddddddd add a,#data 00000100 aaaaaaaa jmp 0:addr 00000101 en i 00000110 00000111 dec a 00001000 ins a,bus 00001001 in a,p1 00001010 in a,p2 00001011 in a,p3 00001100 movd a,p0 00001101 movd a,p1 00001110 movd a,p2 00001111 movd a,p3 00010000 inc @r0 00010001 inc @r1 00010010 aaaaaaaa jb0 addr 00010011 dddddddd adc a,#data 00010100 aaaaaaaa call 0:addr 00010101 dis i 00010110 aaaaaaaa jtf addr 00010111 inc a 00011000 inc r0 00011001 inc r1 00011010 inc r2 00011011 inc r3 00011100 inc r4 00011101 inc r5 00011110 inc r6 00011111 inc r7 00100000 xcha a,@r0 00100001 xcha a,@r1 00100010 00100011 ddddddddd mov a,#data 00100100 aaaaaaaa jmp 1:addr 00100101 en tcnti 00100110 aaaaaaaa jnt0 addr 00100111 clr a 00101000 xcha a,r0 00101001 xcha a,r1 00101010 xcha a,r2 00101011 xcha a,r3 00101100 xcha a,r4 00101101 xcha a,r5 00101110 xcha a,r6 00101111 xcha a,r7 00110000 xchda a,@r0 00110001 xchda a,@r1 00110010 aaaaaaaa jb1 addr 00110011 00110100 aaaaaaaa call 1:addr 00110101 dis tcnti 00110110 aaaaaaaa jt0 addr 00110111 cpl a 00111000 outl p0,a 00111001 outl p1,a 00111010 outl p2,a 00111011 outl p3,a 00111100 movd p0,a 00111101 movd p1,a 00111110 movd p2,a 00111111 movd p3,a 01000000 orl a,@r0 01000001 orl a,@r1 01000010 mov a,t 01000011 dddddddd orl a,#data 01000100 aaaaaaaa jmp 2:addr 01000101 strt tcnt 01000110 aaaaaaaa jnt1 addr 01000111 swap a 01001000 orl a,r0 01001001 orl a,r1 01001010 orl a,r2 01001011 orl a,r3 01001100 orl a,r4 01001101 orl a,r5 01001110 orl a,r6 01001111 orl a,r7 01010000 anl a,@r0 01010001 anl a,@r1 01010010 aaaaaaaa jb2 addr 01010011 dddddddd anl a,#data 01010100 aaaaaaaa call 2:addr 01010101 strt t 01010110 aaaaaaaa jt1 addr 01010111 da a 01011000 anl a,r0 01011001 anl a,r1 01011010 anl a,r2 01011011 anl a,r3 01011100 anl a,r4 01011101 anl a,r5 01011110 anl a,r6 01011111 anl a,r7 01100000 add a,@r0 01100001 add a,@r1 01100010 mov t,a 01100011 01100100 aaaaaaaa jmp 3:addr 01100101 stop tcnt 01100110 01100111 rrc a 01101000 add a,r0 01101001 add a,r1 01101010 add a,r2 01101011 add a,r3 01101100 add a,r4 01101101 add a,r5 01101110 add a,r6 01101111 add a,r7 01110000 adc a,@r0 01110001 adc a,@r1 01110010 aaaaaaaa jb3 addr 01110011 01110100 aaaaaaaa call 3:addr 01110101 ent0 clk 01110110 aaaaaaaa jf1 addr 01110111 rr a 01111000 adc a,r0 01111001 adc a,r1 01111010 adc a,r2 01111011 adc a,r3 01111100 adc a,r4 01111101 adc a,r5 01111110 adc a,r6 01111111 adc a,r7 10000000 movx a,@r0 10000001 movx a,@r1 10000010 10000011 ret 10000100 aaaaaaaa jmp 4:addr 10000101 clr f0 10000110 aaaaaaaa jni addr 10000111 10001000 dddddddd orl bus,#data 10001001 dddddddd orl p1,#data 10001010 dddddddd orl p2,#data 10001011 dddddddd orl p3,#data 10001100 orld p0,a 10001101 orld p1,a 10001110 orld p2,a 10001111 orld p3,a 10010000 movx @r0,a 10010001 movx @r1,a 10010010 aaaaaaaa jb4 addr 10010011 retr 10010100 aaaaaaaa call 4:addr 10010101 cpl f0 10010110 aaaaaaaa jnz addr 10010111 clr c 10011000 dddddddd anl bus,#data 10011001 dddddddd anl p1,#data 10011010 dddddddd anl p2,#data 10011011 dddddddd anl p3,#data 10011100 anld p0,a 10011101 anld p1,a 10011110 anld p2,a 10011111 anld p3,a 10100000 mov @r0,a 10100001 mov @r1,a 10100010 10100011 movp a,@a 10100100 aaaaaaaa jmp 5:addr 10100101 clr f1 10100110 10100111 cpl c 10101000 mov r0,a 10101001 mov r1,a 10101010 mov r2,a 10101011 mov r3,a 10101100 mov r4,a 10101101 mov r5,a 10101110 mov r6,a 10101111 mov r7,a 10110000 ddddddddd mov @r0,#data 10110001 ddddddddd mov @r1,#data 10110010 aaaaaaaa jb5 addr 10110011 jmpp @a 10110100 aaaaaaaa call 5:addr 10110101 cpl f1 10110110 aaaaaaaa jf0 addr 10110111 10111000 ddddddddd mov r0,#data 10111001 ddddddddd mov r1,#data 10111010 ddddddddd mov r2,#data 10111011 ddddddddd mov r3,#data 10111100 ddddddddd mov r4,#data 10111101 ddddddddd mov r5,#data 10111110 ddddddddd mov r6,#data 10111111 ddddddddd mov r7,#data 11000000 11000001 11000010 11000011 11000100 aaaaaaaa jmp 6:addr 11000101 sel rb0 11000110 aaaaaaaa jz addr 11000111 mov a,psw 11001000 dec r0 11001001 dec r1 11001010 dec r2 11001011 dec r3 11001100 dec r4 11001101 dec r5 11001110 dec r6 11001111 dec r7 11010000 orl a,@r0 11010001 orl a,@r1 11010010 aaaaaaaa jb6 addr 11010011 dddddddd orl a,#data 11010100 aaaaaaaa call 6:addr 11010101 sel rb1 11010110 11010111 mov psw,a 11011000 orl a,r0 11011001 orl a,r1 11011010 orl a,r2 11011011 orl a,r3 11011100 orl a,r4 11011101 orl a,r5 11011110 orl a,r6 11011111 orl a,r7 11100000 11100001 11100010 11100011 movp3 a,@a 11100100 aaaaaaaa jmp 7:addr 11100101 sel mb0 11100110 aaaaaaaa jnc addr 11100111 rl a 11101000 aaaaaaaa djnz r0,addr 11101001 aaaaaaaa djnz r1,addr 11101010 aaaaaaaa djnz r2,addr 11101011 aaaaaaaa djnz r3,addr 11101100 aaaaaaaa djnz r4,addr 11101101 aaaaaaaa djnz r5,addr 11101110 aaaaaaaa djnz r6,addr 11101111 aaaaaaaa djnz r7,addr 11110000 mov a,@r0 11110001 mov a,@r1 11110010 aaaaaaaa jb7 addr 11110011 11110100 aaaaaaaa call 7:addr 11110101 sel mb1 11110110 aaaaaaaa jc addr 11110111 rlc a 11111000 mov a,r0 11111001 mov a,r1 11111010 mov a,r2 11111011 mov a,r3 11111100 mov a,r4 11111101 mov a,r5 11111110 mov a,r6 11111111 mov a,r7