Assembler gleich 0

CodeBezeichnungFlagsBeschreibung AAA ASCII adjust for addition AC   AAD ASCII adjust for division PSZ AAM ASCII adjust for multiply PSZ AAS ASCII adjust for subtraktion AC ADC Add with carry ACOPSZ Addiere zwei Operanden und CY ADD Addition ACOPSZ Addition ohne Übertrag AND And: logical conjunction COPSZ Logische Operation "UND" CALL     Unterprogramm aufrufen CBW Convert byte to word   AH wird mit Bit 7 von AL gefüllt. Code 98H - 10011000 CLC Clear carry flag C Lösche CF. Code F8H = 11111000 CLD Clear direction flag   Lösche DF. Code FCH = 11111100 CLI Clear interrupt enable flag   Sperrt maskierbare Interrupts. Code FAH = 11111010 CMC Complement carry flag C Komplementiere CF. Code F5H = 11110101 CMP Compare two operands ACOPSZ Logischer Vergleich: Die Operanden werden subtrahiert, die Flags gesetzt, das Ergebnis verworfen. CMPSB Compare byte string ACOPSZ Das durch ES:[DI] adressierte Byte wird vom Operanden DS:[SI] subtrahiert, Flags gesetzt, das Ergebnis verworfen. SI und DI werden geändert: +1, wenn (DF)=0, sonst -1. Code 1010011w CMPSW Compare word string ACOPSZ Das durch ES:[DI] adressierte Wort wird vom Operanden DS:[SI] subtrahiert, Flags gesetzt, das Ergebnis verworfen. SI und DI werden geändert: +2, wenn (DF)=0, sonst -2. Code 1010011w CWD Convert word to doubleword   Vorzeichengerechte Erweiterung: DX wird mit Bit 15 von AX gefüllt. Code 99H = 10011001 DAA Decimal adjust for addition ACPSZ Korrigiere AL nach BCD-Addition DAS Decimal adjust for subtraction ACPSZ Korrigiere AL nach BCD-Subtraktion DEC Decrement destination by 1 AOPSZ Operand wird um 1 verringert. Operand ist Register oder Speicher, Byte oder Wort. DIV     Vorzeichenlose Division ESC Speicherzugriff für Coprozessoren HLT Die CPU hält an bis Reset oder einem erlaubten externen Interrupt. Code: F4H = 11110100 IDIV Integer division, signed ACOPSF Vorzeichengerechte Integer-Division IMUL Integer multiply accumulator by register-or-memory; signed CO Integer-Multiplikation mit Vorzeichen IN Input byte / word   Überträgt Byte/Wort vom Eingabeport (Adr. im DX oder als Direktoperand < 255) nach AL/AX. INC Increment destination by 1 AOPSZ Operand wird um 1 vergrößert. INT Interrupt   Software-Interrupt: Indirekter FAR-Sprung über Interruptvektor 0 ... 255 mit Speichern der Rückkehradresse. INTO Interrupt if overflow   Wenn OF wird INT 4 ausgeführt. IRET Interrupt return   Rücksprung aus INT- bzw. INTO- Routine. JA Jump if above   Sprung wenn Ergebnis größer ist JAE Jump if above or equal   Sprung wenn größer oder gleich JB Jump if below   Sprung wenn Ergebnis kleiner ist JBE Jump if below or equal   Sprung wenn Ergebnis kleiner/gleich JC Jump if Carry   Sprung wenn CF gesetzt ist JCXZ Jump if CX = 0   Sprung wenn Register CX = 0 ist JE Jump if equal   Sprung wenn log. Ergebnis gleich ist JG     Sprung wenn Ergebnis einer log. Operation arithmetisch größer ist JGE     Sprung wenn Ergebnis arithmetisch größer oder gleich ist JL     Sprung wenn Ergebnis einer log. Operation arithmetisch kleiner ist JMP Jump   Springe zu angegebener Adresse JNA Jump if not above   Sprung wenn Ergebnis nicht größer ist JNAE Jump if not above or equal   Sprung wenn nicht größer oder gleich JNB Jump if not below   Sprung wenn Ergebnis nicht kleiner ist JNBE Jump if not below or equal   Sprung wenn Ergebnis nicht kleiner/gleich JNC Jump if not Carry   Sprung wenn CF gelöscht ist JNE Jump if not equal   Sprung wenn log. Ergebnis nicht gleich ist JNG Jump if not greater   Sprung wenn Ergebnis einer log. Operation nicht arith. größer ist JNGE Jump if not greater or equal   Sprung wenn Ergebnis nicht arithmetisch größer oder gleich ist JNL     Sprung wenn Ergebnis einer log. Operation nicht arith. klein ist JNLE     Sprung wenn Ergebnis einer log. Op. nicht arith. kleiner oder gleich ist JNO     Sprung, wenn Flag OF nicht gesetzt ist JNP     Sprung bei ungerader Parität (Flag PF gelöscht) JNS Jump if not signed   Sprung wenn Ergebnis einer log. Operation positiv ist JNZ Jump if non zero   Sprung, wenn log. Ergebnis ungleich ist. JO     Sprung, wenn Flag OF gesetzt ist JP     Sprung bei gerader Parität (Flag PF gesetzt) JPO     Sprung bei ungerader Parität (Flag PF gelöscht) JS Jump if signed   Sprung wenn Ergebnis einer log. Operation negativ ist JZ Jump if zero   Sprung, wenn log. Ergebnis gleich ist. LAHF Load AH from flags SZAPC Bits von AH werden mit Flags gefüllt: Bit 7->S, 6->Z, 4->A, 2->P, 0->C. Code: 9FH = 10011111 LDS Load data segment register)   Von einem DWORT (Pointer, Vektor) wird LOW in ein 16 Bit Register (außer SS-Reg) und HIGH ins DS- Register geladen LEA Load effective adress   Die Offset- Adr. eines Speicheroperanden wird in ein Register geladen. Nur verwenden, wenn die EA zur Laufzeit berechnet werden muss, sonst MOV ..., OFFSET ... verwenden! LES Load extra-segment register   Lade Physikalische Adr. nach ES: LOCK     Sperre den Bus LODSB Load byte string   Überträgt Byte DS:[SI] nach AL. SI + bzw. - um 1 je nach DF. Code 10101l0w LODSW Load word string   Überträgt Word DS:[SI] nach AX. SI + bzw. - um 2 je nach DF. Code 10101l0w LOOP Iterate instruktion sequence
until count complete   Das Count Register (CX) wird um 1 dekrementiert. Wenn CX #0, wird relativ gesprungen: IF (CX) #0 THEN (IP) := (IP) + disp(sign-extended to 16 bits. Code 11100010 LOOPZ Loop on zero   identisch mit LOOPE LOOPE Loop on equal   CX := CX-1 . Solange CX #0 und wenn ZF =1 : Relativer Sprung. Code 11100001 disp LOOPNZ Loop on non zero   identisch mit LOOPNE LOOPNE Loop on not equal   CX := CX-1 . Solange CX #0 und wenn kein ZF: Relativer Sprung. Code 11100000 disp MOV MOVE   Lade Wert MOVSB Move byte string   Speichert DS:[SI] nach ES:[DI], dann SI und DI + bzw. - um 1. Ist eine Kombination der Befehle LODSB und STOSB. Code 10100l0w MOVSW Move word string   Speichert DS:[SI] nach ES:[DI], dann SI und DI + bzw. - um 2. Ist eine Kombination der Befehle LODSW und STOSW. Code 10100l0w MUL Multiply accumulator by register-or-memory; unsigned CO AL bzw. AX werden mit dem Operanden multipliziert. Obere Hälfte des Resultats in AH bzw. DX. Wenn High #0 ist, werden CF und OF gesetzt. Code 111101lw NEG Form 2's complement   Negation (Zweier-Komplement) NOP No operation   Code 90H = 10010000 NOT Form 1's complement   invertiert Operand und speichert zurück. OR Or, inclusive COPSZ Zwei Operanden werden bitweise verknüpft, CF und OF gelöscht. OUT Output byte / word   siehe IN POP Pop word off stack into destination   Holt Wort aus Stack, speichert es nach Register oder Memory und erhöht SP um zwei. POPF Pop flags off stack Alle Hole Wort vom Stack ins Statusregister, Siehe PUSHF. Code 9DH = 10011101 PUSH Push word onto stack   Wort in Stack speichern. Verringert SP um 2 und speichert Register bzw. Memory-Wort. PUSHF Push flags onto stack)   Rettet Flags in den Stack (siehe POPF) und verringert SP um 2. RCL Rotate left through carry CO Rotiere links durch das CF Flag RCR Rotate right through carry CO Rotiere rechts durch das Flag CF REP Repeat string operation   FLAGS: Siehe konkrete String-Operation. Die nachfolgende primitive String- Operation (MOVS, SCAS, CMPS) wird wiederholt, wenn (CX) # 0 ist. CX wird um 1 verringert. REPZ     identisch mit REPE REPE Repeat string operation   FLAGS: Siehe konkrete String-Operation. Die nachfolgende primitive String- Operation (MOVS, SCAS, CMPS) wird wiederholt, wenn (CX) # 0 ist. CX wird um 1 verringert. Der Zyklus wird auch abgebrochen, wenn die Bedingung nicht erfüllt ist. REPNE     identisch mit REPNZ REPNZ Repeat string operation   FLAGS: Siehe konkrete String-Operation. Die nachfolgende primitive String- Operation (MOVS, SCAS, CMPS) wird wiederholt, wenn (CX) # 0 ist. CX wird um 1 verringert. Der Zyklus wird auch abgebrochen, wenn die Bedingung nicht erfüllt ist. RET Return from procedure   Lädt IP und evt. noch CS aus dem Stack und erhöht SP um 2 bzw. 4 (je nachdem ob Inter-Segment- bzw. Intra-Segment-Rücksprung. Wenn Konstant-Operand angegeben ist, wird er zum Stack addiert. ROL Rotate left CO Rotiere nach links. Verschiebeanzahl im CL oder =1 ist möglich. Wenn Verschiebung nur einmalig, wird OF gesetzt, falls vor Verschiebung die 2 obersten Bits ungleich waren. ROR Rotate right CO Rotiere nach rechts. Siehe ROL SAHF Store AH to flags   Flags werden mit den Bits von AH geladen:
Bit  7  6  5  4  3  2  1  0
Flag SF ZF xx AF xx PF xx CF (xx = undefin. Wert). Code: 9EH = 10011110 SAL=
SHL Shift arithmetic left and shift logical left COPSZ In untere Bits werden Nullen eingeschoben. Das oberste Bit wird nach CF geschoben. Verschiebeanzahl im CL oder =1. Wenn Verschiebung einmalig, wird OF gesetzt, falls vor Verschiebung die 2 obersten Bits ungleich waren. SAR Shift arithmetic right COPSZ Das oberste Bit wird gleich nach dem alten obersten Bit eingeschoben. Das unterste Bit wird nach CF geschoben. Verschiebeanzahl im CL oder =1. Wenn Verschiebeanzahl=1, wird OF gesetzt, falls vor Verschiebung die beiden obersten Bits ungleich waren. SBB Subtrakt with borrow ACOPSZ Vorzeichenlose Subtraktion inclusive CF SCASB Scan byte string ACOPSZ Das Byte ES[DI] wird mit AL verglichen. Dann wird DI um 1 erhöht (wenn DF=0) bzw. erniedrigt. SCASW Scan word string ACOPSZ Das Wort ES[DI] wird mit AX verglichen. Dann wird DI um 2 erhöht (wenn DF=0) bzw. erniedrigt. SHL Shift logical left   siehe bei SAL SHR Shift logical right COPSZ Schiebe nach rechts. In obere Bits werden Nullen eingeschoben. Das unterste Bit wird nach CF geschoben. Verschiebeanzahl im CL oder =1. Wenn Verschiebeanzahl =1, wird OF gesetzt, falls vor Verschiebung die beiden obersten Bits ungleich waren. STC Set carry flag C Setze das Carry Flag. Code: F9H = 11111001 STD Set direction flag D Setze das Zählrichtungs-Flag DF. Code: FDH = 11111101 STI Set interrupt enable flag   Erlaubt maskierbare externe Interrupts nach Ausführung des nächsten Befehls. Code: FBH = 11111011 STOSB Store byte string   AL wird nach ES:[DI] gespeichert. DI wird um 1 erhöht, wenn DF =0 ist, sonst dekrementiert. Code: 101010lw STOSW Store word string   AX wird nach ES:[DI] gespeichert. DI wird um 2 erhöht, wenn DF =0 ist, sonst dekrementiert. Code: 101010lw SUB Subtrakt ACOPSZ Vorzeichenlose Subtraktion TEST Test, or logical compare COPSZ Operanden werden verglichen (AND). CF und OF werden gelöscht. WAIT     Warten, bis der BUSY-Eingang nicht aktiv ist XCHG Exchange   Byte oder Wort wird zwischen Registern oder Reg. und Speicher ausgetauscht. Für Sreg nicht anwendbar. XLAT Translate   Übersetzen: AL := <DS:BX+AL> Lädt ein Byte aus einer Tabelle (im DS) nach AL. Das AL- Reg. wird als Index einer durch das BX- Register adressierten Tabelle verwendet. Der so adressierte Operand wird nach AL geladen. Code: D7H = 11010111. z.B. MOV BX, OFFSET TAB_NAME,   XLAT BYTE PTR [BX] XOR Exclusive or COPSZ Operanden werden verglichen und Bits gesetzt, wo ungleich. CF und OF werden gelöscht.

zusammenhängende Posts

Toplist

Neuester Beitrag

Stichworte