首页 汇编语言复习重点总结版

汇编语言复习重点总结版

举报
开通vip

汇编语言复习重点总结版-.z通用数据传送指令MOV——传送指令指令格式:MOVDST,SRC;(DST)←(SRC)。DST表示目的操作数,SRC表示源操作数说明:①.DST为除CS外的各存放器寻址方式或任意存储器寻址方式。SRC为任意数据寻址方式。②.DST、SRC不能同时为存储器寻址方式,也不能同时为段存放器寻址方式,而且在DST为段存放器时,SRC不能为立即数。③.MOV指令不影响标志位。地址传送指令LEA——有效地址(EA)送存放器指令指令格式:LEAREG,SRC;(REG)←SRC说明:①.指令把源操作数(只能是存储器寻址方...

汇编语言复习重点总结版
-.z通用数据传送指令MOV——传送指令指令 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 :MOVDST,SRC;(DST)←(SRC)。DST表示目的操作数,SRC表示源操作数说明:①.DST为除CS外的各存放器寻址方式或任意存储器寻址方式。SRC为任意数据寻址方式。②.DST、SRC不能同时为存储器寻址方式,也不能同时为段存放器寻址方式,而且在DST为段存放器时,SRC不能为立即数。③.MOV指令不影响标志位。地址传送指令LEA——有效地址(EA)送存放器指令指令格式:LEAREG,SRC;(REG)←SRC说明:①.指令把源操作数(只能是存储器寻址方式)指定的有效地址送到指令指定的16位或32位存放器(REG)中(但不能是段存放器)。②.LEA指令不影响标志位。加法指令ADD——加法指令指令格式:ADDDST,SRC;(DST)←(DST)+(SRC)减法指令SUB——减法指令指令格式:SUBDST,SRC;(DST)←(DST)-(SRC)SBB——带借位减法指令指令格式:SBBDST,SRC;(DST)←(DST)-(SRC)-CF除法指令DIV——无符号数除法指令指令格式:DIVSRC;字节操作:(AL)←(A*)/(SRC),(AH)←(A*)%(SRC)字操作:(A*)←(D*,A*)/(SRC),(D*)←(D*,A*)%(SRC)双字操作:(EA*)←(ED*,EA*)/(SRC),(ED*)←(ED*,EA*)%(SRC)逻辑运算指令:可以对双字、字或字节执行按位的逻辑运算。AND——逻辑与指令指令格式:ANDDST,SRC;(DST)←(DST)∧(SRC)OR——逻辑或指令指令格式:ORDST,SRC;(DST)←(DST)∨(SRC)*OR——逻辑异或指令指令格式:*ORDST,SRC;(DST)←(DST)⊕(SRC)PUSH——进栈指令指令格式:PUSHSRC;16位指令:(SP)←(SP)–2((SP)+1,(SP))←(SRC)32位指令:(ESP)←(ESP)–4((ESP)+3,(ESP)+2,(ESP)+1,(ESP))←(SRC)说明:①.堆栈:计算机开辟的以“后进先出〞方式工作的存储区。它必须存在于堆栈段中,只有一个出入口,所以只有一个堆栈指针SP或ESP。SP或ESP的内容在任何时候都指向当前的栈顶。②.8086中的SRC不能为立即数寻址方式。286及其后继机型可用立即数寻址方式。③.PUSH指令不影响标志位。POPF/POPFD——标志出栈指令指令格式:POPF;(FLAGS)←((SP)+1,(SP)),(SP)←(SP)+2POPFD;(EFLAGS)←((ESP)+3,(ESP)+2,(ESP)+1,(ESP)),(ESP)←(ESP)-4说明:这组指令中LAHF、PUSHF/PUSHFD不影响标志位。但POPFD指令不影响VM,RF,IOPL,VIF和VIP的值。移位指令移位指令SHL——逻辑左移指令CFOPR0指令格式:SHLOPR,T;SAL——算术左移指令指令格式:SALOPR,T;同上CFOPR0SHR——逻辑右移指令指令格式:SHROPR,T;CFOPRSAR——算术右移指令指令格式:SAROPR,T;循环移位指令CFOPRROR——循环右移指令指令格式:ROROPR,T;CFOPRRCR——带进位位循环右移指令指令格式:RCROPR,T;说明:①.OPR为除立即数以外的任意寻址方式。移位次数由T决定,T=1只移位1次;假设移位次数超过1次,在8086中则T必须用CL代替。而在其他机型中也可用8位立即数指定*围从1~31的移位次数。②.CF位已在指令中给出其影响情况。OF位只有在T=1时有效,一次移位前后的最高有效位(符号位)发生变化则OF=1,否则OF=0。循环指令不影响其它条件。移位指令由结果影响SF、ZF、PF,而AF无定义。循环指令LOOP——循环指令指令格式:LOOPOPR测试条件:(CountReg)≠0JZ(或JE)——结果为零(或相等)则转移指令格式:JZ(或JE)OPR测试条件:ZF=1TEST——测试指令指令格式:TESTOPR1,OPR2;(OPR1)∧(OPR2)说明:①.DST、OPR、OPR1不允许使用立即数寻址方式。CMP——比较指令指令格式:CMPOPR1,OPR2;(OPR1)-(OPR2),运算后根据结果影响标志说明:①.以上指令除DEC不影响CF标志外,它们都影响条件标志位。②.OF是有符号数的溢出,CF是无符号数的溢出。但CF可作为多位运算借位标志。WORDPTR:取字长地址值操作符。INT——中断调用指令指令格式:INTTYPE或INT;TYPE=3时,缺省执行操作:Push(FLAGS)IF←0TF←0AC←0Push(CS)Push(IP)(IP)←(TYPE*4)(每个中断向量占4个字节)(CS)←(TYPE*4+2)说明:①.其中TYPE为类型号,它可以是常数或常数表达式,其值需在0~255*围内。②.类型0的中断称为除数为0中断,由CPU自动产生,不能用中断指令调用。③.类型1的中断称为单步中断,CPU进入单步中断的依据为(TF)=1。不能用中断指令来调用。单步中断由调试程序DEBUG使用。④.类型2的中断称为非屏蔽中断,属硬件中断,紧急情况使用,不许用中断指令来调用。⑤.类型3的中断称为断点中断。用在调试程序中。INT又称为断点中断指令,它是单字节指令。与其他INTTYPE不同,是双字节指令。⑥.类型4的中断称为溢出中断。有专门的溢出中断调用指令INTO。无INT4指令。见下面。段定义伪操作完整的段定义伪操作SEGMENT/ENDS——段定义伪操作:此对伪操作可以将汇编语言源程序分成几个段,通常为数据段、堆栈段、附加段和代码段。伪操作格式:segnameSEGMENT[align_type][bine_type][use_type][‘class’]ASSUME——段指定伪操作:告诉汇编程序,段和段存放器的对应关系。伪操作格式:ASSUME分配(assignment),…,assignment说明:其中assignment说明分配情况,其格式为:段存放器名(segmentregistername):段名字(segmentname)[,段存放器名:段名字[,……]]ASSUMENOTHING则可取消前面由ASSUME所指定的段存放器。助记符(Mnemonic):说明所用伪操作的助记符名称同时也说明所定义的数据类型。通常为下面6种。DB(DefineByte):定义字节伪操作,其后的每个操作数都占有一个字节(8位)。DW(DefineWord):定义字伪操作,其后的每个操作数都占有一个字(16位)。DD(DefineDoubleWord):定义双字伪操作,其后的每个操作数都占有一个双字(32位)。重复操作符DUP:用来指定*个(或*些)操作数重复的次数(还可以嵌套)。形式为:repeat_countDUP(初值[,初值…]);repeat_count为重复的次数“?〞操作数:仅给变量保存相应的存储空间,而不赋给变量初值。EQU——表达式赋值伪操作:用来对一个名字进展赋值。但不能对一个已赋值的名字重新赋值。伪操作格式:表达式名字EQU表达式;表达式可以为常数或者数据的地址说明:PURGE语句:用来解除对*一个名字的赋值。以后此名字才可由EQU重新赋值。伪操作格式:PURGE原名字;原名字,即前面已赋过值的名字=——表达式赋值伪操作:“=〞(等号)伪操作的功能与EQU伪操作根本一样,主要区别在于它可以对同一个名字重新赋值。伪操作格式:名字=表达式;表达式可以为常数或者数据的地址INC——加1指令指令格式:INCOPR;(OPR)←(OPR)+1说明:①.以上指令除INC不影响CF标志外,它们都影响条件标志位。②.OF是有符号数的溢出,CF是无符号数的溢出。但CF可作为多位运算的进位标志。PTR属性操作符:指定操作数的类型属性为BYTE、WORD、DWORD、FWORD、QWORD或TBYTE类型。操作符格式:类型(Type)PTR变量(Variable)±常数表达式(Constante*pression)SIZE:回送分配给变量的字节数,它是LENGTH与TYPE值的乘积。OFFSET:回送变量或者标号的偏移地址值。物理地址的求法逻辑地址在实模式下逻辑地址即为段地址:偏移地址。物理地址=段地址×10H+偏移地址在保护模式下逻辑地址则由选择器和偏移地址两局部组成。选择器存放在段存放器中,但它不能直接表示段基地址,而由操作系统通过一定的方法取得段基地址,再和偏移地址相加,从而求得所选存储单元的物理地址。存储单元的地址和内容:字节:每8位二进制数组成一个字节(Byte)。在存储器里是以字节为单位存储信息。字:16位二进制数(2个字节)组成一个字。分成低位字节和高位字节存储。存储单元的地址:为了正确的存放或取得信息,每一个字节单元给以一个唯一的存储器地址,称为物理地址。以字节为单位给存储单元按二进制从0开场顺序进展的编号。它是无符号的二进制整数,书写格式为十六进制数。选址能力:假设干位(如*位)二进制数(相当于假设干根地址线)所能选择的最大存储单元的地址数(2*)。1K=1024=210。所以16位二进制数的选址能力为216=64KB。用0~FFFFH表示。IBMPC机(8086/8088CPU)的选址能力为220=1MB。存储单元的内容:该存储单元存放的信息。存储器的内容取之不尽。字节的存储:直接存入*存储单元。字的存储:一个字存入存储器要占用两个单元。存放时,低位字节存入低地址单元,高位字节存入高位地址单元。字单元的地址用它的低地址表示,应尽量为偶数地址。如果用*表示*存储单元的地址,则*单元的内容可以表示为(*);假设*单元中存放着Y,而Y又是一个地址,则可用(Y)=((*))来表示Y单元的内容。存储器的内容取之不尽。实模式存储器寻址实模式就是为8086/8088而 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 的工作方式,实模式下允许的最大寻址空间为1MB。它要解决在16位字长的机器里怎么提供20位地址的问题,而解决的方法是采用存储器地址分段的方法。存储器地址的分段段:程序员在编制程序时要把存储器划分成段,在每个段内地址空间是线性增长的。段的最大长度为64KB,以便能用16位二进制数表示段内地址。小段:从0地址开场,每16字节为一小段。小段的首地址用16进制数表示时其最低位为0。段的起始地址:段不能起始于任意地址,而必须从任一小段(paragraph)的首地址开场。物理地址、段地址、偏移地址物理地址(PA):在1MB的存储器里,每一个存储单元都有一个唯一的20位地址,称为该存储单元的物理地址(20位)。20位物理地址由16位段地址和16位偏移地址组成。段地址:段起始地址的高16位值(16位),低4位固定为0被省去。偏移地址(偏移量EA):指在段内相对于段起始地址的偏移值(16位)。物理地址=段地址×10H+偏移地址。用段地址:偏移地址表示。段存放器:在8086~80286中,有4个专门存放段地址的存放器。代码段CS:存放当前正在运行的程序。数据段DS:存放当前运行程序所用的数据。堆栈段SS:定义堆栈的所在区域。附加段ES:附加的数据段。在80386及其后又增加了FS和GS两个附加数据段存放器。逻辑地址在实模式下逻辑地址即为段地址:偏移地址。物理地址=段地址×10H+偏移地址在保护模式下逻辑地址则由选择器和偏移地址两局部组成。选择器存放在段存放器中,但它不能直接表示段基地址,而由操作系统通过一定的方法取得段基地址,再和偏移地址相加,从而求得所选存储单元的物理地址。I/O设备的数据传送方式CPU与外设CPU和外部设备的连接:通过硬件接口或控制器相连。CPU利用输入/输出指令(IN/OUT)与外部设备交换信息。这些信息有以下三种:控制信息:CPU输出到I/O接口,告诉接口和设备要做什么工作。状态信息:CPU从I/O接口输入,表示I/O设备当前的状态。数据信息:双向传输,是I/O设备和CPU真正要交换的信息。直接存储器存取DMA方式输入/输出的传送方式程序直接控制I/O方式:CPU通过执行程序不断读取并测试外设的状态,如果外设处于准备好状态(输入设备)或者空闲状态(输出设备),则CPU执行输入指令或输出指令与外设交换信息。此为查询式传送方式。也可用无条件传送方式直接与外设交换信息。中断传送方式:利用中断技术对输入/输出进展处理的方式。DMA方式:直接存储器存取方式(或称为成组数据传送方式)。通道控制方式:利用I/O协处理器的传送方式。I/O处理机方式:利用专门的计算机进展I/O传送的I/O处理机方式。DMA方式DMA控制器或接口一般包括四个存放器:状态控制存放器、数据存放器、地址存放器和字节计数器,这些存放器能在信息传送之前进展初始化。每个字节传送后,地址存放器增1,字节计数器减1。计算机系统完成DMA传送的步骤首先由接口发出DREQ信号,请求DMA控制器进展数据传送;DMA控制器向CPU发出HOLD信号,请求使用总线。CPU发出响应信号HLDA给DMA控制器,并将总线让出,DMA控制器取得总线控制权。DMA控制器向接口发出DACK〔DMA应答〕信号,启动接口进展数据传送;传输数据的存储器地址通过地址总线发出。传输的数据字节通过数据总线传送。地址存放器增1。字节计数器减1。如字节计数器未减1到0,则转向第3步。否则,DMA控制器撤销总线请求信号HOLD,CPU收回总线控制权,传送完毕。80*86的寻址方式与数据有关的寻址方式这种寻址方式用来确定操作数地址从而找到操作数。立即数寻址方式:操作数直接存放在指令中,紧跟在操作码之后,这种操作数称为立即数。它作为指令的一局部存放在代码段里。如:MOVAL,6;MOVA*,300AH;MOVEA*,2030300AH存放器寻址方式:操作数在存放器中,指令指定存放器号。如:MOVAL,AH直接寻址方式:操作数的有效地址只包含位移量一种成份,其值就存放在代码段中的指令的操作码之后。位移量的值即操作数的有效地址EA。如:MOVA*,VALUE;MOVA*,[2000H]由此及往下的各种寻址方式的操作数都在除代码段以外的存储区中。用方括号(“[]〞)括起来的为存储器操作数。存放器名称外加小括号“()〞表示是该存放器的内容。有效地址(effectiveaddress,EA):即操作数的偏移地址。自此开场的寻址方式即为求得有效地址(EA)的不同途径。有效地址的计算可以用下式表示:EA=基址+(变址×比例因子)+位移量有效地址可以由以下四种成分组成:位移量(displacement)是存放在指令中的一个8位、16位或32位的数,但它不是立即数,而是一个地址。基址(base)是存放在基址存放器中的内容。它是有效地址中的基址局部,通常用来指向数据段中数组或字符串的首地址。变址(inde*)是存放在变址存放器中的内容。它通常用来访问数组中的*个元素或字符串中的*个字符。比例因子(scalefactor)是386及其后继机型新增加的寻址方式中的一个术语,其值可为1、2、4或8。在寻址中可用变址存放器的内容乘以比例因子来取得变址值。段跨越前缀:80*86允许数据存放在数据段以外的段中,应在指令中用该段存放器加冒号(“:〞)即段跨越前缀来指定该段。只要有BP则隐含的段存放器为SS。否则隐含的段存放器为DS。如:MOVA*,ES:VALUE。但是在以下三种情况下,不允许使用段跨越前缀,它们是:串处理指令的目的串必须使用ES段;PUSH指令的目的和POP指令的源必须用SS段;指令代码必须存放在CS段中。80*86CPU中为了使指令字不要过长,规定双操作数指令的两个操作数中,只能有一个使用存储器寻址方式,这就是一个变量常常先要送到存放器的原因。存放器间接寻址方式:操作数的有效地址只包含基址存放器或变址存放器内容一种成份。有效地址就在*个存放器中,而操作数则在存储器中。可使用段跨越前缀。如:MOVA*,ES:[B*]存放器相对寻址方式(或称直接变址寻址方式):操作数的有效地址为基址存放器或变址存放器的内容和指令中指定的位移量之和,有效地址由两局部组成。可使用段跨越前缀(又称为段超越)。如:MOVES:STRING[SI],DL对80386及以后机型。存放器为EA*、EB*、EC*、ED*、ESI、EDI、ESP、EBP。位移量可增加到32位的位移量(无16位位移量)。下同。基址变址寻址方式:操作数的有效地址EA是一个基址存放器和一个变址存放器的内容之和。可使用段跨越前缀。如:MOVA*,ES:[B*][SI]相对基址变址寻址方式:操作数的有效地址EA是一个基址存放器与一个变址存放器的内容和指令中指定的位移量之和。可使用段跨越前缀。如:MOVES:MASK[B*][SI],A*端口(输入/输出)寻址方式:一个操作数必须为A*或AL或EA*,另一个用端口直接寻址方式(端口号<256)或端口间接寻址方式(D*的内容为端口号)。如:INAL,0ADH;OUTD*,A*附:书上所用到的操作符意义:SHORT:属性操作符,表示段内短程转移。PTR:属性操作符,建立一个符号地址(取后面内容的地址)。NEAR:类型操作符,距离类型,段内近程。FAR:类型操作符,距离类型,段间远程。WORD:类型操作符,数据类型,字。DWORD:类型操作符,数据类型,双字。NEARPTR:取段内近程地址值操作符。FARPTR:取段间远程地址值操作符。WORDPTR:取字长地址值操作符。DWORDPTR:取双字长地址值操作符。补码及其加减运算n位补码所表示数的*围:-2n-1≤N≤2n-1-1双字长数或双精度数:在机器里,为了扩大表数*围,可以用两个机器字(高位字和低位字)来表示一个机器数,这种数称为双字长数或双精度数。在80386及其后则有4字(64位)。补码的加法和减法求补运算:对一个二进制数按位求反后在末尾加1的运算称为求补运算。求补求补[*]补[-*]补[*]补补码的减法运算规则[*-Y]补=[*]补+[-Y]补无符号整数:把最高有效位也作为数值处理的数称为无符号整数。字符表示法(ASCII码):80*86机采用目前最常用的美国信息交换 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 代码ASCII码表示。BCD码:4位二进制数编码的十进制数称为BCD码(又叫8421码)。BCD码是无符号整数压缩BCD码:用4位二进制数表示一个十进制数位。非压缩BCD码:用8位二进制数表示一个十进制数位“异或〞运算(*OR)Y=B=A*ORB所有的逻辑运算都是按位操作的。中央处理机中央处理机CPU的组成CPU的任务是执行存放在存储器里的指令序列。CPU芯片中除高速缓冲存储器之外,主要由以下三局部组成:算术逻辑部件(arithmeticlogicunit,ALU):用来进展算术和逻辑运算。控制逻辑:负责对全机的控制工作。工作存放器:用来存放计算过程中所需要的或所得到的各种信息。80*86存放器组存放器可以分为程序可见的存放器和程序不可见的存放器两大类。①程序可见的存放器是指在汇编语言程序设计中用到的存放器,分为通用存放器、专用存放器和段存放器3类。②程序不可见的存放器是指一般应用程序设计中不用而由系统所用的存放器。通用存放器数据存放器:A*、B*、C*、D*,四个16位通用存放器,用来暂时存放计算过程中所用到的操作数、结果和其他信息。既可以以字形式(如A*)也可以以字节形式(如AH、AL)访问。A*(accumulator):累加器,算术运算的主要存放器。所有的I/O指令都使用这一存放器与外部设备传送信息。B*(base):通用存放器,在计算存储器地址时常用作基址存放器。C*(count):通用存放器,在循环和串操作指令中用作隐含的计数器。D*(data):通用存放器,在作双字长运算时把D*和A*合在一起存放一个双字长数,D*用来存放高位字。对*些I/O操作,D*用于对I/O端口的存放器间接寻址。指针及变址存放器:SP、BP、SI、DI,四个16位存放器。SP:堆栈指针存放器。BP:基址指针存放器。SI:源变址存放器。DI:目的变址存放器。专用存放器:IP、SP、FLAGS,3个16位存放器。IP:指令指针存放器。存放代码段中的偏移地址。80386及其后继机型则是EIP。SP:堆栈指针存放器,指示栈顶的偏移地址。80386及其后继机型则是ESP。FLAGS:标志存放器,又称为程序状态字存放器(programstatusword,PSW)。由条件码标志(flag)、控制标志和系统标志构成。80386及其后继机型则是EFLAGS。8086/8088的FLAGS如下所示:43210OFDFIFTFSFZFAFPFCF条件码:用来记录程序中运行结果的状态信息,它们是根据有关指令的运行结果由CPU自动设置的。由于这些状态信息往往作为后续条件转移指令的转移控制条件,所以称为条件码。OF:溢出标志(overflowflag)。结果溢出OF=1,否则OF=0。SF:符号标志(signflag)。结果为负SF=1,否则SF=0。ZF:零标志(zeroflag)。结果为0时ZF=1,否则ZF=0。CF:进位标志(carryflag)。最高有效位有进位或借位CF=1,否则CF=0。AF:辅助进位标志或半进位标志(au*iliarycarryflag)。半个字节产生的进位或借位时AF=1,否则AF=0。PF:奇偶标志(parityflag)。结果低8位中所含的1的个数为偶数时PF=1,否则PF=0。控制标志位:为方向标志(directionflag,DF),在串处理指令中控制处理信息的方向用。DF=1:变址存放器SI和DI减量,使串处理从高地址向低地址方向处理。DF=0:变址存放器SI和DI增量,使串处理从低地址向高地址方向处理。系统标志位:可以用于I/O、可屏蔽中断、程序调试、任务切换和系统工作方式等的控制。TF:陷阱标志(trapflag,TF),又称单步标志。用于调试时的单步方式操作。TF=1时每条指令执行完后产生陷阱(中断),TF=0时不产生陷阱。IF:中断标志(interruptflag,IF)。IF=1时允许可屏蔽中断请求,IF=0时制止可屏蔽中断。I/O特权级(I/Oprivilegelevel,IOPL),在保护模式下,用于控制对I/O地址空间的访问。标志位的测试:用调试程序DEBUG测试。测试含义见书24页表2.2所示。段存放器:是一种专用存放器,它们专用于存储器寻址,用来直接或间接地存放段地址。在80286以前的处理器中只有CS、DS、SS、ES四个16位存放器。
本文档为【汇编语言复习重点总结版】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
wdggjmm
从事建筑施工管理与质量安全、方案设计、可行性研究报告
格式:doc
大小:45KB
软件:Word
页数:10
分类:教育学
上传时间:2022-06-05
浏览量:0