首页 汇编语言知识总结

汇编语言知识总结

举报
开通vip

汇编语言知识总结.--.word.zl绪论计算机的定义Acomputerisadevicethatacceptsinputprocessesdata,storesdataandproducesoutputallaccordingtoaseriesofstoredinstructions.Computerinputiswhateveristyped,submittedortransmittedtoacomputersystem.Inthecontextcomputingdatareferstosymbolsthatreprese...

汇编语言知识总结
.--.word.zl绪论计算机的定义Acomputerisadevicethatacceptsinputprocessesdata,storesdataandproducesoutputallaccordingtoaseriesofstoredinstructions.Computerinputiswhateveristyped,submittedortransmittedtoacomputersystem.Inthecontextcomputingdatareferstosymbolsthatrepresentfacts,objectsandideasputersmanipulatedatainmanywaysandthismanipulationiscalledprocessing.Memoryisaareaofcomputerthattemporarilyholdsdatawaitingtobeprocessed,storedoroutput.计算机五大部件运算器、控制器、存储器、输入设备、输出设备。三、8086存放器8086中程序可访问的存放器共有14个,按功能可分为通用存放器组,段存放器组和专用存放器组。通用存放器组:AX,BX,CX,DX,SP,BP,SI,DI段存放器:CS,DS,SS,ES专用存放器组:其包括指令指针IP和标志存放器FR。FR有:OF,DF,IF,SF,ZF,AF,PF,CF(注:详见P12-13,P15)微处理器如何获取指令?Wheredoesthemicroprocessorgetit’sinstructions?Thesimpleansweristhatamicroprocessorexecutes(执行)instructionsprovidedbyacomputerprogram.However,amicroprocessorcan’tfollowjustanyinstructions.Aprogramthatcontainsaninstructionto“selfdestruct(自毁)〞won’thavemucheffectbecauseamicroprocessorcanperformonlyalimitedlistofinstructions“selfdestruct〞isn’toneofthem.Thelistofinstructionsthatamicroprocessorcanperformiscalledit’sinstructionset.Theseinstructionsarehard-wired〔硬线连接〕intotheprocessor’scircuitry(电路、电路系统)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〕计算机的性能指标评价计算机性能的几个指标:运算速度,机器字长,存储器的容量,外存储器的容量〔注:详见P24-25〕指令系统和寻址方式一、共性:MovAX,BXMovAXBX(错误的,缺少“,〞)MovAH,ALMovBX〔16位〕,AL〔8位〕〔错误的,不满足数据的一致性〕二、汇编语言的特点:1.面向机器的低级语言,通常是为特定的计算机或计算机系列专门设计的2.保持了机器语言的优点,具有直接和简捷的特点。3.可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器CPU等。4.目标代码简短,占用存少,执行速度快,是高效的程序设计语言5.经常与高级语言配合使用,应用十分广泛〔P100〕三、指令格式及指令字长度1.指令格式是指令用二进制的代码 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示的构造形式,通常由操作码和地址码两局部组成。操作码用来表征该指令的操作特性和功能,即指出进展什么操作;地址码指出参与操作的数据在存储器中的地址。2.指令格式设计的一般准那么:〔1〕指令字长要短,以得到时间和空间上的优势。〔2〕指令字长必须有足够的长度〔3〕指令字长一般应是字节的整数倍以便存储系统的管理。〔4〕指令格式的设计还与如何选定指令中操作数地址的位数有关。〔详见P102〕3.操作码指令系统中指令的个数N与操作码的位数n必须满足关系式:N<=2^n。〔详见P103〕寻址方式寻址方式可分为:数据寻址pc+〞1〞→pc指令寻址pc+n→pc(注:考试过程中如果没有做特别说明,提到寻址都是数据寻址)1.指令寻址方式〔1〕顺序寻址方式〔2〕跳跃寻址〔详见P109〕2.操作数寻址方式〔1〕隐含寻址〔MULCX〕〔2〕立即寻址〔MOVAL,o6H〕〔3〕直接寻址〔MOVAL,[06H]〕〔4〕间接寻址〔MOVAX,[BX]〕(以上容详见P110-111)例:MOVBX,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.指令类型〔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.数据传送指令〔1〕通用传送指令〔留意其MOV和PUSH、POP、PUSHF、POPF指令及本卷须知,详见P124-127〕2.地址传送指令LEA、LDS、LES指令〔详见P28-129〕LEA指令注意:目标存放器不能为段存放器源操作数只能为存储器寻址方式不影响标志位例:MOVBX,[0100]数据传递LEABX,[0100]地址传送LEABH,[0100]错误的,只能是16位的标志存放器传送指令〔详见P130〕算术运算指令加法指令〔P131〕注意:除INC不影响CF标志位外,其余指令均对条件标志位有影响减法指令〔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指令不影响标志位外,其余指令均对条件标志位有影响。乘法指令〔P134〕〔3-1〕MUL(无符号数乘法指令)〔3-2〕IMU〔有符号数乘法指令)除法指令〔P34-135〕〔4-1〕DIV〔无符号数除法指令〕〔4-2〕IDIV〔有符号数除法指令〕5.逻辑运算指令(1)逻辑运算指令〔详见P136-137〕例:MOVAX,0102ANDAX,00FF求AX=?AX=0002MOVAX,0102ORAX,00FF求AX=?AX=01FF移位指令〔P137-138〕〔2-3〕循环移位指令程序控制类指令无条件转移指令条件转移指令〔重点看表4-4~表4-6〔P144〕〕循环指令〔详见P147〕教师提供的代码:1.CX-1→CXLOOP==>相当于FORCX==>0MOVCX,10AAAA:MOVAX,BXINCBXLOOPAAAAMOVDX,AXCX-1→CXLOOPZCX==>0<==while且ZF=1(找不同的)CX-1→CXLOOPZCX==>0<==while且ZF=0(找一样的)2.MOVCX,10MOVBX,0MOVAX,2AAAA:ADDAX,BXINCBXLOOPAAAADatasegmentnum1DW1111H,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汇编语言的程序格式在计算机上运行汇编语言程序的四个步骤〔P289〕用编辑程序建立ASM源文件用汇编程序把ASM文件汇编成OBJ文件用连接程序把OBJ文件转换成EXE文件用DOS命令直接输入文件名即可执行该程序汇编程序的主要功能:〔P289〕检查出源程序中的语法错误,并给出出错信息提示生成源程序的目标代码程序,给出列表文件汇编时遇到宏指令即展开过程定义伪指令〔P296〕数据定义伪指令数据定义伪指令的格式〔1-1〕伪指令助记符DB,DW,DD,DQ,DT汇编语言程序设计教师提供代码:分支:TableSegmentBratableDWRoutine1,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〕第三章运算 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 和运算器定点加减运算补码加减法运算〔重点〕(P50-52)+6FH-6FH原码:01101111B11101111B反码:01101111B10010000B补码:01101111B10010001B补码加、减法规那么:[X]补+[Y]补=[X+Y]补[X]补+[-Y]补=[X-Y]补[X]补=01001[Y]补=10001==>[X+Y]补=11010[X-Y]补=11000〔注:注意求模〕溢出判断所谓溢出,是数据计算结果超过计算机所能表示的实际围。对于n位的二进制码表示的补码整数〔符号位占一位〕,它可表示的数据围为-2^n-1~2^n-1-1.假设结果超出了允许表示的最大正数时,产生的溢出称为上溢出〔正溢出〕;假设结果超过了允许表示的最小负数时,产生的溢出称为下溢出〔负溢出〕。在运算器中应设有溢出判别线路和溢出标志位。〔P52〕单符号位方法OF=Cn异或Cn-1Cn、Cn-1中当只有一个产生进位时溢出。3.移位运算〔1〕算术移位在带符号数的移位中,无论正数还是负数,移位后符号不变,数值变化。移位规那么:正数:左移右移都补0.负数:原码左移右移都补0反码左移右移都补1补码左移补0,右移补1逻辑移位无数值意义的二进制代码,只是位置变化左移低位补0,右移高位补0循环移位循环左移,最高位移至最低位,其他依次左移。循环右移,最低位移至最高位,其他依次右移。〔注:以上容详见P54〕4.原码一位乘〔重点〕空间上在定点计算机中,两个原码表示的数相乘的运算规那么是:乘积的符号由两位输的符号按异或运算得到,而乘积的数值局部那么是两个正数相乘之积。〔详见P54—56〕原码二位乘〔重点〕时间上〔详见P57-58〕补码一位乘布斯算法思想:相乘二数用补码表示,它们的符号位与数值位一起参与乘法运算过程,直接得出用补码表示的乘法结果,且正数和负数同等对待。〔了解即可〕补码一位乘运算规那么原码一位除〔P66-67〕恢复余数法〔P67-68〕加减交替法〔不恢复余数法〕P68-70Ri+1=2*Ri-y>01-->商Ri+1=2*Ri-y<00-->商Ri+1=〔Ri+1+y〕<--恢复=2*〔Ri+1+y〕-y=2*Ri+1+y<---左移一位+y补码一位除补码除法的被除数、除数用补码表示,符号位和数值位一起参加运算,商的符号位与数值位由统一的算法求得为了防止溢出,商的绝对值不能大于1,即被除数的绝对值一定要小于除数的绝对值〔注:详见P70-71〕商的校正补码一位除法的算法是在商的末位“恒置1〞的舍入条件下推导的。〔P71〕运算器的组成〔红色字体为重点〕算术逻辑运算单元ALU〔ArithmeticLogicUnit〕ALU主要完成对二进制数据的定点算术运算〔加减乘除〕、逻辑运算〔与、或、非、异或〕以及移位操作。通常ALU是由两个输入端、一个输出端和多个功能控制信号端组成的逻辑部件。浮点运算单元FPU〔FloatingPointUnit〕通用存放器组〔详见P77〕运算器设有假设干通用存放器,构成通用存放器组;通用存放器组是一组最快的存储器,用于暂时存放参加运算的数据和某些中间结果。通用存放器的数量越多,对提高运算器性能和程序执行速度越有利。通用存放器组是对用户开放的,用户可以通过指令去使用这些存放器。在运算器中用来提供一个操作数并存放运算结果的通用存放器称为累加器。---->AX存放器专用存放器〔详见P77〕程序状态字PSW〔ProgramStatusWord〕,它存放着指令执行结果的某种状态〔如是否溢出、是否为零、是否有进位/借位、是否为负等〕,它对程序员是开放的。浮点运算浮点加减法运算两浮点数进展加减法的预算规那么:〔详见P87〕浮点加减法运算的操作过程:0操作数的检查对阶尾数进展加减运算④结果规格化⑤舍入处理⑥溢出判断教育之通病是教用脑的人不用手,不教用手的人用脑,所以一无所能。教育革命的对策是手脑联盟,结果是手与脑的力量都可以大到不可思议。
本文档为【汇编语言知识总结】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
pyaiw
擅长施工管理及辅助设计,并对施工技术、质量与安全的深入研究
格式:doc
大小:53KB
软件:Word
页数:9
分类:教育学
上传时间:2021-11-19
浏览量:0