首页 汇编语言知识总结

汇编语言知识总结

举报
开通vip

汇编语言知识总结第一章绪论、计算机的定义Acomputerisadevicethatacceptsinputprocessesdata,storesdataandproducesoutputallaccordingtoaseriesofstoredinstructions.Computerinputiswhateveristyped,submittedortransmittedtoacomputersystem.Inthecontextcomputingdatareferstosymbolsthatrepresentfacts,o...

汇编语言知识总结
第一章绪论、计算机的定义Acomputerisadevicethatacceptsinputprocessesdata,storesdataandproducesoutputallaccordingtoaseriesofstoredinstructions.Computerinputiswhateveristyped,submittedortransmittedtoacomputersystem.Inthecontextcomputingdatareferstosymbolsthatrepresentfacts,objectsandideas.computersmanipulatedatainmanywaysandthismanipulationiscalledprocessing.Memoryisaareaofcomputerthattemporarilyholdsdatawaitingtobeprocessed,storedoroutput.二、计算机五大部件运算器、控制器、存储器、输入设备、输出设备。三、8086寄存器8086中程序可访问的寄存器共有14个,按功能可分为通用寄存器组,段寄存器组和专用寄存器组。通用寄存器组:AX,BX,CX,DX,SPPSI,DI段寄存器:CS,DS,SS,ES专用寄存器组:其包括指令指针IP和标志寄存器FRFR有:OF,DF,IF,SF,ZF,AF,PF,CF(注:详见P12-13,P15)四、微处理器如何获取指令?Wheredoesthemicroprocessorgetitsinstructions?Thesimpleansweristhatamicroprocessorexecutes(执行)instructionsprovidedbyacomputerprogram.However,amicroprocessorcan'tfollowjustanyinstructions.Aprogramthatcontainsaninstructiontoselfdestruct(自毁广won'thavemucheffectbecauseamicroprocessorcanperformonlyalimitedlistofinstructionsselfdestruct"isn'toneofthem.Thelistofinstructionsthatamicroprocessorcanperformiscalleditsinstructionset.Theseinstructionsarehard-wired(硬线连接)intotheprocessorscircuitry(电路、电路系统)andincludebasicarithmetic(算法)andlogicoperations.Fetchingdataandclearingregisters.Acomputercanperformverycomplextasks,butitdoessobyperformingacombinationofsimpletasksfromit'sinstructionset.Howdoesamicroprocessorwork?Insidethechip/carrier,amicroprocessorisaverycomplexintegratedcircuit,containingasmanyas300millionminiaturizedelectroniccomponents.Theminiaturizedcircuitryinamicroprocessorisgroupedintoimportantfunctionalareas,suchastheALUandthecontrolunit.TheALU(arithmeticlogicunit)performsarithmeticoperations,suchasadditionandsubtraction.Italsoperformslogicoperations,suchascomparingtwonumberstoseeiftheyarethesame.TheALUusesregisterstoholddatathatisbeingprocessed,justasyouuseamixingbowltoholdtheingredientsforabatchofbrownies.Themicroprocessor'scontrolunitfetcheseachinstruction,justasyougeteachingredientoutofacupboardortherefrigerator.偶地址开始存放数据(即:首地址一般为偶数)在计算机内一个字节给一个地址,高地址存放高字节数据,低地址存放低字节数据五、存储器地址的分段(必考题且有可能 要求 对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗 画存储图)实模式下允许的最大寻址空间为1MB.物理地址=段地址*16D+偏移地址(详见P16)六、计算机的性能指标 评价 LEC评价法下载LEC评价法下载评价量规免费下载学院评价表文档下载学院评价表文档下载 计算机性能的几个指标:运算速度,机器字长,内存储器的容量,外存储器的容量(注:详见P24-25)第四章指令系统和寻址方式一、共性:MovAX,BXMovAXBX(错误的,缺少“,”)MovAH,ALMovBX(16位),AL(8位)(错误的,不满足数据的一致性)二、汇编语言的特点:面向机器的低级语言,通常是为特定的计算机或计算机系列专门设计的保持了机器语言的优点,具有直接和简捷的特点。可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器CPU等。目标代码简短,占用内存少,执行速度快,是高效的程序设计语言经常与高级语言配合使用,应用十分广泛(P100)三、指令格式及指令字长度指令格式是指令用二进制的代码 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示的结构形式,通常由操作码和地址码两部分组成。操作码用来表征该指令的操作特性和功能,即指出进行什么操作;地址码指出参与操作的数据在存储器中的地址。指令格式设计的一般准则:(1)指令字长要短,以得到时间和空间上的优势。(2)指令字长必须有足够的长度(3)指令字长一般应是字节的整数倍以便存储系统的管理。(4)指令格式的设计还与如何选定指令中操作数地址的位数有关。(详见P102)操作码指令系统中指令的个数N与操作码的位数n必须满足关系式:N<=25。(详见P103)四、寻址方式寻址方式可分为:1、数据寻址pc+"1"rpc2、指令寻址V—pc+npc3、(注:考试过程中如果没有做特别说明,提到寻址都是数据寻址)指令寻址方式(1)顺序寻址方式(2)跳跃寻址(详见P109)操作数寻址方式隐含寻址(MUL立即寻址(MOV直接寻址(MOV间接寻址(MOV例:MOVCX)AL,o6H)AL,[06H])AX,[BX])(以上内容详见P110-111)BX,0006HMOVAX,[BX]AAAA:INCBXINCBXJMPAAAA寄存器寻址方式和寄存器间接寻址方式(重点掌握“源操作数”和“目的操作数”)例:MOVBX,2000HMOVAX(目的操作数),BX(源操作数)相对寻址方式基址寻址方式变址寻址方式(以上内容详见P112-113)五、8086寻址方式数据寻址方式:立即数寻址方式寄存器寻址存储器寻址方式(3-1)直接寻址方式(3-2)寄存器间接寻址方式(3-3)寄存器相对寻址(留意图4-9)(3-4)基址变址寻址(3-5)相对基址变址寻址(详见P115-118)指令寻址方式段内直接寻址段间直接寻址段内间接寻址段间间接寻址(详见P119-120)寄存器、存储器与存储单元的区别、联系。联系:都类似低触发器都是具有记忆功能的电器。区别:寄存器在CPU内,存储器在CPU外,它在MM(内存条)中。相关链接:V:Vnassemble反汇编A:Assemble汇编T:Trace平步运行G:go连续运行R:Register显示/修改六、指令的分类与操作数的类型指令类型(1)数据传送指令(MOV,PUSH(进栈),POP(出栈))(2)算术运算指令(ADD,SUB(减),MUL,DIV(除),DEC,INC.IMUL(有符号增长),IDIV(有符号减少))(3)逻辑运算指令(AND(与),OR(或),NOT(非),XOR(异或))(4)程序控制指令(JMP(无条件跳转),J*(所有J的文件))(5)输入/输出指令(IN,OUT)七、8086指令系统数据传送指令(1)通用传送指令(留意其MOV和PUSHPOP、PUSHRPOPF指令及注意事项,详见P124-127)地址传送指令LEALDSLES^令(详见P28-129)LEA指令注意:目标寄存器不能为段寄存器源操作数只能为存储器寻址方式不影响标志位例:MOVBX,[0100]数据传递LEABX,[0100]地址传送LEABH,[0100]错误的,只能是16位的标志寄存器传送指令(详见P130)算术运算指令(1)加法指令(P131)注意:除INC不影响CF标志位外,其余指令均对条件标志位有影响(2)减法指令(P132-133)SUB:AX,BX==>AX-BX-->AXSBB:CX,DX==>CX-DX-->CXADC:CX,DX==>CX+DX+DF-->CXNEG(求补):D-X-->XCMP:AX,BX不送结果,只影响标志位SUB:AX.BXAX-BX-->BX注意:除DEC指令不影响标志位外,其余指令均对条件标志位有影响。(3)乘法指令(P134)(3-1)MUL(无符号数乘法指令)(3-2)IMU(有符号数乘法指令)(4)除法指令(P34-135)(4-1)DIV(无符号数除法指令)(4-2)IDIV(有符号数除法指令)逻辑运算指令(1)逻辑运算指令(详见P136-137)例:MOVAX,0102ANDAX,00FF求AX=?AX=0002MOVAX,0102ORAX,00FF求AX=?AX=01FF移位指令(P137-138)(2-3)循环移位指令程序控制类指令无条件转移指令条件转移指令(重点看表4-4-表4-6(P144))循环指令(详见P147)老师提供的代码:1.CX-—CXLOOPJ==>相当于FOR]CX==>0MOVCX,10AAAA:MOVAX,BXINCBXLOOPAAAAMOVDX,AXCX-伟CXLOOPZCX==>0<==while且ZF=1曲不同的)■CX-伟CXLOOPZCX==>0<==while且ZF=0哉相同的)2.MOVCX,10MOVBX,0MOVAX,2AAAA:ADDAX,BXINCBXLOOPAAAA3.Datasegmentnum1DW1111H,2222H,3333H,55555Hnum2DW9999H,0FF00H,0EE00H,6666HbuffDW5DUP(?)DataendsCodesegmentAssumeCS:codeDS:DataADD64PROCFARBegin:MOVAX,DataMOVDS,AXLEABX,num1MOVAX,[BX]ADDAX,[BX+8]MOVwordPTR[BX+16],BXINCBXINCBXMOVAX,[BX]ADCAX,[BX+8]MOVwordPTR[BX+16],AXINCBXINCBXMOVAX,[BX]ADCAX,[BX+8]MOVwordPTR[BX+16],AXINCBXINCBXMOVAX,[BX]ADCAX,[BX+8]MOVwordPTR[BX+16],AXMOVAX,0ADCAX,0MOVwordPTR[BX+12H],AXMOVAH,4CHINT21HADD64erdpCodeendsEndBegin第8章汇编语言的程序格式在计算机上运行汇编语言程序的四个步骤(P289)用编辑程序建立ASM源文件用汇编程序把ASM文件汇编成OBJ文件用连接程序把OBJ文件转换成EXE文件用DOS命令直接输入文件名即可执行该程序汇编程序的主要功能:(P289)检查出源程序中的语法错误,并给出出错信息提示生成源程序的目标代码程序,给出列表文件汇编时遇到宏指令即展开过程定义伪指令(P296)数据定义伪指令(1)数据定义伪指令的格式(1-1)伪指令助记符DB,DW,DD,DQ,DT第九章汇编语言程序设计1.老师提供代码:分支:TableSegmentBratableDWRoutinel,Routine2,Routine3,...Routine6TableendsCodeSegmentAssumeCS:code,DS:TableMainPROCFARMOVAX,TableMOVDS,AXLEABX,BratableMOVAH,01HINT21HSUBAL,30HMOVCH,6MOVCL,0NEXT:INC,CLCMPCC,ALJZgo_runINCBXINCBXDECCHJNZNEXTJMPcontinuego_run:JMPwordPTR[BX]Routine1:1Routine2:1?Routine6MOVAH,4CHINT21HMainendcodeendsendBegin(注:留意看例题9.5P318-320及多重循环设计p325-328)第三章运算方法和运算器一、定点加减运算补码加减法运算(重点)(P50-52)1.+6FH-6FH原码:01101111B11101111B反码:01101111B10010000B补码:01101111B10010001B补码加、减法规则:凶补+[y"E[x+y孙凶补+[-丫拊=凶丫诉卜凶补=01001[Y]补=10001==>[X+Y^b=11010[X-Y^b=11000(注:注意求模)溢出判断所谓溢出,是数据计算结果超过计算机所能表示的实际范围。对于n位的二进制码表示的补码整数(符号位占一位),它可表示的数据范围为-2An-1~2An-1-1.若结果超出了允许表示的最大正数时,产生的溢出称为上溢出(正溢出);若结果超过了允许表示的最小负数时,产生的溢出称为下溢出(负溢出)。在运算器中应设有溢出判别线路和溢出标志位。(P52)(1)单符号位方法OF=Cn异或Cn-1Cn、Cn-1中当只有一个产生进位时溢出。移位运算(1)算术移位在带符号数的移位中,无论正数还是负数,移位后符号不变,数值变化。移位规则:正数:左移右移都补0.负数:原码左移右移都补0反码左移右移都补1补码左移补0,右移补1(2)逻辑移位无数值意义的二进制代码,只是位置变化左移低位补0,右移高位补0(3)循环移位循环左移,最高位移至最低位,其他依次左移。循环右移,最低位移至最高位,其他依次右移。(注:以上内容详见P54)原码一位乘(重点)空间上在定点计算机中,两个原码表示的数相乘的运算规则是:乘积的符号由两位输的符号按异或运算得到,而乘积的数值部分则是两个正数相乘之积。(详见P54—56)原码二位乘(重点)时间上(详见P57-58)补码一位乘布斯算法思想:相乘二数用补码表示,它们的符号位与数值位一起参与乘法运算过程,直接得出用补码表示的乘法结果,且正数和负数同等对待。(了解即可)(1)补码一位乘运算规则原码一位除(P66-67)(1)恢复余数法(P67-68)(2)加减交替法(不恢复余数法)P68-70Ri+1=2*Ri-y>01-->商Ri+1=2*Ri-y<00-->商Ri+1=(Ri+1+V<--恢复=2*(Ri+1+y)-y=2*Ri+1+y<---左移一■位+y补码一位除补码除法的被除数、除数用补码表示,符号位和数值位一起参加运算,商的符号位与数值位由统一的算法求得(1)为了避免溢出,商的绝对值不能大于1,即被除数的绝对值一定要小于除数的绝对值(注:详见P70-71)(2)商的校正补码一位除法的算法是在商的末位“恒置1”的舍入条件下推导的。(P71)二、运算器的组成(红色字体为重点)算术逻辑运算单元ALU(ArithmeticLogicUnitALU主要完成对二进制数据的定点算术运算(加减乘除)、逻辑运算(与、或、非、异或)以及移位操作。通常ALU是由两个输入端、一个输出端和多个功能控制信号端组成的逻辑部件。浮点运算单元FPUI(FloatingPointUnit)通用寄存器组(详见P77)运算器内设有若干通用寄存器,构成通用寄存器组;通用寄存器组是一组最快的存储器,用于暂时存放参加运算的数据和某些中间结果。通用寄存器的数量越多,对提高运算器性能和程序执行速度越有利。通用寄存器组是对用户开放的,用户可以通过指令去使用这些寄存器。在运算器中用来提供一个操作数并存放运算结果的通用寄存器称为累加器。---->AX寄存器专用寄存器(详见P77)程序状态字PSW(ProgramStatusWord),它存放着指令执行结果的某种状态(如是否溢出、是否为零、是否有进位/借位、是否为负等),它对程序员是开放的。三、浮点运算1.浮点加减法运算两浮点数进行加减法的预算规则:(详见P87)浮点加减法运算的操作过程:0操作数的检查对阶尾数进行加减运算结果规格化舍入处理溢出判断
本文档为【汇编语言知识总结】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
lizheng
暂无简介~
格式:doc
大小:24KB
软件:Word
页数:5
分类:建筑/施工
上传时间:2022-04-14
浏览量:0