资源描述:
《Intel汇编语言程序设计(第五版)课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、AssemblyLanguageforIntel-BasedComputers,5thEditionChapter7:IntegerArithmetic(c)PearsonEducation,2006-2007.Allrightsreserved.Youmaymodifyandcopythisslideshowforyourpersonaluse,orforuseintheclassroom,aslongasthiscopyrightstatement,theauthor'sname,andthetitlearenotchanged.Sl
2、idespreparedbytheauthorRevisiondate:June4,2006KipR.IrvineChapterOverviewShiftandRotateInstructionsShiftandRotateApplicationsMultiplicationandDivisionInstructionsExtendedAdditionandSubtractionASCIIandUnpackedDecimalArithmeticPackedDecimalArithmeticShiftandRotateInstruction
3、sLogicalvsArithmeticShiftsSHLInstructionSHRInstructionSALandSARInstructionsROLInstructionRORInstructionRCLandRCRInstructionsSHLD/SHRDInstructionsLogicalvsArithmeticShiftsAlogicalshiftfillsthenewlycreatedbitpositionwithzero:Anarithmeticshiftfillsthenewlycreatedbitpositionw
4、ithacopyofthenumber’ssignbit:SHLInstructionTheSHL(shiftleft)instructionperformsalogicalleftshiftonthedestinationoperand,fillingthelowestbitwith0.OperandtypesforSHL:SHLreg,imm8SHLmem,imm8SHLreg,CLSHLmem,CL(Sameforallshiftandrotateinstructions)FastMultiplicationmovdl,5shldl
5、,1Shiftingleft1bitmultipliesanumberby2movdl,5shldl,2;DL=20Shiftingleftnbitsmultipliestheoperandby2nForexample,5*22=206Irvine,KipR.AssemblyLanguageforIntel-BasedComputers5/e,2007.SHRInstructionTheSHR(shiftright)instructionperformsalogicalrightshiftonthedestinationoperand.T
6、hehighestbitpositionisfilledwithazero.movdl,80shrdl,1;DL=40shrdl,2;DL=10Shiftingrightnbitsdividestheoperandby2nSALandSARInstructionsSAL(shiftarithmeticleft)isidenticaltoSHL.SAR(shiftarithmeticright)performsarightarithmeticshiftonthedestinationoperand.Anarithmeticshiftpres
7、ervesthenumber'ssign.movdl,-80sardl,1;DL=-40sardl,2;DL=-10Yourturn...moval,6Bhshral,1a.shlal,3b.moval,8Chsaral,1c.saral,3d.IndicatethehexadecimalvalueofALaftereachshift:35hA8hC6hF8h9Irvine,KipR.AssemblyLanguageforIntel-BasedComputers5/e,2007.ROLInstructionROL(rotate)shift
8、seachbittotheleftThehighestbitiscopiedintoboththeCarryflagandintothelowestbitNobitsarelostmoval,