77范文网 - 专业文章范例文档资料分享平台

INTEL汇编指令集(7)

来源:网络收集 时间:2019-01-26 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

Unsigned multiply of the accumulator by the source. If \ a byte value, then AL is used as the other multiplicand and the result is placed in AX. If \ multiplied by \ If \

a double word value, then EAX is multiplied by \ receives the result. The 386+ uses an early out algorithm which makes multiplying any size value in EAX as fast as in the 8 or 16 bit registers.

Clocks Size Operands 808x 286 386 486 Bytes reg8 70-77 13 9-14 13-18 2 reg16 118-113 21 9-22 13-26 2 reg32 - - 9-38 13-42 2-4 mem8 (76-83)+EA 16 12-17 13-18 2-4 mem16 (124-139)+EA 24 12-25 13-26 2-4 mem32 - - 12-21 13-42 2-4

NEG - Two's Complement Negation Usage: NEG dest

Modifies flags: AF CF OF PF SF ZF

Subtracts the destination from 0 and saves the 2s complement of \

Clocks Size Operands 808x 286 386 486 Bytes reg 3 2 2 1 2

mem 16+EA 7 6 3 2-4

NOP - No Operation (90h) Usage: NOP

Modifies flags: None

This is a do nothing instruction. It results in occupation of both space and time and is most useful for patching code segments. (This is the original XCHG AL,AL instruction)

Clocks Size Operands 808x 286 386 486 Bytes none 3 3 3 1 1

NOT - One's Compliment Negation (Logical NOT) Usage: NOT dest Modifies flags: None

Inverts the bits of the \ Clocks Size Operands 808x 286 386 486 Bytes reg 3 2 2 1 2

(W88=24+EA) mem 16+EA 7 6 3 2-4 (W88=24+EA)

OR - Inclusive Logical OR

Usage: OR dest,src

Modifies flags: CF OF PF SF ZF (AF undefined)

Logical inclusive OR of the two operands returning the result in the destination. Any bit set in either operand will be set in the destination.

Clocks Size Operands 808x 286 386 486 Bytes reg,reg 3 2 2 1 2

mem,reg 16+EA 7 7 3 2-4 (W88=24+EA) reg,mem 9+EA 7 6 2 2-4 (W88=13+EA) reg,immed 4 3 2 1 3-4 mem8,immed8 17+EA 7 7 3 3-6 mem16,immed16 25+EA 7 7 3 3-6 accum,immed 4 3 2 1 2-3

OUT - Output Data to Port

Usage: OUT port,accum Modifies flags: None

Transfers byte in AL,word in AX or dword in EAX to the specified hardware port address. If the port number is in the range of 0-255 it can be specified as an immediate. If greater than 255 then the port number must be specified in DX. Since the PC only decodes 10 bits of the port address, values over 1023 can only be decoded by third party vendor equipment and also map to the port range 0-1023. Clocks Size Operands 808x 286 386 486 Bytes immed8,accum 10/14 3 10 16 2 immed8,accum (PM) - - 4/24 11/31/29 2 DX,accum 8/12 3 11 16 1 DX,accum (PM) - - 5/25 10/30/29 1 - 386+ protected mode timings depend on privilege levels. first number is the timing when: CPL ≤ IOPL second number is the timing when: CPL > IOPL

third number is the timing when: virtual mode on 486 processor

OUTS - Output String to Port (80188+) Usage: OUTS port,src OUTSB OUTSW

OUTSD (386+) Modifies flags: None

Transfers a byte, word or doubleword from \ port specified in DX. For instructions with no operands the \ is located at DS:SI and SI is incremented or decremented by the size of the operand or the size dictated by the instruction format. When the Direction Flag is set SI is decremented, when clear, SI is incremented. If the port number is in the range of 0-255 it can be specified as an immediate. If greater than 255 then the port

number must be specified in DX. Since the PC only decodes 10 bits of the port address, values over 1023 can only be decoded by third party vendor equipment and also map to the port range 0-1023. Clocks Size Operands 808x 286 386 486 Bytes port,src - 5 14 17 1 port,src (PM) - - 8/28 10/32/30 1 - 386+ protected mode timings depend on privilege levels. first number is the timing when: CPL ≤ IOPL second number is the timing when: CPL > IOPL

third number is the timing when: virtual mode on 486 processor

POP - Pop Word off Stack

Usage: POP dest Modifies flags: None

Transfers word at the current stack top (SS:SP) to the destination then increments SP by two to point to the new stack top. CS is not a valid destination.

Clocks Size Operands 808x 286 386 486 Bytes reg16 8 5 4 4 1 reg32 4 - - 4 1 segreg 8 5 7 3 1 mem16 17+EA 5 5 6 2-4 mem32 5 - - 6 2-4

POPA/POPAD - Pop All Registers onto Stack (80188+) Usage: POPA

POPAD (386+) Modifies flags: None

Pops the top 8 words off the stack into the 8 general purpose 16/32 bit registers. Registers are popped in the following order: (E)DI,

(E)SI, (E)BP, (E)SP, (E)DX, (E)CX and (E)AX. The (E)SP value popped from the stack is actually discarded.

Clocks Size Operands 808x 286 386 486 Bytes none - 19 24 9 1

POPF/POPFD - Pop Flags off Stack Usage: POPF

POPFD (386+) Modifies flags: all flags

Pops word/doubleword from stack into the Flags Register and then increments SP by 2 (for POPF) or 4 (for POPFD).

Clocks Size Operands 808x 286 386 486 Bytes

none 8/12 5 5 9 1 (W88=12) none (PM) - - 5 6 1

PUSH - Push Word onto Stack Usage: PUSH src

PUSH immed (80188+ only) Modifies flags: None

Decrements SP by the size of the operand (two or four, byte values are sign extended) and transfers one word from source to the stack top (SS:SP).

Clocks Size Operands 808x 286 386 486 Bytes reg16 11/15 3 2 1 1 reg32 - - 2 1 1

mem16 16+EA 5 5 4 2-4 (W88=24+EA) mem32 - - 5 4 2-4 segreg 10/14 3 2 3 1 immed - 3 2 1 2-3

PUSHA/PUSHAD - Push All Registers onto Stack (80188+) Usage: PUSHA

PUSHAD (386+) Modifies flags: None

Pushes all general purpose registers onto the stack in the following

order: (E)AX, (E)CX, (E)DX, (E)BX, (E)SP, (E)BP, (E)SI, (E)DI. The value of SP is the value before the actual push of SP.

Clocks Size Operands 808x 286 386 486 Bytes none - 19 24 11 1

PUSHF/PUSHFD - Push Flags onto Stack Usage: PUSHF

PUSHFD (386+) Modifies flags: None

Transfers the Flags Register onto the stack. PUSHF saves a 16 bit

value while PUSHFD saves a 32 bit value.

Clocks Size Operands 808x 286 386 486 Bytes none 10/14 3 4 4 1 none (PM) - - 4 3 1

RCL - Rotate Through Carry Left

Usage: RCL dest,count Modifies flags: CF OF

+-+ +---------------+ +-+|C|<+--+|7 <---------- 0|<-+ | +-+ +---------------+ | +-----------------------------+

Rotates the bits in the destination to the left \ all data pushed out the left side re-entering on the right. The Carry Flag holds the last bit rotated out.

Clocks Size Operands 808x 286 386 486 Bytes reg,1 2 2 9 3 2

mem,1 15+EA 7 10 4 2-4 (W88=23+EA) reg,CL 8+4n 5+n 9 8-30 2

mem,CL 20+EA+4n 8+n 10 9-31 2-4 (W88=28+EA+4n) reg,immed8 - 5+n 9 8-30 3 mem,immed8 - 8+n 10 9-31 3-5

RCR - Rotate Through Carry Right

Usage: RCR dest,count Modifies flags: CF OF

+---------------+ +-+ +->|7 +---------> 0|+--->|C|+-+ | +---------------+ +-+ | +-----------------------------+

Rotates the bits in the destination to the right \ all data pushed out the right side re-entering on the left. The Carry Flag holds the last bit rotated out.

Clocks Size Operands 808x 286 386 486 Bytes reg,1 2 2 9 3 2

mem,1 15+EA 7 10 4 2-4 (W88=23+EA) reg,CL 8+4n 5+n 9 8-30 2

mem,CL 20+EA+4n 8+n 10 9-31 2-4 (W88=28+EA+4n) reg,immed8 - 5+n 9 8-30 3 mem,immed8 - 8+n 10 9-31 3-5

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库INTEL汇编指令集(7)在线全文阅读。

INTEL汇编指令集(7).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/447919.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: