X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=assembler%2FREADME;h=fe8e12e83f120323e267c79aeb7ca45755e5f1c4;hb=HEAD;hp=665880365d1f99763921d0c4c9f32e2f03c1f4a4;hpb=b9e19faa25ad9e1b24f08dc77267760df1b98504;p=b43-tools.git diff --git a/assembler/README b/assembler/README index 6658803..fe8e12e 100644 --- a/assembler/README +++ b/assembler/README @@ -16,9 +16,10 @@ 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 | Unconditional jump | PC=l +jmp | l | Uncond. jump (virtual instr.) | PC=l jand | A,B,l | Jump if binary AND | if(A&B) PC=l jnand | A,B,l | Jump if not binary AND | if(!(A&B)) PC=l js | A,B,l | Jump if all bits set | if((A&B)==A) PC=l @@ -33,15 +34,21 @@ 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 jnext | E,A,B,l | Jump if External Condition false| if(!E) PC=l Data transfer instructions: -mov | A,rD | Copy data | rD=A +mov | A,rD | Copy data (virtual instruction) | rD=A tkiph | A,rD | TKIP S-Box lookup high | rD=SBOX[hi8(A)] tkiphs | A,rD | TKIP S-Box lkup hi swap'd | rD=byteswap(tkiph) tkipl | A,rD | TKIP S-Box lookup low | rD=SBOX[lo8(A)] @@ -54,14 +61,14 @@ and | A,B,rD | Bitwise AND | rD=A&B xor | A,B,rD | Bitwise XOR | rD=A^B sr | A,B,rD | Rightshift | rD=A>>B sl | A,B,rD | Leftshift | rD=A<