8086指令总结

8086指令总结
8086指令总结

8086指令系统总结

学习微处理器及其程序设计,必须掌握微处理器的指令系统。本章以8086 微处理器为例介绍微型计算机的指令系统,包括指令格式、寻址方式和各类指令功能。要明确各种寻址方式的区别和特点,掌握有效地址和物理地址的计算方法,要正确使用指令,掌握各类指令的功能、对标志位的影响和使用上的一些特殊限制。能够编写小汇编程序,初步掌握汇编程序的编写和调试方法。

本章的重点难点内容是:8086 的指令格式及寻址方式,8086 的常用指令和8086 指令前缀的使用。

下面我们分别进行总结:

一.8086寻址方式

(1)操作数是数字,指令中立即写出数字------------立即数寻址

MOV AX,1234H 解释此句意义

(2)操作数是寄存器内容,指令中写出寄存器的符号---------寄存器寻址

MOV AX,BX

(3)操作数是存储单元内容,用括号括出存储单元有效地址-----直接寻址

MOV AX,[1234H]

MOV AX,ES:[1234H]

(4)操作数是存储单元内容,用括号括出寄存器或其表达式,寄存器或其表达式的值为存储单元有效地址-------------间接寻址MOV AH,[BX]

MOV AX,ES:[SI]

MOV AL,[BX+SI+5]===5[BX+SI]===5[BX][SI]

二.8086指令系统

1.数据传送指令

(一)通用传送指令

(1)MOV指令

指令格式:MOV 目,源

功能:将源操作数传送给目标操作数。

(2)堆栈操作指令

进栈指令:PUSH

格式:PUSH 源

功能:将源操作数压入堆栈。

例:用堆栈指令完成上例的功能。

MOV AX,3000H

MOV DS,AX ;段寄存器填充

MOV SI,0100H ;基本指令执

MOV DI,2000H ;行前的初值

MOV CX,50

NT: PUSH [SI] ;程序从这

POP [DI] ;开始设计

INC SI

INC SI

INC DI

INC DI

LOOP NT

MOV AH,4CH

INT 21H

(3)交换指令XCHG

格式:XCHG 目,源

功能:源和目标中的内容交换。

(二)累加器专用传送指令

(1)输入输出指令IN,OUT

输入指令格式:#1 IN AX|AL,8位端口号

#2 IN AX|AL,DX

功能:从外设输入数据到AX|AL寄存器。

输出指令格式:

#1 OUT 8位端口号,AX|AL

#2 OUT DX,AX|AL

功能:将AX|AL中的数据输出到外设。

该类指令是硬件功能与软件作用的结合。

(2)查表转换指令XLAT

指令格式:XLAT

功能:将内存单元[BX+AL]中的内容,置入AL寄存器中。

(三)地址传送指令

地址传送指令有两类:仅传送偏移地址指令及段地址与偏移地址同时传送指令。

(1)仅传送偏移地址指令:LEA

指令格式:LEA 目,源

功能:将源操作数的偏移地址传送给目标寄存器。

如:LEA BX,[2000H]

执行后BX=2000H。

又如:LEA SI,[BX+100H]

若执行前BX=1000H,执行后SI=1100H。

(2)段地址与偏移地址同时传送指令:LDS、LES

指令格式:LDS 目,源

LES 目,源

功能:将源存储器操作数连续4个字节的内容传送给目标寄存器DS寄存器(LDS指令)或ES寄存器(LES指令)。

如:LDS BX,[2000H]

执行前[2000H]=1234H;[2002H]=5678H。

执行后BX=1234H;DS=5678H

又如:LDS SI,[BX+100H]

若执行前BX=1000H,而[1100H]=4321H;[1102]=8765H。

执行后SI=4321H;DS=8765H。

(四)标志传送指令

(1)LAHF指令

指令格式:LAHF

指令功能:将标致寄存器的低八位中以定义位,传送给AH寄存器中对应的位。

(2)SAHF指令

指令格式:SAHF

指令功能:将AH寄存器中对应的位,传送给标致寄存器的低八位中以定义位。

(3)PUSHF指令

指令格式:PUSHF

指令功能:将标致寄存器内容进栈。

(4)POPF指令

指令格式:POPF

指令功能:从栈顶弹出一个字送入标致寄存器。

2.算术运算

(一)加法指令

加法指令有三类:不带进位加法指令、带进位加法指令和增一指令。

它们均适合与无符号数和有符号数的加法。对于有符号数,其结果用补码表示。

(1)不带进位的加法指令ADD

指令格式:ADD 目,源

指令功能:源+目,其结果放到目标,并影响标志寄存器。

如:ADD AL,50H ;(AL)+50H→AL

(2)带进位的加法指令ADC

指令格式:ADC 目,源

指令功能:源+目+CF,其结果放到目标,并影响标志寄存器。

利用ADC指令可以实现两个多字节数的相加运算。如:1244AFDCH+9A12458FH。

如:ADC AL,50H ;(AL)+50H+CF→AL

(3)增一指令INC

指令格式:INC 目

指令功能:目+1,其结果放到目标,并影响标志寄存器。

(二)减法指令

减法指令包含有五类:不考虑借位减法指令、考虑借位减法指令、减一指令、求补指令和比较指令。它们均适合与无符号数和有符号数的减法。对于有符号数,其结果用补码表示。

(1)不考虑借位减法指令SUB

指令格式:SUB 目,源

指令功能:目-源,其结果放到目标,并影响标志寄存器。

(2)考虑借位减法指令SBB

指令格式:SBB 目,源

指令功能:目-源-CF,其结果放到目标,并影响标志寄存器。

利用SBB指令可以实现两个多字节数的相减运算。如:1244AFDCH-9A12458FH。

(3)减一指令DEC

指令格式:DEC 目

指令功能:目-1,其结果放到目标,并影响标志寄存器。

(4)求补指令NEG

指令格式:NEG 目

指令功能:0-目,其结果放到目标,并影响标志寄存器。

(5)比较指令CMP

指令格式:CMP 目,源

指令功能:目-源,其结果不放到目标,但设置标志寄存器。

用法:

#1 对于两个无符号数的比较,根据CF标志判断两数的大小。

#2 对于两个有符号数比较大小,根据SF和OF标志位来判断两数的大小:

OF和SF相同(=0或=1)则目>源;如果OF和SF相异,则源>目。

(三)乘法指令

乘法指令有两类:无符号数乘法指令和有符号数乘法指令。

(1)无符号乘法指令MUL

指令格式:MUL 源

指令功能:(AL|AX)*源,其结果放到AX|DX:AX

(2)有符号乘法指令IMUL

指令格式:IMUL 源

指令功能:(AL|AX)*源,其结果放到AX|DX:AX

(四)除法指令

8086CPU的除法指令有两类:无符号数除法指令和有符号数除法指令。

它们均是不等长除法指令。即:被除数长度必须是除数长度的两倍。所以,在进行除法运算前应根据除数长度将被除数变成它的两倍长度。

(1)无符号数除法指令DIV

指令格式:DIV 源

指令功能:AX|DX:AX/源,其结果:商放在AL|AX,余数放在AH|DX之中。

(2)有符号数除法指令IDIV

指令格式:IDIV 源

指令功能:AX|DX:AX/源,其结果:商放在AL|AX,余数放在AH|DX之中。

(3)将字节扩展成字的指令CBW

指令格式:CBW

指令功能:将AL中有符号数的符号位扩展到AH之中。不影响标志位。

用法:一般在两字节有符号数除法前,利用该指令,将符号位进行扩展,以使两数变成不等长数。

(4)将字扩展成双字的指令CWD

指令格式:CWD

指令功能:将AH中有符号数的符号位扩展到DX之中。不影响标志位。

用法:一般在执行两字长有符号数除法前,利用该指令,将符号位进行扩展,以使两数变成不等长数。

(五)BCD码运算指令

BCD码有两类:组合(压缩)型BCD码和未组合(非压缩)型BCD码。BCD码的运算相应也有两种情况。

(1)未组合BCD码加法十进制调整指令AAA

指令格式:AAA

指令功能:对AL中的数进行校正:在AX中产生未组合十进制数和。

如: MOV AL,7

ADD AL,5

AAA

执行前两条后,AL=0CH,经AAA调整后,AX=0102H,CF=OF=1。

(2)组合BCD码加法十进制调整指令DAA

指令格式:DAA

指令功能:对AL中的数进行校正:在AL中产生组合十进制数和。

如: MOV AL,56H(BCD)

ADD AL,47H(BCD)

DAA

执行前两条后,AL=9DH,经DAA调整后,AL=03H,CF=1。

例:多字节组合BCD码十进制相加

设两数长度均为8个字节,分别存放在1000H和2000H开始的8个单元中,要求将两数相加后,结果放在2000H开始的内存区域。

MOV SI,1000H

MOV DI,2000H

MOV CX,8

CLC

L1:MOV AL,[SI]

ADC AL,[DI]

DAA

MOV [DI], AL

INC SI

INC DI

LOOP L1

MOV AH,4CH

INT 21H

(3)未组合BCD码减法十进制调整指令AAS

指令格式:AAS

指令功能:对AL中的数进行校正:在AX中产生未组合十进制数差。如: MOV AL,"7" ;"7"为7的ASCII码

SUB AL,5

AAS

执行前两条后,AL=32H,经AAS调整后,AL=02H。

(4)组合BCD码加减十进制调整指令DAS

指令格式:DAS

指令功能:对AL中的数进行校正:在AL中产生组合十进制数差。如: MOV AL,56H(BCD)

SUB AL,47H(BCD)

DAS

执行前两条后,AL=0FH,经DAS调整后,AL=09H,CF=1。

(5)未组合BCD码的乘法十进制调整指令AAM

指令格式:AAM

指令功能:对AL中的数进行校正:在AX中产生未组合十进制数积。

如: MOV AL,05H(BCD)

MOV BL,06H(BCD)

MUL BL

AAM

执行前三条后,AX=001EH,经AAM调整后,AX=0300H (BCD)。(6)未组合BCD码的除法十进制调整指令AAD

指令格式:AAD

指令功能:对AX中的数进行校正:在AX中产生未组合十进制数。如: MOV AX,0300H(BCD)

AAD

MOV BL,06H(BCD)

DIV BL

执行前两条后,AX=001EH,执行DIV指令后,AX=0005H (BCD)。

3.逻辑运算

逻辑指令有三类:逻辑运算指令:NOT、AND、OR、XOR及TEST

移位指令:SHL、SAL、SHR和SHR

循环移位指令:ROL、ROR、RCL和RCR

1. 逻辑运算指令

(1)求反指令NOT

指令格式: NOT 目

指令功能:将目标内容求反。

(2)逻辑与指令AND

指令格式: AND 目,源

指令功能:将目标内容同源内容按位进行逻辑与运算。结果放在目标。

如:AND AX,00FFH

其结果AH=0(被屛蔽);AL内容不变。

(3)逻辑或指令OR

指令格式: OR 目,源

指令功能:将目标内容同源内容按位进行逻辑或运算。结果放在目标。

如:OR AX,00FFH

其结果AH内容不变;AL=0FFH(所有位为1)。

(4)逻辑异或指令XOR

指令格式: XOR 目,源

指令功能:将目标内容同源内容按位进行逻辑异或运算。结果放在目标。

如: OR AX,AX

其结果AX被清0。

(5)测试指令TEST

指令格式: TEST 目,源

指令功能:将目标内容同源内容按位进行逻辑与运算。结果不放回目标,只影响标志位。

如:TEST AL,80H

执行后,如果ZF=0,则AL的最高位为1,反之,最高位为0。

(二)移位指令

(1)算术左移指令和逻辑左移指令SAL和AHL

指令格式:#1 SAL 目,1

#2 SAL 目,CL

指令功能:将目标操作数各数位依次左移一次,最高位进入CF,且最低位补0。若CL内容大于1时,重复前面的操作。除AF标志位不确定外,影响其它标志位。

(2)算术右移指令SAR

指令格式:#1 SAR 目,1

#2 SAR 目,CL

指令功能:将目标操作数各数位依次右移一次。最低位进入CF,且最高位不变。若CL内容大于1时,重复前面的操作。除AF标志位不确定,外影响其它标志位。

(3)逻辑右移指令SHR

指令格式:#1 SHR 目,1

#2 SHR 目,CL

指令功能:将目标操作数各数位依次右移一次。最低位进入CF,最高位补0。若CL内容大于1时,重复前面的操作。除AF标志位不确定,外影响其它标志位。

(1)循环左移指令

指令格式:#1 ROL 目,1

#2 ROL 目,CL

指令功能:将目标操作数各数位依次左移一位。最高位进入CF,同时进入最低位。若CL内容大于1,则重复前面的操作。除AF标志位不确定,外影响其它标志位:

(2)循环右移指令

指令格式:#1 ROR 目,1

#2 ROR 目,CL

指令功能:将目标操作数各数位依次右移一位。最高低进入CF,同时进入最高位。若CL内容大于1,则重复前面的操作。除AF 标志位不确定,外影响其它标志位:

(3)带进位循环左移指令

指令格式:#1 RCL 目,1

#2 RCL 目,CL

指令功能:将目标操作数各数位依次左移一位。最高位进入CF,CF进入最低位。若CL内容大于1,则重复前面的操作。除AF标志位不确定,外影响其它标志位:

(4)带进位循环右移指令

指令格式:#1 RCR 目,1

#2 RCR 目,CL

指令功能:将目标操作数各数位依次右移一位。最低进入CF,CF进入最高位。若CL内容大于1,则重复前面的操作。除AF标志位不确定,外影响其它标志位:

4.串操作指令

(一)串传送指令

串操作指令可以实现对一串数据的操作。串操作指令有五类:串传送、串比较、串搜索、取串和存串等。

串操作指令的共同点:

(1)串传送MOVS

指令格式:

#1 MOVSB ;字节串传送指令

#2 MOVSW ;字串传送指令

#3 MOVS 目标串符号首址,源串符号首址

功能:将源串中一个字节(字)传送到目标串。不影响标志位。

例:将100字节的数据从3000H:100H,搬到3000H:200H

MOV AX,3000H

MOV DS,AX

MOV ES,AX

MOV SI,0100H

MOV DI,0200H

MOV CX,50

REP MOVSW

MOV AH,4CH

INT 21H

(二)串比较指令

(2)串比较指令CMPS

指令格式:

#1 CMPSB ;字节串比较指令

#2 CMPSW ;字串比较指令

#3 CMPS 目标串符号首址,源串符号首址

功能:将源串中一个字节(字)与目标串比较。影响标志位。

(三)取串指令

(3)取串指令LODS

指令格式:

#1 LODSB ;从串中取字节指令

#2 LODSW ;从串中取字指令

#3 LODS 源串符号首址

功能:将源串中一个字节(字)传送到AL(AX)中。不影响标志位。

(四)存串指令

(4)存串指令STOS

指令格式:

#1 STOSB ;存字节于目标串指令

#2 STOSW ;存字于目标串指令

#3 STOS 目标串符号首址

功能:将AL(AX)中的一个字节(字)存到目标串中。不影响标志位。

(五)目标串搜索指令

(5)目标串搜索指令SCAS

指令格式:

#1 SCASB ;从目标串中搜索字节指令

#2 SCASW ;从目标串中搜索字指令

#3 SCAS 目标串符号首址

功能:将AL(AX)中的一个字节(字)与目标串中某字节(字)比较,不影响标目标串,只影响标志位。

5.控制转移指令

(一)无条件转移指令及指令寻址

在8086CPU的转移指令中,其目标操作数将给出下一条指令到哪儿去找。即给出指令的寻址方式。

8086CPU指令的寻址方式可分成两大类:段内转移寻址方式及段间转移寻址方式。

段内和段间均又可分成两种:直接转移和间接转移。下面将通过无条件转移指令作详细分析。

无条件转移指令

指令格式:JMP 目

指令功能:程序将转到由目标操作数指明的地址去执行。

(二)条件转移指令

条件转移指令一般是根据标志寄存器中某个标志或几个标志的逻辑关系来决定是否转移。根据依据的条件,可分成三类条件转移指令:单标志条件转移指令;用于判断无符号数大小的条件转移指令;用于判断符号数大小的条件转移指令。

(1)单标志条件转移指令

除半进位标志AF之外的所有状态标志都有相应的条件转移指令。

JZ|JE

JNZ|JNE

JC

JNC

JS

JNS

JO

JNO

JP

JNP

(2)判断无符号数大小的条件转移指令

JA ;高于转移

JNA ;不高于转移

JB ;低于转移

JNB

(3)判断符号数大小的条件转移指令

JG ;大于转移

JNG

JL ;小于转移

JNL

(三)子程序指令

(1)子程序调用指令CALL

指令格式:CALL 目

功能:执行该指令时,CPU先将该指令下面一条指令的存放地址压入堆栈(该地址叫返回地址),然后,计算出目标地址的偏移地址并装入IP,如果是远调用还要将目标地址的段地址装入CS。其结果,程序将转到目标子程序去执行。

(2)返回指令RET

指令格式:RET|RET N

功能:从堆栈顶弹出两个(近过程调用)或四个(远过程调用)字,装入IP和CS(远过程调用)。其结果是返回到主程序取执行。如果是RET N,则还要使栈顶指针往上移N个字节。一般N取偶数值。

(四)循环控制指令

循环控制指令用来设计循环程序。此类指令有三条:

(1)LOOP 指令

指令格式:LOOP 短标号

功能:该指令执行时,先将CX内容减1,然后判断CX中内容是否为0,若不为0,则返回到标号处去执行。若为0,则执行该指令下面一条指令。

(2)LOOPZ|LOOPE

指令格式:LOOPZ|LOOPE 短标号

功能:该指令执行时,先将CX内容减1,然后判断CX中内容是否为0且ZF是否为1,若不同时满足,则返回到标号处去执行,否则执行该指令下面一条指令。

(3)LOOPNZ|LOOPNE

指令格式:LOOPNZ|LOOPNE 短标号

功能:该指令执行时,先将CX内容减1,然后判断CX中内容是否为0且ZF是否为0,若不同时满足,则返回到标号处去执行,否则执行该指令下面一条指令。

(4)JCXZ

指令格式:JCXZ 短标号

功能:该指令执行时,只判断CX中内容是否为0,若满足,则返回到标号处去执行,否则执行该指令下面一条指令。

(五)中断指令

8086提供了软中断手段,这就是中断指令INT 及中断返回指令IRET。

中断指令格式:INT N

6. 处理器控制指令

处理器控制指令只介绍部分指令及指令功能。(1)标志操作指令

CLC 清CF

STC 置CF

CLD 清DF

STD 置DF

CLI 清IF

CMC CF取反

(2)CPU暂停指令性HLT

(3)空操作指令NOP

8086汇编语言程序设计

实验1 简单汇编语言程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握简单汇编语言程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG 工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG 工具调试程序,验证程序的正确性。 1. 若X、Y、R、W 是存放8 位带符号数字节单元的地址,Z 是16 位字单元的 地址。试编写汇编程序,完成Z←((W-X) ÷5-Y)?(R+ 2) 。 2.试编写一个程序,测试某数是否是奇数。如该数是奇数,则把DL 的第0 位置1,否则将该位置0。 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

实验2 分支及循环程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握分支程序和循环程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。 1.编写汇编程序,统计某存储区若干个数据中英文字母的个数,并将结果在屏幕上显示。 2.从键盘任意输入一组字符数据,请编写汇编程序将该组数据加密后在屏幕上显示。参考加密方法是:每个数乘以2。(说明:本题的加密方法,同学们可以自己拟定) 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

实验3 子程序程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握子程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。 1.编程以十进制形式和十六进制形式显示AX的内容,并把两个显示功能分别封装成子程序dispDEC和dispHEX。 2.设在以EXAMSCORE为首地址的数据缓冲区依次存放某班10名同学5门功课的成绩,现要统计各位同学的总分,并将总分放在该学生单科成绩后的单元,并调用第1个程序封装好的子程序,以十进制方式显示统计情况,显示格式自行设计。请编程完成此功能。数据缓冲区参考数据定义如下: EXAMSCORE DB 01 ;学号 DB 89,76,54,77,99 ;单科成绩 DW ? ;该学生的总分 DB 02 ;学号 DB 79,88,64,97,92 ;单科成绩 DW ? ;该学生的总分 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

微机原理与接口技术知识点复习总结汇编

第一章计算机基础知识 本章的主要内容为不同进位计数制计数方法、不同进位制数之间相互转换的方法、数和字符在计算机中的表示方法、简单的算术运算以及计算机系统的组成。下边将本章的知识点作了归类,图1为本章的知识要点图,图1.2为计算机系统组成的示意图。 本章知识要点 数制 二进制数(B) 八进制数(Q) 十六进制数(H) 十进制数(D) B) 码制 带符号数编码 奇偶校验码 字符编码 原码 反码 补码 ASCII码 BCD码 压缩BCD码 非压缩BCD码计算机系统组成 计算机系统组成硬件 主机 外部设备 中央处理器(CPU) 半导体存储器 控制器 运算器 ROM RAM 输入设备 输出设备 软件 系统软件 应用软件 操作系统:如DOS、Windows、Unix、Linux等 其他系统软件 用户应用软件 其他应用软件 各种计算机语言处理软件:如汇编、解释、编译等软件

第二章8086微处理器 本章要从应用角度上理解8086CPU的内部组成、编程结构、引脚信号功能、最小工作模式的系统配置、8086的存储器组织、基本时序等概念。下面这一章知识的结构图。 本章知识要点 Intel 8086微处理器 时钟发生器(8284) 地址锁存器(74LS373、8282) 存储器组织 存储器逻辑分段 存储器分体 三总线(DB、AB、CB) 时序 时钟周期(T状态) 基本读总线周期 系统配置 (最小模式) 8086CPU 数据收发器(8286、74LS245) 逻辑地址物理地址 奇地址存储体(BHE) 偶地址存储体(A0) 总线周期指令周期 基本写总线周期 中断响应时序 内部组成 执行单元EU(AX、BX、CX、DX、SP、BP、SI、DI、标志寄存器) 总线接口单元BIU(CS、DS、SS、ES、IP) 地址/数据 控制 负责地址BHE/S7、ALE 引脚功能(最小模式)地址/状态 数据允许和收发DEN、DT/R 负责读写RD、WR、M/IO 负责中断INTR、NMI、INTA 负责总线HOLD、HLDA 协调CLK、READY、TEST 模式选择MN/MX=5V

红米指令大全,绝对有用

红米指令大全,绝对有用 1.*#*#7780#*#* 重设为原厂设定,不会删除预设程序,及SD卡档案。 2.*2767*3855# 重设为原厂设定,会删除SD卡所有档案。 3.*#*#34971539#*#* 显示相机相机韧体版本,或更新相机韧体 4.*#*#7594#*#*当长按关机按钮时,会出现一个切换手机模式的窗口,包括:静音模式、飞航模式及关机,你可以用以上代码,直接变成关机按钮。 5.*#*#4636#*#*显示手机信息、电池信息、电池记录、使用统计数据、WiFi信息 6.*#*#273283*255*663282*#*#*开启一个能让你备份媒体文件的地方,例如相片、声音及影片等! 7.*#*#197328640#*#*启动服务模式,可以测试手机部分设置及更改设定WLAN、GPS及蓝牙测试的代码 8.*#*#232339#*#*或*#*#526#*#*或*#*#528#*#*–WLAN测试 9.*#*#232338#*#*–显示WiFiMAC地址 10.*#*#1472365#*#*–GPS测试 11.*#*#1575#*#*–其它GPS测试, 12.*#*#232331#*#*–蓝牙测试 13.*#*#232337#*#–显示蓝牙装置地址 14.*#*#8255#*#*启动GTalk服务监视器显示手机软件版本的代码 15.*#*#4986*2650468#*#*–PDA、Phone、H/W、RFCallDate 16.*#*#1234#*#*–PDA及Phone 17.*#*#1111#*#*–FTASW版本, 18.*#*#2222#*#*–FTAHW版本 19.*#*#44336#*#*–PDA、Phone、csc、buildTime、https://www.360docs.net/doc/4c8421931.html,、changelistnumber各项硬件测试 20.*#*#0283#*#*–PacketLoopback+ 21.*#*#0*#*#*–LCD测试 22.*#*#0673#*#*或*#*#0289#*#*–Melody测试 23.*#*#0842#*#*–装置测试,例如振动、亮度 24.*#*#2663#*#*–触控屏幕版本" 25.*#*#2664#*#*–触控屏幕测试 26.*#*#0588#*#*–接近感应器测试 27.*#*#3264#*#*–内存版本

8086汇编指令手册

8086汇编指令手册 一、数据传输指令 它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据. 1. 通用数据传送指令. MOV 传送字或字节. MOVSX 先符号扩展,再传送. MOVZX 先零扩展,再传送. PUSH 把字压入堆栈. POP 把字弹出堆栈. PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈. POPA 把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈. PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈. POPAD 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈. BSWAP 交换32位寄存器里字节的顺序 XCHG 交换字或字节.( 至少有一个操作数为寄存器,段寄存器不可作为操作数) CMPXCHG 比较并交换操作数.( 第二个操作数必须为累加器AL/AX/EAX ) XADD 先交换再累加.( 结果在第一个操作数里) XLAT 字节查表转换. —— BX 指向一张256 字节的表的起点, AL 为表的索引值(0-255,即 0-FFH); 返回AL 为查表结果. ( [BX+AL]->AL ) 2. 输入输出端口传送指令. IN I/O端口输入. ( 语法: IN 累加器, {端口号│DX} ) OUT I/O端口输出. ( 语法: OUT {端口号│DX},累加器) 输入输出端口由立即方式指定时, 其范围是0-255; 由寄存器DX 指定时, 其范围是0-65535. 3. 目的地址传送指令. LEA 装入有效地址. 例: LEA DX,string ;把偏移地址存到DX. LDS 传送目标指针,把指针内容装入DS. 例: LDS SI,string ;把段地址:偏移地址存到DS:SI. LES 传送目标指针,把指针内容装入ES. 例: LES DI,string ;把段地址:偏移地址存到ES:DI. LFS 传送目标指针,把指针内容装入FS. 例: LFS DI,string ;把段地址:偏移地址存到FS:DI. LGS 传送目标指针,把指针内容装入GS. 例: LGS DI,string ;把段地址:偏移地址存到GS:DI. LSS 传送目标指针,把指针内容装入SS. 例: LSS DI,string ;把段地址:偏移地址存到SS:DI. 4. 标志传送指令. LAHF 标志寄存器传送,把标志装入AH. SAHF 标志寄存器传送,把AH内容装入标志寄存器.

8086指令系统精析解析

8086指令系统精析 3.1基本数据类型 1.IA-32结构的基本数据类型是字节(8位)、字(16位)、双字(32位)、四字 (64位,486中引入的)和双四字(128位,Pentium3中引入的)。 2.低字节占用内存中的最低地址,该地址也是此操作数的地址。图:P44 图3-1 3.字、双字、四字的自然边界是偶数编号的地址,字的自然边界是偶数编号的 地址,双字和四字的自然边界地址要分别能被4和8除尽。 4.数据结构要尽可能在自然边界上对齐 5.对于不对齐的存储访问,处理器要求做两次存储访问操作;而对于对齐的访 问,只要进行一次存储访问操作。 6.数字数据类型(学生自学)PPT 3.28086的指令格式 一、指令格式 Label(标号):mnemonic(助记符)argument1(参数1),argument2(参数2),argument3(参数3)其中: 1.标号是一个标识符,后面跟有冒号 2.助记符是一类具有相同功能的指令操作码的保留名 3.操作数的三个参数是任选的,可以有零到三个操作数,操作数参数的数量取 决于操作码 4.操作数参数可能是文字或数据项的标识符,也可能是寄存器的保留名或在程 序的另一部分声明的赋予数据项的标识符。 5.在算术和逻辑指令中存在两个操作数时,右边的操作数是源,左边的操作数 是目的。例如:LOADREG: MOV AX, SUBTOTAL 功能是把由SUBTOTAL表示的源操作数传送至AX寄存器。 3.38086/8088指令的操作数寻址方式

寻找操作数,操作数能定位在指令中、寄存器中、存储单元中以及I/O端口中。 1.立即数 用包含在指令中的操作数作为源操作数,这些操作数即为立即操作数。 立即数可以是8位或16 例1 MOV AX , 2056H 结果( AH ) = 20H ( AL ) = 56H 例2 MOV AL , 78 H 结果( AL ) = 78H 2.寄存器操作数 操作数在寄存器中,指令中指定寄存器名 8 位操作数,用8 位寄存器: AH、AL、BH、BL、CH、CL、DH、DL 16 位操作数,用16 位寄存器: AX、BX、CX、DX、SP、BP、SI、DI CS、DS、SS、ES 例1 MOV AX , 2056H 执行后:(AX)=2056H 例2 MOV BL , AH 执行前:(BL) = 12H, (AH) = 78H 执行后:(BL) = 78H (AH) = 78H ▲立即数寻址、寄存器寻址的操作数,不用在取完指令后再到内存中取数。 ▲以下的 5 中寻址方式,操作数存放在内存中,取完指令后,还需到内存取数。指令中给出的是该操作数的地址,包括段地址和偏移地址。 3. 内存操作数 ▲指令MOV DS: [ DI ] , CL 完成将CL寄存器中的内容传送到以DS为段值,DI为偏移值的内存单元中。例编程将CL寄存器的内容传送到21000H单元中。PPT 地址21000H=2000:1000H ,编程时,DS 存放段地址2000H,DI 存放偏移地址1000H MOV AX, 2000H MOV DS, AX ; (DS) = 2000H

红米进工程模式

最后无意间在MIUI论坛看到了一串神奇的数字*#*#13411#*#* ,哈哈,进入工程模式了,调节成功,重启仍然有效, 内牛满面啊,红米终于接近完美了.......... 虽然类似的帖子不少,我还是贴出来给红米粉共享吧,因为到目前为止,仍然大把的人问这个问题,而且我没有找到完整解说这个问题的帖子。 首先在拨号界面输入神奇数字*#*#13411#*#* 然后进入到工程模式了,EngineerMode 然后向左滑动界面到Hardware Testing界面 然后选择Audio 可以看到Headset Mode就是耳机模式,点击进入,在Type里选择Media 可以看到在level 0里的数值非常大,具体值忘了,可能是112,我估计红米的测试工程师是在嘈杂的厂房里调节声音参数的, 要不然搞这么大干嘛,无聊啊 然后再level 0 --6 输入适当的参数,这个根据个人情况,我是每个level增长30,level 6可输入范围值的最大(160或255)或稍微少一些,以免破音。输入完数字值后,别忘按set呀!! 调节成功后,放了一段电影,哇!!效果超好啊,终于可以被窝里看在线视频了! 然后又进入收音机,K! 还这么大,赶紧输入神奇数字,

来到上面第4张图的位置,选择FMR,然后照方抓药,level0-6调节一遍,退出, 收音机终于好了。 怕没root,存不住,重启手机,调节依然有效啊,再 进入到“Audio”里面我们可以看到里面三个选项,分别是Normal Mode(正常模式),Headset Mode(耳机模式),Loudspeaker Mode(扬声器/外放声音模式),进入LoudSpeaker Mode(这个是外放的声音即铃声的选项)。 将Value Is 0-255位置,右边的数值填写大,即255,然后按一下“Set”确定(提示,如有破音请减少数值)。Max Vol. 0-160位置右边的数值填写最大,

花指令(精)

花指令的概念与认识花指令 1、什么是花指令什么是花指令?实际上,把它按照“乱指令”来理解可能更贴切一些,我们知道,汇编语言其实就是机器指令的符号化,从某种程度上看,它只是更容易理解一点的机器指令而已。每一条汇编语句,在汇编时,都会根据cpu特定的指令符号表将汇编指令翻译成二进制代码。而日常应用中,我们通过VC的IDE或其它如OD等反汇编、反编译软件也可以将一个二进制程序反汇编成汇编代码。机器的一般格式为:指令+数据。而反汇编的大致过程是:首先会确定指令开始的首地址,然后根据这个指令字判断是哪个汇编语句,然后再将后面的数据反汇编出来。由此,我们可以看到,在这一步的反汇编过程中存在漏洞:如果有人故意将错误的机器指令放在了错误的位置,那反汇编时,就有可能连同后面的数据一起错误地反汇编出来,这样,我们看到的就可能是一个错误的反汇编代码。这就是“花指令”,简而言之,花指令是利用了反汇编时单纯根据机器指令字来决定反汇编结果的漏洞。 2、花指令与免杀的关系加花就是,在程序汇编中,加了一些无用的废话,用来扰乱杀软对特征码的扫描对比,来达到免杀的目的。是一种逃避方式,主要用于表面免杀。加花指令的确没有改变特征码的位置,但是他改变了程序执行顺序,有的也能改变文件结构。使杀毒软件扫描的时候跳到花指令处,即判断没有病毒。通常情况下,在文件免杀的时候,加花指令是最简单、有效的方法,而且一般能通杀很多杀毒软件,所以一般文件免杀通用此法,前提是你的花指令不是常用的,最好能自己做出你个人的花指令,才会很有效。 3.花指令执行顺序花指令一般添加到程序的头部。执行顺序:花指令入口-->执行花指令-->程序原入口-->执行原程序花指令的好坏直接决定程序是否可以躲避杀毒软件的查杀,花指令和壳的本质差不多,都是为了保护程序而做,所以我们做免杀的时候,可以多结合壳和花指令各自的优点对程序进行处理,达到更好的免杀效果。大概步骤总结: 第一步:从编写手册中成对的提取几对第二步:打乱它们之间的顺序,也可不打乱第三步:中间插入几个nop或jmp,也可不插入第四步:最后添加跳转到入口地址指令第五步:把编写好的花指令添加到程序中后,测试是否可以正常运行,然后再用杀毒软件查杀 3、花指令的样本 PUSH EBP MOV EBP,ESP DEC EBP INC EBP ADD ECX,1 SUB ECX,-1 MOV EAX,DWORD

8086汇编指令大全.

标志寄存器:9个有效位,分 6个状态寄存器和 3个控制寄存器 CF 当执行一个加法(减法使最高位产生进位(借位时 CF=1 否则 CF=0 PF 指令执行的结果低 8位有偶数个一时, CF=1 否则 CF=0 AF 当执行一个加法(减法使运算结果低 4位向高 4位有进位(借位时 AF=1 否则 AF+0 ZF 当前运算结果为零, ZF=1 否则 ZF=0 SF 符号标志位 OF 溢出标志位 DF 方向标志位 IF 中断允许位 IF=1时响应外部中断

TF 跟踪标志位 操作数:[目的操作数(OPD ,源操作数(OPS ] ;立即操作数,寄存器操作数,存储器操作数。寻址方式: 1 寄存器寻址例:INC AX ; MOV AX , BX 2 寄存器间接寻址 (寄存器只能是 BX , DI , SI , BP ; [PA=(BX 、 DI 、 SI +DS》 4 或 BP+SS》4] 3 寄存器相对寻址 4 基址变址寻址 5 相对基址变址寻址 6 直接寻址 7 立即数寻址 i. 立即数寻址立即数寻址不能用在单操作数指令中 ii. 在双操作数中,立即数寻址方式不能用于目的操作数字段 指令系统: 1 数据传送指令 mov 注意: 不允许在两个存储单元之间直接传送数据

不允许在两个段寄存器之间传送数据 不允许用立即数直接为段寄存器赋值 不影响标志位 不允许寄存器或存储单元到除 CS 外的段寄存器 2 入栈(出栈指令 PUSH (POP 注意: PUSH 操作数不能是“立即数” POP 操作数不能是段寄存器 CS 不影响标志位 先进后出 单操作符 3 交换指令 XCHG 注意:

手机密码万能解锁大全

发信人: yuzhongtao (VCD), 信区: Digital 标题: 真正的手机密码万能解锁大全 发信站: 吉林大学牡丹园站(Sun May 14 22:06:18 2006) [楼主]: 手机一旦设的密码忘记了怎么办?很多人到手机修理的地方或者厂方去解锁,往往收取不菲的费用,其实很多手机只要自己输入解锁码就可以了。以下收集整理的满全了应该。 一、各种品牌手机中英文对照 Acer::宏基AIWA:爱华alcatel(ALC):阿尔卡特 AMOI:夏新APBW:亚太APPLE:苹果 Arcoa:全虹ASUS:华硕AUX:奥克斯 BenQ:明基Benten:巨腾BIRD(BRD):波导 BOSCH:博士(博世)BOSS:宝石 Capitel:首信CASIO:卡西欧CECT(CEC):中电通讯 CHABRIDGE:中桥CHASE:采星COSUN:侨兴 DAEWOO:大宇DATANG:大唐DAXIAN:大显 DBTEL:迪比特DENSO:电送DNET:迪奈特 DOEASY:多易随DOCOMO :多科莫dopod:多普达 DRAGON:东方龙EASTCOM(ETCM):东信EMOL:易美 Ericsson:爱立信fuli:富利 GALAXY:银河Gionee:金立Giya:基雅 GPLUS:积加Great:伟松GSL:权智(快译通) Gstar::吉事达GVC:致福Hagenuk:汉佳诺 Haier(HAR):海尔Hisense:海信Hitachi:日立 Hutel:秀特尔HYUNDAI:现代Innostream:盈讯 JPG:金鹏JRC:日本无线 KEJIAN(KJN):科健Kenwood:建伍KGT:和信 Konka(KON):康佳KPT:先进电讯KYOCERA(KYEA):京瓷 LENOVO:联想LUCENT:朗讯Lucky Star:吉星 Malata:万利达Maxon:美晨MiTAC:神达 MITSUBISHI(Trium):三菱Motorola:摩托罗拉 NEC:日本电气NETT:雷特nintaus:金正 Nixxo:尼索NOKIA(NKI):诺基亚NOPO:星辰 OKWAP:英资达OMRON:欧姆龙 PALMAX:帕玛斯(仁宝) Panasonnic:松下Panda:熊猫 PENESAS:天马Philips:飞利浦Photal:丰达 PUTAN:普天Qualcomm:高通ROWA:乐华 Sagem萨基姆Sanyo:三洋SAMSUNG:三星 SED:桑达Sendo:仙都SEWON:星王 SHARP:夏普Siemens:西门子SkyNet:斯加耐特 Soutec:南方高科SONY:索尼SOBAO:搜豹

子程序花指令加算法

子程序花指令加算法

————————————————————————————————作者:————————————————————————————————日期:

子程序花指令加密算法 根据反汇编器原理,分析现有的花指令加密算法存在的问题,我们提出了一种新的花指令加密算法——子程序花指令加密算法。 一、花指令加密基本原理及现状 1、花指令加密工作原理 软件破解者要想有效的破解软件,需要对程序代码进行静态分析和跟踪。花指令加密可以有效地对抗静态分析,经过花指令变换后的程序代码具有一定的反跟踪能力,能够在很大程度上增加软件破解者对程序进行分析和跟踪的难度,从而有效地保护软件的知识产权。 花指令分为可执行花指令和不可执行花指令。可执行花指令指的是能够正常运行但又不改变原始程序逻辑性的一组无用指令。这类花指令常常用在病毒代码的变形引擎中,但反汇编器能够正常反汇编这些花指令。不可执行花指令又称垃圾字节,是指被插入到原始代码中但又不改变原始程序逻辑性的一组无用字节。被插入的字节不能被执行,否则会使程序的逻辑性遭到破坏,影响程序运行的结果。根据反汇编的工作原理,当插入的最后一个或多个花指令与其后正常的指令被反汇编器识别成一条有效地指令时,就能有效地破坏反汇编器的反汇编结果。花指令加密技术就充分利用了这一特点,通过在程序代码中插入一些随机的不完整指令来破坏反汇编器的结果,达到保护软件的目的。 2、花指令加密研究现状 目前花指令加密中采用较多的一种形式是无条件跳转指令JMP加花指令脚,这种方法具有简单、易实现的优点,但存在特征码,容易被工具自动去除。另一种形式是直接在程序代码

常用8086汇编指令(彩色版)

8086/8088指令系统 一、数据传送指令 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

小米手机电池校正的方法

【小米手机电池校正的方法】 说下关于手机校正的方法,一般来说,电池校正还是用土办法比较好,别借助第三方软件,很多都是骗人的,压根没用。 非root手机: 1.保持手机开机状态,连接充电器充电(USB和线缆充电均可) 2.电池充满后,把手机从充电器拔下 3.关闭手机,再连接充电器充电,让手机再次充到LED灯变成绿色 4.拔下手机充电器 5.手机开机,等到手机开机并完全进入系统后,迅速关机 6.再次连接充电器到已经关闭的手机,等待几分钟后LED灯会再次变成绿色 7.把手机从充电器拔下,开机正常使用 已经取得root权限的手机: 1.保持手机开机状态,连接充电器充电 2.电池充满后,把手机从充电器拔下 3.关闭手机,再连接充电器充电,让手机再次充到LED灯变成绿色 4.拔下手机充电器 5.手机开机,等到手机开机并完全进入系统后,迅速关机 6.再次连接充电器到已经关闭的手机,等待几分钟后LED灯会再次变成绿色 7.启动手机进入recovery模式(同时按住手机返回键和电源键启动),然后选择wipebatterystats即可 或者用: 1.开机,连接上充电器,直到指示灯变绿 2.拔掉充电器,关机,接上充电器,直到指示灯变绿 3.拔掉充电器,开机,进入系统后,关机,接上充电器,直到指示灯变绿 4.拔掉充电器,开机到recovery里面的advanced菜单里面wipebatterystatus后重启即可 按照上面的步骤进行后电池校准就完成了,只比平时充电多用了5分钟的时间,但是校准后的电池和以前明显不同。 在电池校准前你会发现的电池在充满电的情况下稍微使用就会降到93%左右,而校准后可以保持数小时100%的状态才开始降低到99%,总之校准后的电池绝对会让你惊喜。 另外root过的的手机通过recovery程序wipebatterystats后效果更好,但也不是必须。 注意电池校准只需要进行一次即可,多次尝试也不会让你的电池活性再增强。 如果你的电池在进行上述操作后仍然没有提升,那就要怀疑你的电池是否原装还是仿造的了。

杂牌机解锁指令大全

TCL D808解锁的方法:按*83786633#进入工程模式,测试完毕后,提示"是否恢复出厂设置"你按"ok"既解开了.恢复原始密码"1234" 名佳系列的读出后1M的资料用16进制编辑软件查找出密码,后IMEI的前8为+*#*#5625# NOKIA S60 米字键+3+通话键+开机键直到出现一组英文不可以的话再写不过这只可以解决软件上的问题 *#7370#:恢复出厂设置(软格机),这个命令一般是在手机处于错误或系统垃圾过多的情况下使用格机命令; *#7780#:恢复出厂设置,等同于功能表设置——手机设置——常规——原厂设定,注意此命令仅是恢复设置,不同于格机,恢复后名片夹、图片、文档等全部依然存在,只是设置还原了,有些朋友因设置错误而不知如何改回来就可以使用这个命令了; CDMA BORD s788 #*800#屏幕显示两行英文再输入#*3676#然后下电池再开就OK 波导E858 .V58 .A150 .F4.工程模式*#123321#*万能密码19921028 波导S1186的手动解锁插卡开机按一下边键出现改变话机密码进入输入000000可见4位数的话机 如果出现话机永久锁定,那就只能过软件了,而且只有售后才在专用的工装线。 AD芯片指令 *983*7373# cect滑盖s560手动解锁 不插卡电源夹开机拨112 接通后插卡,手机自动开机关闭话机锁ok cect客服 还有一方法输入*#*#1705#即可 CECT奥盛FG830解锁指令 *746*737381# CECT天宇解锁*746*737381#再开机密码取法。开机显示存储错误:*746*737382# CECF16解锁 不插卡开机按*#*#1705#发射键再按7确认自动关机后即可 LG指令 GSM : 2945#*# 8110 & 8120 : 277634#*# U8130 & U8138 : 47328545454# 8180 old sw : 49857465454#

8086 汇编语言中断程序设计

汇编语言程序设计实验报告 学院:计算机科学与技术专业:计算机科学与技术班级:计科131

LEA DX,FNAME MOV CX,0 ;语句1 INT 21H JC EXIT MOV FNUM,AX MOV BX,AX ;语句2 MOV CX,100 MOV AH,40H LEA DX ,BUF INT 21H MOV BX,FNUM MOV AH,3EH INT 21H EXIT: MOV AH,4CH INT 21H CODE ENDS END START 使用相应的文本编辑器建立文件LAB7.asm,内容如上所示。 2.汇编并运行此程序后,在当前目录建立的文件名是什么?其内容是什么? 1>汇编: C:\masm> masm lab7; 2>连接: C:\masm> link lab7; 3>运行: C:\masm> lab7 3.若将语句1 改为mov cx,1,则运行情况与前面会有什么区别? 4.若将语句1 改为mov cx,2,则运行结果同上会有什么不同?并简要说明此语句的作用. 5.若将语句2 改为mov bx,1,则运行结果会有什么不同?简要说明则语句的作用. 实验二:编写0 号中断的处理程序,使得在除法溢出发生时,在屏幕中间显示字符串“divide error!”,然后返回到DOS。源程序下: assume cs:code code segment start: mov ax,cs mov ds,ax

mov si,offset do mov ax,0 mov es,ax mov di,200h mov cx,offset doend-offset do ;安装中断例程cld rep movsb mov word ptr es:[0],200h mov word ptr es:[2],0 ;设置中断向量表 mov dx,0ffffh mov bx,1 ;测试一下 div bx mov ax,4c00h int 21h do:jmp short dostart db 'divide error!' dostart: mov ax,0 mov ds,ax mov si,202h mov ax,0b800h mov es,ax mov di,160*12+60 mov cx,13 s: mov al,ds:[si] mov ah,15 mov es:[di],ax inc si inc di inc di loop s mov ax,4c00h int 21h doend:nop code ends end start

摩托罗拉手机解锁及命令代码

摩托罗拉手机解锁及命令代码 摩托罗拉 摩托罗拉所有机锁:按MENU+5+1/2 T190解锁密码: 20010903 T191解锁密码:19980722 3X8/2X88/998/8088/L2000/7689/T189/C289等初始密码为1234 ;话机密码为000000 ;解锁方法:如无测试卡,则先输入1234,如密码已更改,先按Menu 键会出现“修改开锁密码”,按OK键,然后输入000000就会显示四位数的话机密码,如保密码已更改,则只能用测试卡或软件工具解。 T2688/2988万能解锁码:19980722 C300解话机锁:20020801 摩托罗拉手机出现“话机坏,请送修”:可利用测试卡,输入0205#、0205068#即可修复,无须重写码片。 T2688/2988/988d设置中文:*#0000# ok(插卡) 摩托罗拉所有机锁:按MENU+5+1/2 T2688 *#0086# 设为中文(不插卡) *#0000# 回中文,(插卡) *#300# 查版本号,生产日期 *#301# 显示屏,振铃,按键,振动等测试 *#402# 调对比度 19980722可解其一切手机锁 V60/V66/V70解锁:插入测试卡,开机后输入menu+048263*进入测试状态后按18*1总清除,输入18*0是主复位。 V998外文改中文:MENU-左方向键按3下-OK-左方向键按5下 -OK-Simplified-CHINESE 摩托罗拉语言调成第三国语言快速解决方法:menu+26 摩托罗拉2688时间不走修复密诀:将电源1脚和8脚用漆包线短接,必杀! 如何解除摩托罗拉手机的PIN密码 当你的设置的PIN不小心遗忘了,或别人在你的手机上设置了PIN等,这时PUK 就帮了大忙了。在输错三次的PIN后则手机上会显示SIM卡已锁,这时你必须要通过PUK来解锁了。PUK为8位数字的码一般在大卡的背面,如果找不到的话要尽快到当地的客服中心查询,切不可乱输,因为PUK只有10次输错的机会,输错10次则SIM卡报销。摩托罗拉手机一般在输入PUK之前都必须先输入**05*再输PUK,格式如下:**05*PUK即可。 摩托罗拉手机的主清除与主复位 无论你的摩托罗拉手机上做了任何的设置,造成了如:不能正常拔入拔出,来电显示乱码,或无法删除电话本,等等,您都可以用以下方法复原。 MENU键+5+1(2)屏幕则会显示“主清除或主复位”如选择主清除将会执行以下操作: 从话机记忆中清除电话本项目。

8086汇编指令表

8086汇编指令表

MOV MOV DST,SRC DST≠CS、IP和imm 不影响 标志位 MOV [9AF0H],AL MOVS MOVS mem, mem MOVSB/W 不影响 标志位 字符串传送ES:DI←(DS:SI) SI←(SI)(+/-)1 DI←(DI)(+/-)1 MOVS ES:BYTE PTR[DI], DS:[SI] MUL MUL r/m8 设置CF OF S Z A P无法预 测 无符号乘法:AX←AL*r/m8 MUL CL MUL r/m16 无符号乘法:DX:AX←AX*r/m16 MUL CX NEG NEG reg/mem CF OF SF ZF AF PF 求补:取反加一 0-(DST) NEG CL NOP NOP 不影响空操作NOP NOT NOT reg/mem 不影响按位取反NOT CL OR 同AND PF SF ZF CF=OF=0 逻辑或 OR AL,0FH (不变\置1) OUT OUT imm8,AL/AX/EAX 不影响 标志位 将AL/AX/EAX输出到imm8指定端 口 OUT 0FFH,AL OUT DX,AL/AX/EAX 将AL/AX/EAX输出到DX指定的端口OUT DX,AL POP POP DST DST!=imm & CS 不影响 标志位 DST←((SP)+1,(SP)) SP←(SP)+2 POP WORD Ptr [87EAH] POPF POPF 设置所有标志位从堆栈中弹出16位标志寄存器POPF PUSH PUSH SRC 8086 SRC!=imm 不影响 标志位 SP<--(SP)-2 ((SP)+1,(SP))←(SRC) [SP循 环] PUSH WORD Ptr [87EAH] PUSHF PUSHF 不影响压栈16位标志寄存器PUSHF RCL 同SHL 同ROL 带进位循环左移 RCL AL,1 RCR 同SHL 同ROL 带进位循环右移 RCR AL,1 ROL 同SHL 移一位后符号位 改变则OF=1 循环左移: ROL AL,1 ROR 同SHL 同ROL 循环右移: ROR AL,1 REP REP String operation 不影响 标志位 CX=0则终止---CX←(CX)-1 ---串操作---SI/DI增量 REPZ REPE REPE String operation AF CF OF PF SF ZF CX=0||ZF=0则终止 ---CX←(CX)-1 ---串比较---SI/DI增量 REPNZ REPNE REPNE String operation AF CF OF PF SF ZF CX=0||ZF=1则终止--- CX←(CX)-1 ---串比较---SI/DI增量 RET RET 恢复压栈标志位 POP IP[CS] 子过程返回(Near)/(Far) RET RET imm16 子过程返回后SP←(SP)+imm16 RET 08

手机密码解锁方法大全

手机密码解锁方法大全 手机密码解锁方法大全 素材来源/网络编辑制作/荷花小女子 手机密码锁机的朋友不用再去营业厅解锁,自己搞定! 解话机锁:*2767*2878#/*2767*7377# 三星码片复位:*2767*3855# 也可用于解机锁或卡锁三星显温度、电池容量:*#0228# 三星调显示屏对比度:*#0523# 三星软件版本:*#9999# 三星A100-A188看版本:*#0837# 摩托罗拉T2688解所有锁:19980722 T2688/2988/988d没有中文:*#0000# OK(插卡)摩托罗拉所有机锁:按MENU+5+1/2 西门子恢复出厂设置:*#9999#

西门子乱文回中文:*#0000#/*#0086# 西门子软件版本:*#06# 左键 爱立信老机回英语:*#0000# 爱立信新机回英语:按CLR-左键-0000-右键 爱立信显出厂*期:右、*、左、左、*、左、*键 诺基亚显出厂*期:*#0000#(插卡) 诺基亚省30%电:*#746025625# 飞利浦强迫重连网:*#2562*# 飞利浦显示和更改手机密码:*#7489*# 博世(BOSCH)909S回中文:*#0852# 博世(BOSCH)909s回英文:*#0851# NEC显软件版本:*#2820# NEC恢复原厂设置:*#73738# 波导s1000隐藏功能:*#*#1705# 波导s1000解锁:*#*#1705#46(也用于999D,720) 如死机再用---24681357(或直接就用它解) 波导8xx/9xx系列:*#+串号7-14位# SIM卡波导串号最后9位去掉最后一位 阿尔卡特OT221/220解锁:25228352/ALCATEL+D 阿尔卡特OT301/302解锁:83227423 阿尔卡特OT500/700解锁:25228352 康佳:*#0001# *#1001# ##1001#

fortran指令大全

附录C SCILAB 部分函数指令表 (c)LIAMA. All rights reserved. (注解:本指令表只收集了部分常用指令, 有关全部指令请参照文档文件) + 加 - 减 * 矩阵乘 数组乘*. 1. 通用指令 ^ 矩阵乘方 数组乘方^. \ 反斜杠或左除 help 在线帮助 / 斜杠或右除 apropos 文档中关键词搜寻 或.\ 数组除/. ans 缺省变量名以及最新表达式的运 算结果 == 等号 ~= 不等号 clear 从内存中清除变量和函数 < 小于 exit 关闭SCILAB > 大于 quit 退出SCILAB <= 小于或等于 save 把内存变量存入磁盘 >= 大于或等于 exec 运行脚本文件 &,and 逻辑与 mode 文件运行中的显示格式 |,or 逻辑或 getversion 显示SCILAB 版本 ~,not 逻辑非 ieee 浮点运算溢出显示模式选择 : 冒号 who 列出工作内存中的变量名 ( ) 园括号 edit 文件编辑器 [ ] 方括号 type 变量类型 { } 花括号 what 列出SCILAB 基本命令 小数点 . format 设置数据输出格式 , 逗号 chdir 改变当前工作目录 ; 分号 getenv 给出环境值 // 注释号 mkdir 创建目录 = 赋值符号 pwd 显示当前工作目录 ' 引号 evstr 执行表达式 ' 复数转置号 转置号'. ans 最新表达式的运算结果 2.运算符和特殊算符%eps 浮点误差容限, =2 -52 ≈ 2.22×10 -16 %i 虚数单位= √(-1) %inf 正无穷大 %pi 圆周率, π=3.1415926535897.... 3. 编程语言结构 abort 中止计算或循环 break 终止最内循环 case 同select 一起使用 continue 将控制转交给外层的for或 while循环 else 同if一起使用 elseif 同if一起使用 end 结束for,while,if 语句 for 按规定次数重复执行语句 if 条件执行语句 otherwise 可同switch 一起使用 pause 暂停模式 return 返回 select 多个条件分支 then 同if一起使用 while 不确定次数重复执行语句 eval 特定值计算 feval 函数特定值计算或多变量计算

相关文档
最新文档