Intel XENIX 286 Programmers Guide (86) - Tenox.tc

Intel XENIX 286 Programmers Guide (86) - Tenox.tc Intel XENIX 286 Programmers Guide (86) - Tenox.tc

09.06.2013 Views

XENIX Programming as: Assembler Mnemonic Description XENIX-specific aaa ASCII adjust for addition a ad ASCII adjust for division aam ASCII adjust for multiplication a as ASCII adjust for subtraction adc add with carry adcb add byte with carry * add add ad db add byte * and logical AND an db logical AND byte * beq long branch equal * bge long branch greater or equal * bgt long branch greater * bhi long branch on high * bhis long branch high or same * ble long branch less than or equal * blo long branch on low * blos long branch low or same * blt long branch less than * bne long branch not equal * br long branch * call intrasegment call calli intersegment call * cbw convert byte to word clc clear carry flag cld clear direction flag eli clear interrupt flag erne complement carry flag cmp compare cmpb compare byte * cmps compare string * cmpsb compare string byte * cwd covert word to double word daa decimal adjust for addition das decimal adjust for subtraction dec decrem ent by one decb decrement byte by one * div division unsigned divb division unsigned byte * hlt halt idiv integer division idivb integer division byte * imul integer multiplicat ion imulb integer multiplication byte * in input byte * inc increment by one incb increment byte by one * 7-13

as: Assembler XENIX Programming int interrupt into interrupt if overflow inw input word * iret interrupt return j short jump * ja short jump if above jae short jump if above or equal jb short jump if below jbe short jump if below or equal jc short jump if carry jcxz short jump if ex is zero je short jump on equal jg short jump on greater than jge short jump on greater than or equal jl short jump on less than jle short jump on less than or equal jmp jump jmpi inter segment jump * jna short jump not above jnae short jump not above or equal jnb short jump not below jnbe short jump not below or equal jnc short jump not carry jne short jump not equal jng short jump not greater jnge short jump not greater or equal jnl short jump not less jnle short jump not less or equal jno short jump not overflow jnp short jump not parity jns short jump not sign jnz short jump not zero jo short jump on overflow jp short jump if parity jpe short jump if parity even jpo short jump if parity odd js short jump if signed jz short jump if zero lahf load AH from flags Ids load pointer using DS lea load effective address les load pointer using ES lock lock bus lodb load byte string * lodw load word string * loop loop short label loope loop if equal loopne loop if not equal loopnz loop if not zero loopz loop if zero 7-14

as: Assembler <strong>XENIX</strong> Programming<br />

int interrupt<br />

into interrupt if overflow<br />

inw input word *<br />

iret interrupt return<br />

j short jump *<br />

ja short jump if above<br />

jae short jump if above or equal<br />

jb short jump if below<br />

jbe short jump if below or equal<br />

jc short jump if carry<br />

jcxz short jump if ex is zero<br />

je short jump on equal<br />

jg short jump on greater than<br />

jge short jump on greater than or equal<br />

jl short jump on less than<br />

jle short jump on less than or equal<br />

jmp jump<br />

jmpi inter segment jump *<br />

jna short jump not above<br />

jnae short jump not above or equal<br />

jnb short jump not below<br />

jnbe short jump not below or equal<br />

jnc short jump not carry<br />

jne short jump not equal<br />

jng short jump not greater<br />

jnge short jump not greater or equal<br />

jnl short jump not less<br />

jnle short jump not less or equal<br />

jno short jump not overflow<br />

jnp short jump not parity<br />

jns short jump not sign<br />

jnz short jump not zero<br />

jo short jump on overflow<br />

jp short jump if parity<br />

jpe short jump if parity even<br />

jpo short jump if parity odd<br />

js short jump if signed<br />

jz short jump if zero<br />

lahf load AH from flags<br />

Ids load pointer using DS<br />

lea load effective address<br />

les load pointer using ES<br />

lock lock bus<br />

lodb load byte string *<br />

lodw load word string *<br />

loop loop short label<br />

loope loop if equal<br />

loopne loop if not equal<br />

loopnz loop if not zero<br />

loopz loop if zero<br />

7-14

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!