OllyDbg命令行命令+汇编指令大全

OllyDbg命令行命令+汇编指令大全
OllyDbg命令行命令+汇编指令大全

OllyDbg命令行命令+汇编指令大全

以下命令适用于OllyDbg 的命令行插件Cmdline.dll(显示于程序的插件菜单中)=============================================================== 命令行插件支持的命令

CALC

判断表达式

WATCH

添加监视表达式

AT

在指定地址进行反汇编

FOLLOW

跟随命令

ORIG

反汇编于EIP

DUMP

在指定地址进行转存

DA

转存为反汇编代码

DB

使用十六进制字节格式转存

DC

使用ASCII 格式转存

DD

转存在堆栈格式

DU

转存在UNICODE 格式

DW

使用十六进制字词格式转存

STK

前往堆栈中的地址

AS

(AS 地址字符串)

在指定地址进行汇编

BP

进行条件中断(有条件的断点)

BPX

中断在全部调用(Call)

BPD

清除全部调用中的断点

BC

清除断点

MR

内存断点于访问时

MW

内存断点于写入时

MD

清除内存断点

HR

访问时进行硬件中断

HW

写入时进行硬件中断

HE

执行时进行硬件中断

HD

清除硬件断点

STOP

停止运行程序调试

PAUSE

暂停执行程序调试

RUN

运行程序进行调试

GE

运行和通过例外

SI

单步进入Call 中

SO

步过Call

TI

跟踪进入直到地址

TO

跟踪步过直到地址

TC

跟踪进入直到满足条件

TOC

跟踪步过直到满足条件

TR

运行直到返回

TU

运行直到用户代码

LOG

查看记录窗口

MOD

查看模块窗口

MEM

查看内存窗口

CPU

查看CPU 窗口

CS

查看Call 堆栈

BRK

查看断点窗口

OPT

打开选项设置窗口

EXIT

退出OllyDbg

QUIT

退出OllyDbg

OPEN

打开一个可执行文件

CLOSE

关闭可执行文件

RST

重新运行当前程序

HELP

查看API 函数的帮助

以下命令适用于OllyDbg 的快捷命令栏插件(显示于程序的状态栏上方)======================================================== CALC

判断表达式

WATCH

添加监视表达式

AT / FOLLOW

Disassemble at address

在地址进行反汇编

ORIG

Disassemble at EIP

反汇编于EIP

DUMP

Dump at address

DA

Dump as disassembly

转存为反汇编代码

DB

Dump in hex byte format 转存在十六进制字节格式

DC

Dump in ASCII format

转存在ASCII 格式

DD

Dump in stack format

转存在堆栈格式

DU

Dump in UNICODE format 转存在UNICODE 格式

DW

Dump in hex word format 转存在十六进制字词格式

STK

Go to address in stack

前往堆栈中的地址

AS + 地址+ 字符串Assemble at address

在地址进行汇编

L + 地址+ 字符串Label at address

在地址进行标号

C + 地址+ 字符串Comment at address

在地址进行注释

BP

Break with condition

BPX

Break on all calls

中断在全部调用

BPD

Delete break on all calls

清除位于全部调用的断点

BC

Delete breakpoint

清除断点

MR

Memory breakpt on access 内存断点于访问时

MW

Memory breakpt on write

内存断点于写入时

MD

Remove memory breakpoint 清除内存断点

HR

HW break on access

硬件中断在访问

HW

HW break on write

硬件中断在写入

HE

HW break on execution

硬件中断在执行

HD

Remove HW breakpoint

清除硬件断点

STOP

Pause execution

暂停执行

PAUSE

PAUSE

RUN

Run program

运行程序

Run till address

运行到地址

GE

Run and pass exception 运行和通过例外

SI

Step into

步入

SO

Step over

步过

TI

Trace in till address

跟踪进入直到地址

TO

Trace over till address 跟踪步过直到地址

TC

Trace in till condition 跟踪进入直到条件

TOC

Trace over till condition 跟踪步过直到条件

TR

Till return

直到返回

TU

Till user code

直到用户代码

LOG

View Log window

查看记录窗口

MOD

View Modules window

查看模块窗口

MEM

View Memory window

查看内存窗口

CPU

View CPU window

查看CPU 窗口

CS

View Call Stack

查看Call 堆栈

BRK

View Breakpoints window 查看断点窗口

OPT

Open Options

打开选项

EXIT / QUIT

Quit OllyDbg

退出OllyDbg

OPEN

Open executable file

打开可执行文件

CLOSE

Close executable

关闭程序

RST

Restart current program

恢复当前程序

HELP

Help on API function

API 函数的帮助

ASM

Assemble (if command needs it's own addres, \"ASM COMMAND;ADDRESS\") 汇编(如果命令需要自身的地址\"ASM COMMAND;ADDRESS\")

DASM

Disassemble immediate opcode

反汇编直接的机器码

FR

Find reference to selected command/address

查找参考到选定的命令/地址

AC

Analyse code

分析代码

SN

Search for Name(label) in current module

在当前模块中搜索名称(标号)

SOB

Scan object files

扫描项目文件

汇编指令大全

一、数据传送指令

1.通用数据传送指令

MOV(Move)传送

PUSH(Push onto the stack)进栈

POP(Pop from the stack)出栈

XCHG(Exchange)交换

.MOV指令

格式为: MOV DST,SRC

执行的操作:(DST)<-(SRC)

.PUSH进栈指令

格式为:PUSH SRC

执行的操作:(SP)<-(SP)-2

((SP)+1,(SP))<-(SRC)

.POP出栈指令

格式为:POP DST

执行的操作:(DST)<-((SP+1),(SP))

(SP)<-(SP)+2

.XCHG 交换指令

格式为:XCHG OPR1,OPR2

执行的操作:(OPR1)<-->(OPR2)

2.累加器专用传送指令

IN(Input) 输入

OUT(Output) 输出

XLAT(Translate) 换码

这组指令只限于使用累加器AX或AL传送信息.

.IN 输入指令

长格式为: IN AL,PORT(字节)

IN AX,PORT(字)

执行的操作: (AL)<-(PORT)(字节)

(AX)<-(PORT+1,PORT)(字)

短格式为: IN AL,DX(字节)

IN AX,DX(字)

执行的操作: AL<-((DX))(字节)

AX<-((DX)+1,DX)(字)

.OUT 输出指令

长格式为: OUT PORT,AL(字节)

OUT PORT,AX(字)

执行的操作: (PORT)<-(AL)(字节)

(PORT+1,PORT)<-(AX)(字)

短格式为: OUT DX,AL(字节)

OUT DX,AX(字)

执行的操作: ((DX))<-(AL)(字节)

((DX)+1,(DX))<-AX(字)

在IBM-PC机里,外部设备最多可有65536个I/O端口,端口(即外设的端口地址)为0000~FFFFH.其中前256个端口(0~FFH)可以直接在指令中指定,这就是长格式中的PORT,此时机器指令用二个字节表示,第二个字节就是端口号.所以用长格式时可以在指定中直接指定端口号,但只限于前256个端口.当端口号>=256时,只能使用短格式,此时,必须先把端口号放到DX寄存器中(端口号可以从0000到0FFFFH),然后再用IN或OUT指令来传送信息. .XLAT 换码指令

格式为: XLAT OPR

或: XLAT

执行的操作:(AL)<-((BX)+(AL))

3.有效地址送寄存器指令

LEA(Load effective address)有效地址送寄存器

LDS(Load DS with Pointer)指针送寄存器和DS

LES(Load ES with Pointer)指针送寄存器和ES

.LEA 有效地址送寄存器

格式为: LEA REG,SRC

执行的操作:(REG)<-SRC

指令把源操作数的有效地址送到指定的寄存器中.

.LDS 指针送寄存器和DS指令

格式为: LDS REG,SRC

执行的操作:(REG)<-(SRC)

(DS)<-(SRC+2)

把源操作数指定的4个相继字节送到由指令指定的寄存器及DS寄存器中.该指令常指定SI寄存器.

.LES 指针送寄存器和ES指令

格式为: LES REG,SRC

执行的操作: (REG)<-(SRC)

(ES)<-(SRC+2)

把源操作数指定的4个相继字节送到由指令指定的寄存器及ES寄存器中.该指令常指定DI寄存器.

4.标志寄存器传送指令

LAHF(Load AH with flags)标志送AH

SAHF(store AH into flags)AH送标志寄存器

PUSHF(push the flags) 标志进栈

POPF(pop the flags) 标志出栈

.LAHF 标志送AH

格式为: LAHF

执行的操作:(AH)<-(PWS的低字节)

.SAHF AH送标志寄存器

格式为: SAHF

执行的操作:(PWS的低字节)<-(AH)

.PUSHF 标志进栈

格式为: PUSHF

执行的操作:(SP)<-(SP)-2

((SP)+1,(SP))<-(PSW)

.POPF 标志出栈

格式为: POPF

执行的操作:(PWS)<-((SP)+1,(SP))

(SP)<-(SP+2)

二、算术指令

1.加法指令

ADD(add)加法

ADC(add with carry)带进位加法

INC(increment)加1

.ADD 加法指令

格式: ADD DST,SRC

执行的操作:(DST)<-(SRC)+(DST)

.ADC 带进位加法指令

格式: ADC DST,SRC

执行的操作:(DST)<-(SRC)+(DST)+CF

.ADD 加1指令

格式: INC OPR

执行的操作:(OPR)<-(OPR)+1

2.减法指令

SUB(subtract)减法

SBB(subtract with borrow)带借位减法

DEC(Decrement)减1

NEG(Negate)求补

CMP(Compare)比较

.SUB 减法指令

格式: SUB DST,SRC

执行的操作:(DST)<-(DST)-(SRC)

.SBB 带借位减法指令

格式: SBB DST,SRC

执行的操作:(DST)<-(DST)-(SRC)-CF

.DEC 减1指令

格式: DEC OPR

执行的操作:(OPR)<-(OPR)-1

.NEG 求补指令

格式: NEG OPR

执行的操作:(OPR)<- -(OPR)

.CMP 比较指令

格式: CMP OPR1,OPR2

执行的操作:(OPR1)-(OPR2)

该指令与SUB指令一样执行减法操作,但不保存结果,只是根据结果设置条件标志西半球.

3.乘法指令

MUL(Unsigned Multiple)无符号数乘法

IMUL(Signed Multiple)带符号数乘法

.MUL 无符号数乘法指令

格式: MUL SRC

执行的操作:

字节操作数:(AX)<-(AL)*(SRC)

字操作数:(DX,AX)<-(AX)*(SRC)

.IMUL 带符号数乘法指令

格式: IMUL SRC

执行的操作:与MUL相同,但必须是带符号数,而MUL是无符号数.

4.除法指令

DIV(Unsigned divide)无符号数除法

IDIV(Signed divide)带符号数除法

CBW(Convert byte to word)字节转换为字

CWD(Contert word to double word)字转换为双字

.DIV 无符号数除法指令

格式: DIV SRC

执行的操作:

字节操作:(AL)<-(AX)/(SRC)的商

(AH)<-(AX)/(SRC)的余数

字操作: (AX)<-(DX,AX)/(SRC)的商

(AX)<-(DX,AX)/(SRC)的余数

.IDIV 带符号数除法指令

格式: DIV SRC

执行的操作:与DIV相同,但操作数必须是带符号数,商和余数也均为带符号数,且余数的符号与被除数的符号相同.

.CBW 字节转换为字指令

格式: CBW

执行的操作:AL的内容符号扩展到AH.即如果(AL)的最高有效位为0,则(AH)=00;如(AL)的最高有效位为1,则(AH)=0FFH

.CWD 字转换为双字指令

格式: CWD

执行的操作:AX的内容符号扩展到DX.即如(AX)的最高有效位为0,则(DX)=0;否则(DX)=0FFFFH.

这两条指令都不影响条件码.

三、逻辑指令

1.逻辑运算指令

AND(and) 逻辑与

OR(or) 逻辑或

NOT(not) 逻辑非

XOR(exclusive or)异或

TEST(test) 测试

.AND 逻辑与指令

格式: AND DST,SRC

执行的操作:(DST)<-(DST)^(SRC)

.OR 逻辑或指令

格式: OR DST,SRC

执行的操作:(DST)<-(DST)V(SRC)

.NOT 逻辑非指令

格式: NOT OPR

执行的操作:(OPR)<-(OPR)

.XOR 异或指令

格式: XOR DST,SRC

执行的操作:(DST)<-(DST)V(SRC)

.TEST 测试指令

格式: TEST OPR1,OPR2

执行的操作:(DST)^(SRC)

两个操作数相与的结果不保存,只根据其特征置条件码

2.移位指令

SHL(shift logical left) 逻辑左移

SAL(shift arithmetic left) 算术左移

SHR(shift logical right) 逻辑右移

SAR(shift arithmetic right) 算术右移

ROL(Rotate left) 循环左移

ROR(Rotate right) 循环右移

RCL(Rotate left through carry) 带进位循环左移

RCR(Rotate right through carry) 带进位循环右移

格式: SHL OPR,CNT(其余的类似)

其中OPR可以是除立即数以外的任何寻址方式.移位次数由CNT决定,CNT可以是1或CL.

循环移位指令可以改变操作数中所有位的位置;移位指令则常常用来做乘以2除以2操作.其中算术移位指令适用于带符号数运算,SAL用来乘2,SAR用来除以2;而逻辑移位指令则用来无符号数运算,SHL用来乘2,SHR用来除以2.

四、串处理指令

1.与REP相配合工作的MOVS,STOS和LODS指令

.REP重复串操作直到(CX)=0为上

格式: REP string primitive

其中String Primitive可为MOVS,LODS或STOS指令

执行的操作:

1)如(CX)=0则退出REP,否则往下执行.

2)(CX)<-(CX)-1

3)执行其中的串操作

4)重复1)~3)

.MOVS 串传送指令

格式:可有三种

MOVS DST,SRC

MOVSB(字节)

MOVSW(字)

其中第二、三种格式明确地注明是传送字节或字,第一种格式则应在操作数中表明是字还是字节操作,例如:

MOVS ES:BYTE PTR[DI],DS:[SI]

执行的操作:

1)((DI))<-((SI))

2)字节操作:

(SI)<-(SI)+(或-)1,(DI)<-(DI)+(或-)1

当方向标志DF=0时用+,当方向标志DF=1时用-

3)字操作:

(SI)<-(SI)+(或-)2,(DI)<-(DI)+(或-)2

当方向标志DF=0时用+,当方向标志DF=1时用-

该指令不影响条件码.

.CLD(Clear direction flag)该指令使DF=0,在执行串操作指令时可使地址自动增量;

.STD(Set direction flag)该指令使DF=1,在执行串操作指令时可使地址自动减量.

.STOS 存入串指令

格式: STOS DST

STOSB(字节)

STOSW(字)

执行的操作:

字节操作:((DI))<-(AL),(DI)<-(DI)+-1

字操作: ((DI))<-(AX),(DI)<-(DI)+-2

该指令把AL或AX的内容存入由(DI)指定的附加段的某单元中,并根据DF的值及数据类型修改DI的内容,当它与REP联用时,可把AL或AX的内容存入一个长度为(CX)的缓冲区中. .LODS 从串取指令

格式: LODS SRC

LODSB

LODSW

执行的操作:

字节操作:(AL)<-((SI)),(SI)<-(SI)+-1

字操作: (AX)<-((SI)),(SI)<-(SI)+-2

该指令把由(SI)指定的数据段中某单元的内容送到AL或AX中,并根据方向标志及数据类型修改SI的内容.指令允许使用段跨越前缀来指定非数据段的存储区.该指令也不影响条件码.

一般说来,该指令不和REP联用.有时缓冲区中的一串字符需要逐次取出来测试时,可使用本指令.

2.与REPE/REPZ和REPNZ/REPNE联合工作的CMPS和SCAS指令

.REPE/REPZ 当相等/为零时重复串操作

格式: REPE(或REPZ) String Primitive

其中String Primitive可为CMPS或SCAS指令.

执行的操作:

1)如(CX)=0或ZF=0(即某次比较的结果两个操作数不等)时退出,否则往下执行

2)(CX)<-(CX)-1

3)执行其后的串指令

4)重复1)~3)

.REPNE/REPNZ 当不相等/不为零时重复串操作

格式: REPNE(或REPNZ) String Primitive

其中String Primitive可为CMPS或SCAS指令

执行的操作:

除退出条件(CX=0)或ZF=1外,其他操作与REPE完全相同.

.CMPS 串比较指令

格式: CMP SRC,DST

CMPSB

CMPSW

执行的操作:

1)((SI))-((DI))

2)字节操作:(SI)<-(SI)+-1,(DI)<-(DI)+-1

字操作: (SI)<-(SI)+-2,(DI)<-(DI)+-2

指令把由(SI)指向的数据段中的一个字(或字节)与由(DI)指向的附加段中的一个字(或字节)相减,但不保存结果,只根据结果设置条件码,指令的其它特性和MOVS指令的规定相同.

.SCAS 串扫描指令

格式: SCAS DST

SCASB

SCASW

执行的操作:

字节操作:(AL)-((DI)),(DI)<-(DI)+-1

字操作: (AL)-((DI)),(DI)<-(DI)+-2

该指令把AL(或AX)的内容与由(DI)指定的在附加段中的一个字节(或字)进行比较,并不保存结果,只根据结果置条件码.指令的其他特性和MOVS的规定相同.

五、控制转移指令

1.无条件转移指令

.JMP(jmp) 跳转指令

1)段内直接短转移

格式:JMP SHORT OPR

执行的操作:(IP)<-(IP)+8位位移量

2)段内直接近转移

格式:JMP NEAR PTR OPR

执行的操作:(IP)<-(IP)+16位位移量

3)段内间接转移

格式:JMP WORD PTR OPR

执行的操作:(IP)<-(EA)

4)段间直接(远)转移

格式:JMP FAR PTR OPR

执行的操作:(IP)<-OPR的段内偏移地址

(CS)<-OPR所在段的段地址

5)段间间接转移

格式:JMP DWORD PTR OPR

执行的操作:(IP)<-(EA)

(CS)<-(EA+2)

2.条件转移指令

1)根据单个条件标志的设置情况转移

.JZ(或JE)(Jump if zero,or equal) 结果为零(或相等)则转移

格式:JE(或JZ) OPR

测试条件:ZF=1

.JNZ(或JNE)(Jump if not zero,or not equal) 结果不为零(或不相等)则转移

格式:JNZ(或JNE) OPR

测试条件:ZF=0

.JS(Jump if sign) 结果为负则转移

格式: JS OPR

测试条件:SF=1

.JNS(Jump if not sign) 结果为正则转移

格式:JNS OPR

测试条件:SF=0

.JO(Jump if overflow) 溢出则转移

格式: JO OPR

测试条件:OF=1

.JNO(Jump if not overflow) 不溢出则转移

格式: JNO OPR

测试条件:OF=0

.JP(或JPE)(Jump if parity,or parity even) 奇偶位为1则转移

格式: JP OPR

测试条件:PF=1

.JNP(或JPO)(Jump if not parity,or parity odd) 奇偶位为0则转移

格式: JNP(或JPO) OPR

测试条件:PF=0

.JB(或JNAE,JC)(Jump if below,or not above or equal,or carry) 低于,或者不高于或等于,或进位位为1则转移

格式:JB(或JNAE,JC) OPR

测试条件:CF=1

.JNB(或JAE,JNC)(Jump if not below,or above or equal,or not carry) 不低于,或者高于或者等于,或进位位为0则转移

格式:JNB(或JAE,JNC) OPR

测试条件:CF=0

2)比较两个无符号数,并根据比较的结果转移

.JB(或JNAE,JC)

格式:同上

.JNB(或JAE,JNC)

格式:同上

.JBE(或JNA)(Jump if below or equal,or not above) 低于或等于,或不高于则转移

格式:JBE(或JNA) OPR

测试条件:CFVZF=1

.JNBE(或JA)(Jump if not below or equal,or above) 不低于或等于,或者高于则转移

格式:JNBE(或JA) OPR

测试条件:CFVZF=0

3)比较两个带符号数,并根据比较的结果转移

.JL(或LNGE)(Jump if less,or not greater or equal) 小于,或者不大于或者等于则转移

格式:JL(或JNGE) OPR

测试条件:SFVOF=1

.JNL(或JGE)(Jump if not less,or greater or equal)不小于,或者大于或者等于则转移格式:JNL(或JGE) OPR

测试条件:SFVOF=0

.JLE(或JNG)(Jump if less or equal,or not greater) 小于或等于,或者不大于则转移格式:JLE(或JNG) OPR

测试条件:(SFVOF)VZF=1

.JNLE(或JG)(Jump if not less or equal,or greater) 不小于或等于,或者大于则转移格式:JNLE(或JG) OPR

测试条件:(SFVOF)VZF=0

4)测试CX的值为0则转移指令

.JCXZ(Jump if CX register is zero) CX寄存器的内容为零则转移

格式:JCXZ OPR

测试条件:(CX)=0

注:条件转移全为8位短跳!

3.循环指令

.LOOP 循环指令

格式: LOOP OPR

测试条件:(CX)<>0

.LOOPZ/LOOPE 当为零或相等时循环指令

格式: LOOPZ(或LOOPE) OPR

测试条件:(CX)<>0且ZF=1

.LOOPNZ/LOOPNE 当不为零或不相等时循环指令

格式: LOOPNZ(或LOOPNE) OPR

测试条件:(CX)<>0且ZF=0

这三条指令的步骤是:

1)(CX)<-(CX)-1

2)检查是否满足测试条件,如满足则(IP)<-(IP)+D8的符号扩充.

4.子程序

.CALL调用指令

.RET返回指令

5.中断

.INT指令

格式: INT TYPE

或INT

执行的操作:(SP)<-(SP)-2

((SP)+1,(SP))<-(PSW)

(SP)<-(SP)-2

((SP)+1,(SP))<-(CS)

(SP)<-(SP)-2

((SP)+1,(SP))<-(IP)

(IP)<-(TYPE*4)

(CS)<-(TYPE*4+2)

.INTO 若溢出则中断

执行的操作:若OF=1则:

(SP)<-(SP)-2

((SP)+1,(SP))<-(PSW)

(SP)<-(SP)-2

((SP)+1,(SP))<-(CS)

(SP)<-(SP)-2

((SP)+1,(SP))<-(IP)

(IP)<-(10H)

(CS)<-(12H)

.IRET 从中断返回指令

格式: IRET

执行的操作:(IP)<-((SP)+1,(SP))

(SP)<-(SP)+2

(CS)<-((SP)+1,(SP))

(SP)<-(SP)+2

(PSW)<-((SP)+1,(SP))

(SP)<-(SP)+2

六、处理机控制指令

1.标志处理指令

.CLC进位位置0指令(Clear carry)CF<-0

.CMC进位位求反指令(Complement carry)CF<-CF

.STC进位位置1指令(Set carry)CF<-1

.CLD方向标志置0指令(Clear direction)DF<-0

.STD方向标志置1指令(Set direction)DF<-1

.CLI中断标志置0指令(Clear interrupt)IF<-0

.STI中断标志置1指令(Set interrupt)IF<-0

2.其他处理机控制指令

NOP(No Opreation) 无操作

HLT(Halt) 停机

WAIT(Wait) 等待

ESC(Escape) 换码

LOCK(Lock) 封锁

这些指令可以控制处理机状态.这们都不影响条件码.

.NOP 无操作指令

该指令不执行任何操作,其机器码占有一个字节,在调试程序时往往用这条指令占有一定的存储单元,以便在正式运行时用其他指令取代.

.HLT停机指令

该指令可使机器暂停工作,使处理机处于停机状态以便等待一次外部中断到来,中断结束后可继续执行下面的程序.

.WAIT等待指令

该指令使处理机处于空转状态,它也可以用来等待外部中断的发生,但中断结束后仍返

回W AIT指令继续德行.

.ESC换码指令

格式ESC mem

其中mem指出一个存储单元,ESC指令把该存储单元的内容送到数据总线去.当然ESC指令不允许使用立即数和寄存器寻址方式.这条指令在使用协处理机(Coprocessor)执行某些操作时,可从存储器指得指令或操作数.协处理机(如8087)则是为了提高速度而可以选配的硬件. .LOCK封锁指令

该指令是一种前缀,它可与其他指令联合,用来维持总线的锁存信号直到与其联合的指令执行完为止.当CPU与其他处理机协同工作时,该指令可避免破坏有用信息.

汇编语言指令表

汇编语言指令表文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]

伪指令 1、定位伪指令 ORG m 2、定义字节伪指令 DB X1,X2,X3,…,Xn 3、字定义伪指令 DW Y1,Y2,Y3,…,Yn 4、汇编结束伪指令 END 寻址方式 MCS-51单片机有五种寻址方式: 1、寄存器寻址 2、寄存器间接寻址 3、直接寻址 4、立即数寻址 5、基寄存器加变址寄存器间接寻址 6、相对寻址 7、位寻址 数据传送指令 一、以累加器A为目的操作数的指令(4条) MOV A,Rn ;(Rn)→A n=0~7 MOV A,direct ;( direct )→A MOV A,@Ri ;((Ri))→A i=0~1 MOV A,#data ; data →A 二、以Rn为目的操作数的指令(3条) MOV Rn ,A;(A)→ Rn MOV Rn ,direct;( direct )→ Rn MOV Rn ,#data; data → Rn 三、以直接寻址的单元为目的操作数的指令(5条) MOV direct,A;(A)→direct MOV direct,Rn;(Rn)→direct MOV direct,direct ;(源direct)→目的direct MOV direct,@Ri;((Ri))→direct MOV direct,#data; data→direct 四、以寄存器间接寻址的单元为目的操作数的指令(3条) MOV @Ri,A;(A)→(Ri) MOV @Ri,direct;(direct)→(Ri) MOV @Ri,#data; data→(Ri) 五、十六位数据传送指令(1条) MOV DPTR,#data16;dataH→DPH,dataL →DPL

电脑命令提示符大全

winver 检查Windows版本 wmimgmt.msc 打开Windows管理体系结构(wmi) wupdmgr Windows更新程序 wscript Windows脚本宿主设置 write 写字板 winmsd 系统信息 wiaacmgr 扫描仪和照相机向导 winchat xp自带局域网聊天 mem.exe 显示内存使用情况 msconfig.exe 系统配置实用程序 mplayer2 简易widnows media player mspaint 画图板 mstsc 远程桌面连接 mplayer2 媒体播放机 magnify 放大镜实用程序 mmc 打开控制台 mobsync 同步命令 dxdiag 检查directx信息 drwtsn32 系统医生 devmgmt.msc 设备管理器 dfrg.msc 磁盘碎片整理程序 diskmgmt.msc 磁盘管理实用程序 dcomcnfg 打开系统组件服务 ddeshare 打开dde共享设置

dvdplay dvd播放器 net stop messenger 停止信使服务 net start messenger 开始信使服务 notepad 打开记事本 nslookup 网络管理的工具向导 ntbackup 系统备份和还原 narrator 屏幕“讲述人” ntmsmgr.msc 移动存储管理器 ntmsoprq.msc 移动存储管理员操作请求 netstat -an (tc)命令检查接口 syncapp 创建一个公文包 sysedit 系统配置编辑器 sigverif 文件签名验证程序 sndrec32 录音机 shrpubw 创建共享文件夹 secpol.msc 本地安全策略 syskey 系统加密,一旦加密就不能解开,保护Windows xp系统的双重密码services.msc 本地服务设置 sndvol32 音量控制程序 sfc.exe 系统文件检查器 sfc /scannow windows文件保护 tsshutdn 60秒倒计时关机命令 tourstart xp简介(安装完成后出现的漫游xp程序) taskmgr 任务管理器 eventvwr 事件查看器

汇编语言入门

汇编语言入门教程 对初学者而言,汇编的许多命令太复杂,往往学习很长时间也写不出一个漂漂亮亮的程序,以致妨碍了我们学习汇编的兴趣,不少人就此放弃。所以我个人看法学汇编,不一定要写程序,写程序确实不是汇编的强项,大家不妨玩玩DEBUG,有时CRACK出一个小软件比完成一个程序更有成就感(就像学电脑先玩游戏一样)。某些高深的指令事实上只对有经验的汇编程序员有用,对我们而言,太过高深了。为了使学习汇编语言有个好的开始,你必须要先排除那些华丽复杂的命令,将注意力集中在最重要的几个指令上(CMP LOOP MOV JNZ……)。但是想在啰里吧嗦的教科书中完成上述目标,谈何容易,所以本人整理了这篇超浓缩(用WINZIP、WINRAR…依次压迫,嘿嘿!)教程。大言不惭的说,看通本文,你完全可以“不经意”间在前辈或是后生卖弄一下DEBUG,很有成就感的,试试看!那么――这个接下来呢?――Here we go!(阅读时看不懂不要紧,下文必有分解) 因为汇编是通过CPU和内存跟硬件对话的,所以我们不得不先了解一下CPU和内存:(关于数的进制问题在此不提) CPU是可以执行电脑所有算术╱逻辑运算与基本I/O 控制功能的一块芯片。一种汇编语言只能用于特定的CPU。也就是说,不同的CPU其汇编语言的指令语法亦不相同。个人电脑由1981年推出至今,其CPU发展过程为:8086→80286→80386→80486→PENTIUM →……,还有AMD、CYRIX等旁支。后面兼容前面CPU的功能,只不过多了些指令(如多能奔腾的MMX指令集)、增大了寄存器(如386的32位EAX)、增多了寄存器(如486的FS)。为确保汇编程序可以适用于各种机型,所以推荐使用8086汇编语言,其兼容性最佳。本文所提均为8086汇编语言。寄存器(Register)是CPU内部的元件,所以在寄存器之间的数据传送非常快。用途:1.可将寄存器内的数据执行算术及逻辑运算。2.存于寄存器内的地址可用来指向内存的某个位置,即寻址。3.可以用来读写数据到电脑的周边设备。8086 有8个8位数据寄存器,这些8位寄存器可分别组成16位寄存器:AH&AL=AX:累加寄存器,常用于运算;BH&BL=BX:基址寄存器,常用于地址索引;CH&CL=CX:计数寄存器,常用于计数;DH&DL=DX:数据寄存器,常用于数据传递。为了运用所有的内存空间,8086设定了四个段寄存器,专门用来保存段地址:CS(Code Segment):代码段寄存器;DS(Data Segment):数据段寄存器;SS(Stack Segment):堆栈段寄存器;ES(Extra Segment):附加段寄存器。当一个程序要执行时,就要决定程序代码、数据和堆栈各要用到内存的哪些位置,通过设定段寄存器CS,DS,SS 来指向这些起始位置。通常是将DS固定,而根据需要修改CS。所以,程序可以在可寻址空间小于64K的情况下被写成任意大小。所以,程序和其数据组合起来的大小,限制在DS 所指的64K内,这就是COM文件不得大于64K的原因。8086以内存做为战场,用寄存器做为军事基地,以加速工作。除了前面所提的寄存器外,还有一些特殊功能的寄存器:IP(Intruction Pointer):指令指针寄存器,与CS配合使用,可跟踪程序的执行过程;SP(Stack Pointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置。BP(Base Pointer):基址指针寄存器,可用作SS 的一个相对基址位置;SI(Source Index):源变址寄存器可用来存放相对于DS段之源变址指针;DI(Destination Index):目的变址寄存器,可用来存放相对于ES 段之目的变址指针。还有一个标志寄存器FR(Flag Register),有九个有意义的标志,将在下文用到时详细说明。 内存是电脑运作中的关键部分,也是电脑在工作中储存信息的地方。内存组织有许多可存放

最全CMD指令大全-cmd最恐怖指令-cmd最恐怖指令

CMD运行指令 开始→运行→CMD→键入以下命令即可: ASSOC显示或修改文件扩展名关联。 AT计划在计算机上运行的命令和程序。ATTRIB显示或更改文件属性。 BREAK设置或清除扩展式CTRL+C检查。CACLS显示或修改文件的访问控制列表(ACLs)。CALL从另一个批处理程序调用这一个。 CD显示当前目录的名称或将其更改。 CHCP显示或设置活动代码页数。 CHDIR显示当前目录的名称或将其更改。 cleanmgr–打开磁盘清理工具 compmgmt.msc---计算机管理 conf—-启动netmeeting charmap–-启动字符映射表 calc—-启动计算器 chkdsk.exe–-Chkdsk磁盘检查 cmd.exe–-CMD命令提示符 certmgr.msc–证书管理实用程序 cliconfg–SQLSERVER客户端网络实用程序

Clipbrd

–-剪贴板查看器 ciadv.msc–--索引服务程序 dvdplay–-DVD播放器 diskmgmt.msc---磁盘管理实用程序 dfrg.msc–磁盘碎片整理程序 devmgmt.msc---设备管理器 drwtsn32–--系统医生 dxdiag–--检查DirectX信息 dcomcnfg–打开系统组件服务 ddeshare–打开DDE共享设置 explorer–打开资源管理器 eventvwr–事件查看器 eudcedit–造字程序 fsmgmt.msc–-共享文件夹管理器 gpedit.msc–-组策略 iexpress–***工具,系统自带 logoff–注销命令 lusrmgr.msc–本机用户和组 mstsc–远程桌面连接 Msconfig.exe---系统配置实用程序 mem.exe–-显示内存使用情况(如果直接运行无效,可以先运行cmd,在命令提示符里输入mem.exe>d:a.txt即可打开d盘查看a.txt,里面的就是内存使用情况了。当然什

(完整word版)汇编语言常用指令大全,推荐文档

MOV指令为双操作数指令,两个操作数中必须有一个是寄存器. MOV DST , SRC // Byte / Word 执行操作: dst = src 1.目的数可以是通用寄存器, 存储单元和段寄存器(但不允许用CS段寄存器). 2.立即数不能直接送段寄存器 3.不允许在两个存储单元直接传送数据 4.不允许在两个段寄存器间直接传送信息 PUSH入栈指令及POP出栈指令: 堆栈操作是以“后进先出”的方式进行数据操作. PUSH SRC //Word 入栈的操作数除不允许用立即数外,可以为通用寄存器,段寄存器(全部)和存储器. 入栈时高位字节先入栈,低位字节后入栈. POP DST //Word 出栈操作数除不允许用立即数和CS段寄存器外, 可以为通用寄存器,段寄存器和存储器. 执行POP SS指令后,堆栈区在存储区的位置要改变. 执行POP SP 指令后,栈顶的位置要改变. XCHG(eXCHanG)交换指令: 将两操作数值交换. XCHG OPR1, OPR2 //Byte/Word 执行操作: Tmp=OPR1 OPR1=OPR2 OPR2=Tmp 1.必须有一个操作数是在寄存器中 2.不能与段寄存器交换数据 3.存储器与存储器之间不能交换数据. XLAT(TRANSLATE)换码指令: 把一种代码转换为另一种代码. XLAT (OPR 可选) //Byte 执行操作: AL=(BX+AL) 指令执行时只使用预先已存入BX中的表格首地址,执行后,AL中内容则是所要转换的代码. LEA(Load Effective Address) 有效地址传送寄存器指令 LEA REG , SRC //指令把源操作数SRC的有效地址送到指定的寄存器中. 执行操作: REG = EAsrc 注: SRC只能是各种寻址方式的存储器操作数,REG只能是16位寄存器 MOV BX , OFFSET OPER_ONE 等价于LEA BX , OPER_ONE MOV SP , [BX] //将BX间接寻址的相继的二个存储单元的内容送入SP中 LEA SP , [BX] //将BX的内容作为存储器有效地址送入SP中 LDS(Load DS with pointer)指针送寄存器和DS指令 LDS REG , SRC //常指定SI寄存器。 执行操作: REG=(SRC), DS=(SRC+2) //将SRC指出的前二个存储单元的内容送入指令中指定的寄存器中,后二个存储单元送入DS段寄存器中。

STM 常用汇编指令

在嵌入式开发中,汇编程序常常用于非常关键的地方,比如系统启动时初始化,进出中断时的环境保护,恢复等对性能有要求的地方。 ARM指令集可以分为六大类,分别为数据处理指令、Load/Store指令、跳转指令、程序状态寄存器处理指令、协处理器指令和异常产生指令。 ARM指令使用的基本格式如下: 〈opcode〉{〈cond〉}{S}〈Rd〉,〈Rn〉{,〈operand2〉} opcode操作码;指令助记符,如LDR、STR等。 cond可选的条件码;执行条件,如EQ、NE等。 S可选后缀;若指定“S”,则根据指令执行结果更新CPSR中的条件码。 Rd目标寄存器。 Rn存放第1操作数的寄存器。 operand2第2个操作数 arm的寻址方式如下: 立即寻址 寄存器寻址 寄存器间接寻址 基址加偏址寻址 堆栈寻址 块拷贝寻址 相对寻址 这里不作详细描述,可以查阅相关文档。 数据处理指令 Load/Store指令 程序状态寄存器与通用寄存器之间的传送指令 转移指令 异常中断指令 协处理器指令 在S3C2410、S3C2440的数据手册中对各种汇编指令有详细的描述;这里只对较常见的作写介绍。 1、相对跳转指令:b、bl 这两条指令的不同之处在于bl指令除了跳转之外,还将返回地址(bl的下一条指令的地址)保存在lr寄存器中。 这两条指令的可跳转范围是当前指令前后32M。 b funa .... funa: b funb ....

funb: .... 2、数据传送指令mov,地址读取伪指令ldr mov指令可以把一个寄存器的值赋给另外一个寄存器,或者把一个常数赋给寄存器。 mov r1,r2 mov r1,#1024 mov传送的常数必须能用立即数来表示。当不能用立即数表示时,可以用ldr命令来赋值。ldr是伪命令,不是真实存在的指令,编译器会把它扩展成真正的指令;如果该常数能用“立即数”来表示,则使用mov指令,否则编译时将该常数保存在某个位置,使用内存读取指令把它读出来。 ldr r1,=1024 3、内存访问指令ldr、str、ldm、stm ldr既可以指低至读取伪指令,也可以是内存访问指令。当他的第二个参数前面有'='时标伪指令,否则表内存访问指令。 ldr指令从内存中读取数据到寄存器,str指令把寄存器的指存储到内存中,他们的操作数都是32位的。 ldr r1,[r2,#4] ldr r1,[r2] ldr r1,[r2],#4 str r1,[r2,#4] str r1,[r2] str r1,[r2],#4 寄存器传送指令可以用一条指令将16个可见寄存器(R0~R15)的任意子集合(或全部)存储到存储器或从存储器中读取数据到该寄存器集合中。与单寄存器存取指令相比,多寄存器数据存取可用的寻址模式更加有限。多寄存器存取指令的汇编格式如下: LDM/STM{}Rn{!}, 4、加减指令add、sub add r1,r2,#1 sub r1,r2,#1 5、程序状态寄存器的访问指令msr,mrs ARM指令中有两条指令,用于在状态寄存器和通用寄存器之间传送数据。修改状态寄存器一般是通过“读取-修改-写回”三个步骤的操作来实现的。这两条指令分别是: 状态寄存器到通用寄存器的传送指令(MRS) 通用寄存器到状态寄存器的传送指令(MSR) 其汇编格式如下: MRS{}Rd,CPSR|SPSR 其汇编格式如下:

DSP汇编指令总结

DSP汇编指令总结 一、寻址方式: 1、立即寻址: 短立即寻址(单指令字) 长立即数寻址(双指令字) 第一指令字 第二指令字 16位常数=16384=4000h 2、直接寻址 ARU 辅助寄存器更新代码,决定当前辅助寄存器是否和如何进行增或减。N规定是否改变ARP值,(N=0,不变)

4.3.1、算术逻辑指令(28条) 4.3.1.1、加法指令(4条); 4.3.1.2、减法指令(5条); 4.3.1.3、乘法指令(2条); 4.3.1.4、乘加与乘减指令(6条); 4.3.1.5、其它算数指令(3条); 4.3.1.6、移位和循环移位指令(4条); 4.3.1.7、逻辑运算指令(4条); 4.3.2、寄存器操作指令(35条) 4.3.2.1、累加器操作指令(6条) 4.3.2.2、临时寄存器指令(5条) 4.3.2.3、乘积寄存器指令(6条) 4.3.2.4、辅助寄存器指令(5条) 4.3.2.5、状态寄存器指令(9条) 4.3.2.6、堆栈操作指令(4条) 4.3.3、存储器与I/O操作指令(8条)4.3.3.1、数据移动指令(4条) 4.3.3.2、程序存储器读写指令(2条) 4.3.3.3、I/O操作指令(2条) 4.3.4、程序控制指令(15条) 4.3.4.1、程序分支或调用指令(7条) 4.3.4.2、中断指令(3条) 4.3.4.3、返回指令(2条) 4.3.4.4、其它控制指令(3条)

4.3.1、算术逻辑指令(28条) 4.3.1.1、加法指令(4条); ▲ADD ▲ADDC(带进位加法指令) ▲ADDS(抑制符号扩展加法指令) ▲ADDT(移位次数由TREG指定的加法指令) 4.3.1.2、减法指令(5条); ★SUB(带移位的减法指令) ★SUBB(带借位的减法指令) ★SUBC(条件减法指令) ★SUBS(减法指令) ★SUBT(带移位的减法指令,TREG决定移位次数)4.3.1.3、乘法指令(2条); ★MPY(带符号乘法指令) ★MPYU(无符号乘法指令) 4.3.1.4、乘加与乘减指令(6条); ★MAC(累加前次积并乘)(字数2,周期3) ★MAC(累加前次积并乘) ★MPYA(累加-乘指令) ★MPYS(减-乘指令) ★SQRA(累加平方值指令) ★SQRS(累减并平方指令) 4.3.1.5、其它算数指令(3条); ★ABS(累加器取绝对值指令) ★NEG(累加器取补码指令) ★NORM(累加器规格化指令) 返回 4.3.1.6、移位和循环移位指令(4条); ▲ SFL(累加器内容左移指令) ▲ SFR(累加器内容右移指令) ▲ROL(累加器内容循环左移指令) ▲ROR(累加器内容循环右移指令) 返回 4.3.1.7、逻辑运算指令(4条); ▲ AND(逻辑与指令) ▲ OR(逻辑或指令) ▲ XOR(逻辑异或指令) ▲ CMPL(累加器取反指令) 返回 4.3.2、寄存器操作指令(35条) 4.3.2.1、累加器操作指令(6条)

最全CMD指令大全-cmd最恐怖指令-cmd最恐怖指令

CMD运行指令 欧阳学文 开始→运行→CMD→键入以下命令即可: ASSOC显示或修改文件扩展名关联。AT计划在计算机上运行的命令和程序。ATTRIB显示或更改文件属性。BREAK 设置或清除扩展式CTRL+C检查。CACLS显示或修改文件的访问控制列表(ACLs)。CALL从另一个批处理程序调用这一个。CD显示当前目录的名称或将其更改。CHCP显示或设置活动代码页数。CHDIR显示当前目录的名称或将其更改。 cleanmgr–打开磁盘清理工具compmgmt.msc---计算机管理conf—启动netmeetingcharmap–-启动字符映射表calc—启动计算器chkdsk.exe–-Chkdsk磁盘检查cmd.exe–-CMD命令提示符certmgr.msc–证书管理实用程序cliconfg–SQLSERVER客户端网络实用程序Clipbrd–-剪贴板查看器 ciadv.msc–--索引服务程序dvdplay–-DVD 播放器diskmgmt.msc---磁盘管理实用程序dfrg.msc–磁

盘碎片整理程序devmgmt.msc---设备管理器drwtsn32–--系统医生dxdiag–--检查DirectX信息dcomcnfg–打开系统组件服务ddeshare–打开DDE共享设置explorer–打开资源管理器eventvwr–事件查看器eudcedit–造字程序fsmgmt.msc–-共享文件夹管理器gpedit.msc–-组策略iexpress–***工具,系统自带logoff–注销命令lusrmgr.msc–本机用户和组mstsc–远程桌面连接Msconfig.exe---系统配置实用程序mem.exe–-显示内存使用情况(如果直接运行无效,可以先运行cmd,在命令提示符里输入mem.exe>d:a.txt即可打开d盘查看a.txt,里面的就是内存使用情况了。当然什么盘什么文件名可自己决定。)chkdsk.exe–-Chkdsk磁盘检查cmd.exe–-CMD命令提示符mplayer2–简易widnowsmediaplayermspaint–-画图板mplayer2–媒体播放机magnify–-放大镜实用程序mmc—-打开控制台mobsync–-同步命令notepad–-打开记事本nslookup–网络管理的工具向导ntbackup–系统备份和还原narrator–屏幕“讲述人”netstartmessenger–开始信使服务netstopmessenger–-停止信使服务 netstopmessenger–-

(完整word版)汇编语言指令集合-吐血整理,推荐文档

8086/8088指令系统记忆表 数据寄存器分为: AH&AL=AX(accumulator):累加寄存器,常用于运算;在乘除等指令中指定用来存放操作数,另外,所有的I/O指令都使用这一寄存器与外界设备传送数据. BH&BL=BX(base):基址寄存器,常用于地址索引; CH&CL=CX(count):计数寄存器,常用于计数;常用于保存计算值,如在移位指令,循环(loop)和串处理指令中用作隐含的计数器. DH&DL=DX(data):数据寄存器,常用于数据传递。他们的特点是,这4个16位的寄存器可以分为高8位: AH, BH, CH, DH.以及低八位:AL,BL,CL,DL。这2组8位寄存器可以分别寻址,并单独使用。 另一组是指针寄存器和变址寄存器,包括: SP(Stack Pointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置; BP(Base Pointer):基址指针寄存器,可用作SS的一个相对基址位置; SI(Source Index):源变址寄存器可用来存放相对于DS段之源变址指针; DI(Destination Index):目的变址寄存器,可用来存放相对于ES 段之目的变址指针。 指令指针IP(Instruction Pointer) 标志寄存器FR(Flag Register) OF(overflow flag) DF(direction flag) CF(carrier flag) PF(parity flag) AF(auxiliary flag) ZF(zero flag) SF(sign flag) IF(interrupt flag) TF(trap flag) 段寄存器(Segment Register) 为了运用所有的内存空间,8086设定了四个段寄存器,专门用来保存段地址: CS(Code Segment):代码段寄存器; DS(Data Segment):数据段寄存器; SS(Stack Segment):堆栈段寄存器;

CMD本机常用命令大全

CMD本机常用命令大全 cleanmgr–打开磁盘清理工具compmgmt.msc---计算机管理 conf—-启动netmeeting charmap–-启动字符映射表 calc—-启动计算器 chkdsk.exe–-Chkdsk磁盘检查 cmd.exe–-CMD命令提示符 certmgr.msc–证书管理实用程序 cliconfg–SQL SERVER 客户端网络实用程序Clipbrd–-剪贴板查看器 ciadv.msc–--索引服务程序 dvdplay–-DVD播放器 diskmgmt.msc---磁盘管理实用程序dfrg.msc–磁盘碎片整理程序 devmgmt.msc---设备管理器 drwtsn32–--系统医生 dxdiag–--检查DirectX信息 dcomcnfg–打开系统组件服务 ddeshare–打开DDE共享设置 explorer–打开资源管理器

eventvwr–事件查看器 eudcedit–造字程序 fsmgmt.msc–-共享文件夹管理器 gpedit.msc–-组策略 iexpress–***工具,系统自带 logoff–注销命令 lusrmgr.msc–本机用户和组 mstsc–远程桌面连接 Msconfig.exe---系统配置实用程序 mem.exe–-显示内存使用情况(如果直接运行无效,可以先运行cmd,在命令提示符里输入mem.exe>d:a.txt 即可打开d盘查看a.txt,里面的就是内存使用情况了。当然什么盘什么文件名可自己决定。)mplayer2–简易widnows media player mspaint–-画图板 mplayer2–媒体播放机 magnify–-放大镜实用程序 mmc—--打开控制台 mobsync–-同步命令 notepad–-打开记事本 net start messenger–开始信使服务 net stop messenger–-停止信使服务 net stop messenger–-停止信使服务

汇编指令

数据传送指令MOV 格式: MOV OPRD1,OPRD2 功能: 本指令将一个源操作数送到目的操作数 中,即OPRD1<--OPRD2. 堆栈操作指令PUSH和POP 格式: PUSH OPRD POP OPRD 功能: 实现压入操作的指令是PUSH指令;实现弹出 操作的指令是POP指令. 数据交换指令XCHG 格式: XCHG OPRD1,OPRD2 其中的OPRD1为目的操作数,OPRD2为源操作数 功能: 将两个操作数相互交换位置,该指令把源操 作数OPRD2与目的操数OPRD1交换. 查表指令XLAT 格式: XLAT TABLE其中TABLE为一待查表格的首地址. 功能: 把待查表格的一个字节内容送到AL累加器 中. 在执行该指令前,应将TABLE 先送至BX寄存器中,然后将待查 字节与在表格中距表首地址位移 量送AL,即(AL)<--((BX)+ (AL)). 标志传送指令LAHF 格式: LAHF 功能: 取FLAG标志寄存器低8位至AH寄存器.(AH)< -(FLAG)7~0 标志传送指令SAHF 格式: SAHF 功能: 将AH存至FLAG低8位 标志传送指令PUSHF

功能: 本指令可以把标志寄存器的内容保存到堆栈 中去 标志传送指令POPF 格式: POPF 功能: 本指令的功能与PUSHF相反,在子程序调用和中断服务程序中,往往用PUSHF指令保护FLAG的内容,用POPF指令将保护的FLAG内容恢复. 有效地址传送指令LEA 格式: LEA OPRD1,OPRD2 功能: 将源操作数给出的有效地址传送到指定的的 寄存器中. 从存储器取出32位地址的指令LDS 格式: LDS OPRD1,OPRD2 功能: 从存储器取出32位地址的指令. 从存储器取出32位地址的指令LES 格式: LES OPRD1,OPRD2 功能: 从存储器取出32位地址的指令. 加法指令ADD(Addition) 格式: ADD OPRD1,OPRD2 功能: 两数相加 带进位加法指令ADC(Addition Carry) 格式: ADC OPRD1,OPRD2 功能: OPRD1<--OPRD1 + OPRD2 + CF 加1指令INC(INCrement by 1) 格式: INC OPRD 功能: OPRD<--OPRD+1 未组合的十进制加法调整指令AAA(ASCII Adgust for Addition)

黑客常用CMD命令大全

黑客常用CMD命令大全 net user heibai lovechina /add 加一个heibai的用户密码为lovechina net localgroup Administrators heibai /add 把他加入Administrator组 net start telnet 开对方的TELNET服务 net use z:\127.0.0.1c$ 映射对方的C盘 net use \\ip\ipc$ " " /user:" " 建立IPC空链接 net use \\ip\ipc$ "密码" /user:"用户名" 建立IPC非空链接 net use h: \\ip\c$ "密码" /user:"用户名" 直接登陆后映射对方C:到本地为H: net use h: \\ip\c$ 登陆后映射对方C:到本地为H: net use \\ip\ipc$ /del 删除IPC链接 net use h: /del 删除映射对方到本地的为H:的映射 net user 用户名密码/add 建立用户 net user 查看有哪些用户 net user 帐户名查看帐户的属性 net user guest /active:yes 将Guest用户激活 net user guest lovechina 把guest的密码改为lovechina net user 用户名/delete 删掉用户 net user guest/time:m-f,08:00-17:00 表示guest用户登录时间为周一至周五的net user guest/time:m,4am-5pm;t,1pm-3pm;w-f,8:00-17:00 表示guest用户登录时间为周一4:00/17:00,周二13:00/15:00,周三至周五8:00/17:00. net user guest/time:all表示没有时间限制. net user guest/time 表示guest用户永远不能登录. 但是只能限制登陆时间,不是上网时间 net time \\127.0.0.1 得到对方的时间, get c:\index.htm d:\ 上传的文件是INDEX.HTM,它位于C:\下,传到对方D:\ copy index.htm \\127.0.0.1\c$\index.htm 本地C盘下的index.htm复制到 127.0.0.1的C盘 net localgroup administrators 用户名/add 把“用户”添加到管理员中使其具有管理员权限,注意:administrator后加s用复数 net start 查看开启了哪些服务 net start 服务名开启服务;(如:net start telnet,net start schedule) net stop 服务名停止某服务 net time \\目标ip 查看对方时间 net time \\目标ip /set 设置本地计算机时间与“目标IP”主机的时间同步,加参数 /yes可取消确认信息net view 查看本地局域网内开启了哪些共享 net view \\ip 查看对方局域网内开启了哪些共享 net config 显示系统网络设置

AVRmega8汇编指令汇总.

指令集概述 指令操作数说明操作标志 # 时钟数 算数和逻辑指令 ADD Rd, Rr 无进位加法Rd ← Rd + Rr Z,C,N,V,H 1 ADC Rd, Rr 带进位加法Rd ← Rd + Rr + C Z,C,N,V,H 1 ADIW Rdl,K 立即数与字相加Rdh:Rdl ← Rdh:Rdl + K Z,C,N,V,S 2 SUB Rd, Rr 无进位减法Rd ← Rd - Rr Z,C,N,V,H 1 SUBI Rd, K 减立即数Rd ← Rd - K Z,C,N,V,H 1 SBC Rd, Rr 带进位减法Rd ← Rd - Rr - C Z,C,N,V,H 1 SBCI Rd, K 带进位减立即数Rd ← Rd - K - C Z,C,N,V,H 1 SBIW Rdl,K 从字中减立即数Rdh:Rdl ← Rdh:Rdl - K Z,C,N,V,S 2 AND Rd, Rr 逻辑与Rd ← Rd ? Rr Z,N,V 1 ANDI Rd, K 与立即数的逻辑与操作Rd ← Rd ? K Z,N,V 1 OR Rd, Rr 逻辑或Rd ← Rd v Rr Z,N,V 1 ORI Rd, K 与立即数的逻辑或操作Rd ← Rd v K Z,N,V 1 EOR Rd, Rr 异或Rd ← Rd ⊕ Rr Z,N,V 1 COM Rd 1 的补码Rd ← 0xFF ? Rd Z,C,N,V 1 NEG Rd 2 的补码Rd ← 0x00 ? Rd Z,C,N,V,H 1 SBR Rd,K 设置寄存器的位Rd ← Rd v K Z,N,V 1

CBR Rd,K 寄存器位清零Rd ← Rd ? (0xFF - K Z,N,V 1 INC Rd 加一操作Rd ← Rd + 1 Z,N,V 1 DEC Rd 减一操作Rd ← Rd ? 1 Z,N,V 1 TST Rd 测试是否为零或负Rd ← Rd ? Rd Z,N,V 1 CLR Rd 寄存器清零Rd ← Rd ⊕ Rd Z,N,V 1 SER Rd 寄存器置位Rd ← 0xFF None 1 MUL Rd, Rr 无符号数乘法R1:R0 ← Rd x Rr Z,C 2 MULS Rd, Rr 有符号数乘法R1:R0 ← Rd x Rr Z,C 2 MULSU Rd, Rr 有符号数与无符号数乘法 R1:R0 ← Rd x Rr Z,C 2 FMUL Rd, Rr 无符号小数乘法R1:R0 ← (Rd x Rr << 1 Z,C 2 FMULS Rd, Rr 有符号小数乘法R1:R0 ← (Rd x Rr << 1 Z,C 2 FMULSU Rd, Rr 有符号小数与无符号小数乘法R1:R0 ← (Rd x Rr << 1 Z,C 2跳转指令 RJMP k 相对跳转PC ← PC + k + 1 无 2 IJMP 间接跳转到(Z PC ← Z 无 2 RCALL k 相对子程序调用PC ← PC + k + 1 无 3 ICALL 间接调用(Z PC ← Z 无 3 RET 子程序返回PC ← STACK 无 4 RETI 中断返回PC ← STACK I 4

CMD命令提示符大全

启动任 务 管 理 器 系统配置实用程序 regedit-------磁盘垃圾整理shutdown CMD 命令提示符大全gpedit.msc-----组策略explorer-------打开资源管理器logoff---------注销命令 秒倒计时关机命令 lusrmgr.msc----本机用户和组services.msc---本地服务设 置 notepad--------打开记事本 cleanmgr-------compmgmt.msc---计算机管理 charmap--------启字符映射表diskmgmt.msc---磁盘管理实用程序 calc-----------启动计算器chkdsk.exe-----Chkdsk 盘检查devmgmt.msc---设备管理器 regsvr32/u *.dll----停止dll 文件运行 dxdiag---------检查DirectX 信息 注册表编辑器Msconfig.exe---rsop.msc-------组策略结果集regedit.exe----注册表 winchat--------XP 自带局域网聊天 winmsd---------系统信息 perfmon.msc----计算机性能监测程序winver------检查Windows 版本sfc /scannow-----扫描错误并复原taskmgr— -s -t 60

fsmgmt.msc共享文件夹netstat-an----查看端口osk屏幕键盘install.asp----修改注册网页eventvwr.msc时间查看器secpol.msc本地安全设置services.msc服务accwiz.exe>辅助工具向导acsetups.exe>acs setup dcom server executable actmovie.exe>直接显示安装工具 append.exe>允许程序打开制定目录中的数据 arp.exe>显示和更改计算机的ip与硬件物理地址的对应列表at.exe>计划运行任务 atmadm.exe>调用管理器统计 attrib.exe>显示和更改文件和文件夹属性 autochk.exe>检测修复文件系统 autoconv.exe>在启动过程中自动转化系统 autofmt.exe>在启动过程中格式化进程 autolfn.exe>使用长文件名格式 bootok.exe>boot acceptance application for registry bootvrfy.exe>通报启动成功 cacls.exe>显示和编辑acl calc.exe>计算器cdplayer.exe>cd播放器 change.exe>与终端服务器相关的查询 charmap.exe>字符映射表chglogon.exe>启动或停用会话记录

汇编语言指令汇总

汇编语言程序设计资料简汇 通用寄存器 8位通用寄存器8个:AL、AH、BL、BH、CL、CH、DL、DH。 16位通用寄存器8个:AX、BX、CX、DX、SI、DI、BP、SP。 AL与AH、BL与BH、CL与CH、DL与DH分别对应于AX、BX、CX和DX的低8位与高8位。专用寄存器 指令指针:IP(16位)。 标志寄存器:没有助记符(FLAGS 16位)。 段寄存器 段寄存器:CS、DS、ES、SS。 内存分段:80x86采用分段内存管理机制,主要包括下列几种类型的段: ?代码段:用来存放程序的指令序列。 ?数据段:用来存放程序的数据。 ?堆栈段:作为堆栈使用的内存区域,用来存放过程返回地址、过程参数等。 物理地址与逻辑地址 ?物理地址:内存单元的实际地址,也就是出现在地址总线上的地址。 ?逻辑地址:或称分段地址。 ?段地址与偏移地址都是16位。 ?系统采用下列方法将逻辑地址自动转换为20位的物理地址: 物理地址= 段地址×16 + 偏移地址 ?每个内存单元具有唯一的物理地址,但可由不同的逻辑地址描述。 与数据有关的寻址方式 立即寻址方式 立即寻址方式所提供的操作数紧跟在操作码的后面,与操作码一起放在指令代码段中。立即数可以是8位数或16位数。如果是16位数,则低位字节存放在低地址中,高位字节存放在高地址中。 例:MOV AL,18 指令执行后,(AL)= 12H 寄存器寻址方式 在寄存器寻址方式中,操作数包含于CPU的内部寄存器之中。这种寻址方式大都用于寄存器之间的数据传输。 例3:MOV AX,BX 如指令执行前(AX)= 6789H,(BX)= 0000H;则指令执行后,(AX)= 0000H,(BX)保持不变。 直接寻址方式 直接寻址方式是操作数地址的16位偏移量直接包含在指令中,和指令操作码一起放在代码段,而操作数则在数据段中。操作数的地址是数据段寄存器DS中的内容左移4位后,加上指令给定的16位地址偏移量。直接寻址方式适合于处理单个数据变量。 寄存器间接寻址方式 在寄存器间接寻址方式中,操作数在存储器中。操作数的有效地址由变址寄存器SI、DI或基址寄存器BX、BP提供。 如果指令中指定的寄存器是BX、SI、DI,则用DS寄存器的内容作为段地址。 如指令中用BP寄存器,则操作数的段地址在SS中,即堆栈段。

汇编语言指令

汇编语言指令集 数据传送指令集 MOV 功能: 把源操作数送给目的操作数 语法: MOV 目的操作数,源操作数 格式: MOV r1,r2 MOV r,m MOV m,r MOV r,data XCHG 功能: 交换两个操作数的数据 语法: XCHG 格式: XCHG r1,r2 XCHG m,r XCHG r,m PUSH,POP 功能: 把操作数压入或取出堆栈 语法: PUSH 操作数POP 操作数 格式: PUSH r PUSH M PUSH data POP r POP m PUSHF,POPF,PUSHA,POPA 功能: 堆栈指令群 格式: PUSHF POPF PUSHA POPA LEA,LDS,LES 功能: 取地址至寄存器 语法: LEA r,m LDS r,m LES r,m XLAT(XLATB) 功能: 查表指令 语法: XLAT XLAT m 算数运算指令 ADD,ADC 功能: 加法指令 语法: ADD OP1,OP2 ADC OP1,OP2 格式: ADD r1,r2 ADD r,m ADD m,r ADD r,data 影响标志: C,P,A,Z,S,O SUB,SBB 功能:减法指令 语法: SUB OP1,OP2 SBB OP1,OP2

格式: SUB r1,r2 SUB r,m SUB m,r SUB r,data SUB m,data 影响标志: C,P,A,Z,S,O INC,DEC 功能: 把OP的值加一或减一 语法: INC OP DEC OP 格式: INC r/m DEC r/m 影响标志: P,A,Z,S,O NEG 功能: 将OP的符号反相(取二进制补码) 语法: NEG OP 格式: NEG r/m 影响标志: C,P,A,Z,S,O MUL,IMUL 功能: 乘法指令 语法: MUL OP IMUL OP 格式: MUL r/m IMUL r/m 影响标志: C,P,A,Z,S,O(仅IMUL会影响S标志) DIV,IDIV 功能:除法指令 语法: DIV OP IDIV OP 格式: DIV r/m IDIV r/m CBW,CWD 功能: 有符号数扩展指令 语法: CBW CWD AAA,AAS,AAM,AAD 功能: 非压BCD码运算调整指令 语法: AAA AAS AAM AAD 影响标志: A,C(AAA,AAS) S,Z,P(AAM,AAD) DAA,DAS 功能: 压缩BCD码调整指令 语法: DAA DAS 影响标志: C,P,A,Z,S 位运算指令集 AND,OR,XOR,NOT,TEST 功能: 执行BIT与BIT之间的逻辑运算 语法: AND r/m,r/m/data OR r/m,r/m/data XOR r/m,r/m/data TEST r/m,r/m/data NOT r/m 影响标志: C,O,P,Z,S(其中C与O两个标志会被设为0) NOT指令不影响任何标志位SHR,SHL,SAR,SAL 功能: 移位指令 语法: SHR r/m,data/CL SHL r/m,data/CL SAR r/m,data/CL SAL r/m,data/CL 影响标志: C,P,Z,S,O ROR,ROL,RCR,RCL

相关文档
最新文档