X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=assembler%2FREADME;h=fe8e12e83f120323e267c79aeb7ca45755e5f1c4;hb=ec376b3c80a49f2e1aae1b460994fe0e4cd534e7;hp=c64ab01bb4f8922ee67e7fec35b31e1ac04effb6;hpb=58f016da560c96ca5ef4b344952dc8cd73dece5c;p=b43-tools.git diff --git a/assembler/README b/assembler/README index c64ab01..fe8e12e 100644 --- a/assembler/README +++ b/assembler/README @@ -16,6 +16,7 @@ sub | A,B,rD | Subtract | rD=A-B sub. | A,B,rD | Sub, set Carry | rD=A-B SaveCarry subc | A,B,rD | Sub with Carry | rD=A-B-Carry subc. | A,B,rD | Sub with Carry, set Carry | rD=A-B-C SaveCarry +mul | A,B,rD | multiply (rev 11+ only) | spr06d=lsb; rD=msb Branch instructions: jmp | l | Uncond. jump (virtual instr.) | PC=l @@ -33,8 +34,14 @@ jl | A,B,l | Jump if less | if(A=B) PC=l jg | A,B,l | Jump if greater | if(A>B) PC=l jle | A,B,l | Jump if less or equal | if(A<=B) PC=l +jdn | A,B,l | Jump if diff is < 0, no carry | if(nc(A-B)<0) PC=l +jdpz | A,B,l | Jump if diff is >= 0, no carry | if(nc(A-B)>=0) PC=l +jdp | A,B,l | Jump if diff is > 0, no carry | if(nc(A-B)>0) PC=l +jdnz | A,B,l | Jump if diff is <= 0, no carry | if(nc(A-B)<=0) PC=l call | lrX,l | Store PC, call function | lrX=PC; PC=l +calls | l | Store PC, call function | PC->stack; PC=l ret | lrX,lrY | Store PC, ret from func | lrX=PC; PC=lrY +rets | | ret from function | stack->PC jzx | M,S,A,B,l | Jump if zero after shift + mask | jnzx | M,S,A,B,l | Jump if nonzero after shift+msk | jext | E,A,B,l | Jump if External Condition true | if(E) PC=l