关闭

关闭

封号提示

内容

首页 professional assembly language.pdf

professional assembly language.pdf

professional assembly language.…

上传者: 我是谁是我 2012-05-14 评分 4.5 0 87 12 397 暂无简介 简介 举报

简介:本文档为《professional assembly languagepdf》,可适用于高等教育领域,主题内容包含ProfessionalAssemblyLanguageRichardBlumffirsqxd:AMPageiiiffirsqxd:AMPageii符等。

ProfessionalAssemblyLanguageRichardBlumffirsqxd:AMPageiiiffirsqxd:AMPageiiProfessionalAssemblyLanguageffirsqxd:AMPageiffirsqxd:AMPageiiProfessionalAssemblyLanguageRichardBlumffirsqxd:AMPageiiiProfessionalAssemblyLanguagePublishedbyWileyPublishing,IncCrosspointBoulevardIndianapolis,INwwwwileycomCopyrightbyWileyPublishing,Inc,Indianapolis,IndianaAllrightsreservedPublishedsimultaneouslyinCanadaISBN:ManufacturedintheUnitedStatesofAmericaMASWQRQVINNopartofthispublicationmaybereproduced,storedinaretrievalsystemortransmittedinanyformorbyanymeans,electronic,mechanical,photocopying,recording,scanningorotherwise,exceptaspermittedunderSectionsoroftheUnitedStatesCopyrightAct,withouteitherthepriorwrittenpermissionofthePublisher,orauthorizationthroughpaymentoftheappropriatepercopyfeetotheCopyrightClearanceCenter,RosewoodDrive,Danvers,MA,(),fax()RequeststothePublisherforpermissionshouldbeaddressedtotheLegalDepartment,WileyPublishing,Inc,CrosspointBlvd,Indianapolis,IN,(),fax(),email:brandreviewwileycomLIMITOFLIABILITYDISCLAIMEROFWARRANTY:THEPUBLISHERANDTHEAUTHORMAKENOREPRESENTATIONSORWARRANTIESWITHRESPECTTOTHEACCURACYORCOMPLETENESSOFTHECONTENTSOFTHISWORKANDSPECIFICALLYDISCLAIMALLWARRANTIES,INCLUDINGWITHOUTLIMITATIONWARRANTIESOFFITNESSFORAPARTICULARPURPOSENOWARRANTYMAYBECREATEDOREXTENDEDBYSALESORPROMOTIONALMATERIALSTHEADVICEANDSTRATEGIESCONTAINEDHEREINMAYNOTBESUITABLEFOREVERYSITUATIONTHISWORKISSOLDWITHTHEUNDERSTANDINGTHATTHEPUBLISHERISNOTENGAGEDINRENDERINGLEGAL,ACCOUNTING,OROTHERPROFESSIONALSERVICESIFPROFESSIONALASSISTANCEISREQUIRED,THESERVICESOFACOMPETENTPROFESSIONALPERSONSHOULDBESOUGHTNEITHERTHEPUBLISHERNORTHEAUTHORSHALLBELIABLEFORDAMAGESARISINGHEREFROMTHEFACTTHATANORGANIZATIONORWEBSITEISREFERREDTOINTHISWORKASACITATIONANDORAPOTENTIALSOURCEOFFURTHERINFORMATIONDOESNOTMEANTHATTHEAUTHORORTHEPUBLISHERENDORSESTHEINFORMATIONTHEORGANIZATIONORWEBSITEMAYPROVIDEORRECOMMENDATIONSITMAYMAKEFURTHER,READERSSHOULDBEAWARETHATINTERNETWEBSITESLISTEDINTHISWORKMAYHAVECHANGEDORDISAPPEAREDBETWEENWHENTHISWORKWASWRITTENANDWHENITISREADForgeneralinformationonourotherproductsandservicesortoobtaintechnicalsupport,pleasecontactourCustomerCareDepartmentwithintheUSat(),outsidetheUSat()orfax()WileyalsopublishesitsbooksinavarietyofelectronicformatsSomecontentthatappearsinprintmaynotbeavailableinelectronicbooksBlum,RichardProfessionalassemblylanguageRichardBlumpcmIncludesindexISBN(paperwebsite)Assemblylanguage(Computerprogramlanguage)TitleQAAB'dcTrademarks:Wiley,theWileyPublishinglogo,Wrox,theWroxlogo,ProgrammertoProgrammerandrelatedtradedressaretrademarksorregisteredtrademarksofJohnWileySons,Incandoritsaffiliates,intheUnitedStatesandothercountries,andmaynotbeusedwithoutwrittenpermissionAllothertrademarksarethepropertyoftheirrespectiveownersWileyPublishing,Inc,isnotassociatedwithanyproductorvendormentionedinthisbookffirsqxd:AMPageivAbouttheAuthorRichardBlumhasworkedforalargeUSgovernmentorganizationformorethanyearsDuringthattime,hehashadtheopportunitytoprogramutilitiesinvariousprogramminglanguages:C,C,Java,andMicrosoftVBNETandC#Withthisexperience,RichhasoftenfoundthebenefitofreviewingassemblylanguagecodegeneratedbycompilersandutilizingassemblylanguageroutinestospeeduphigherlevellanguageprogramsRichhasabachelorofsciencedegreeinelectricalengineeringfromPurdueUniversity,whereheworkedonmanyassemblylanguageprojects(Ofcourse,thiswasbackintheeightbitprocessordays)HealsohasamasterofsciencedegreeinmanagementfromPurdueUniversity,specializinginManagementInformationSystemsWhenRichisnotbeingacomputernerd,heiseitherplayingelectricbassforthechurchworshipbandorspendingtimewithhiswife,Barbara,andtwodaughters,KatieJaneandJessicaffirsqxd:AMPagevffirsqxd:AMPageviCreditsExecutiveEditorChrisWebbDevelopmentEditorAdaobiObiTultonProductionEditorWilliamABartonTechnicalEditorPaulCarterCopyEditorLuannRouffEditorialManagerKathrynMalmBourgoineVicePresidentExecutiveGroupPublisherRichardSwadleyVicePresidentandPublisherJosephBWikertProjectCoordinatorErinSmithGraphicsandProductionSpecialistsJonelleBurnsAmandaCarterCarrieAFosterLaurenGoddardDennyHagerJoyceHaugheyQualityControlTechniciansDavidFaustSusanMoritzCarlWilliamPierceMediaDevelopmentSpecialistAngieDennyProofreadingTECHBOOKSProductionServicesIndexingRichardTEvansffirsqxd:AMPageviiffirsqxd:AMPageviiiThisbookisdedicatedtomywife,Barbara,andmydaughters,KatieJaneandJessica“TrustintheLordwithallyourheartandleannotonyourownunderstandinginallwaysacknowledgehim,andhewillmakeyourpathsstraight”Pr:(NIV)ffirsqxd:AMPageixffirsqxd:AMPagexAcknowledgmentsFirst,allhonor,glory,andpraisegotoGod,whothroughHisSonmakesallthingspossibleandgivesusthegiftofeternallifeManythanksgotothegreatteamofpeopleatJohnWileySonsPublishingThankstoChrisWebb,theacquisitionseditor,forofferingmetheopportunitytowritethisbookIamforeverindebtedtoAdaobiObiTulton,thedevelopmenteditor,forherworkinmakingthisbookpresentableandheroverallguidancethroughthebookwritingprocessAlso,manythanksgotoPaulCarter,thetechnicaleditorofthebookPaul’scommentsthroughoutthebookwereinvaluableinpresentingthetopicinthebestwayandforpointingoutmygoofsandblundersIwouldalsoliketothankCaroleMcClendonatWatersideProductions,Inc,forarrangingthisopportunityforme,andforhelpingoutinmywritingcareerFinally,Iwouldliketothankmyparents,MikeandJoyceBlum,fortheirdedicationandsupportwhileraisingme,andtomywife,Barbara,anddaughters,KatieJaneandJessica,fortheirlove,patience,andunderstanding,especiallywhileIwaswritingthisbookffirsqxd:AMPagexiffirsqxd:AMPagexiiContentsAcknowledgmentsxiContentsxiiiIntroductionxxiiiChapter:WhatIsAssemblyLanguageProcessorInstructionsInstructioncodehandlingInstructioncodeformatHighLevelLanguagesTypesofhighlevellanguagesHighlevellanguagefeaturesAssemblyLanguageOpcodemnemonicsDefiningdataDirectivesSummaryChapter:TheIAPlatformCorePartsofanIAProcessorControlunitExecutionunitRegistersFlagsAdvancedIAFeaturesThexfloatingpointunitMultimediaextensions(MMX)StreamingSIMDextensions(SSE)HyperthreadingTheIAProcessorFamilyIntelprocessorsNonIntelprocessorsSummaryftocqxd:AMPagexiiixivContentsChapter:TheToolsoftheTradeTheDevelopmentToolsTheAssemblerTheLinkerTheDebuggerTheCompilerTheobjectcodedisassemblerTheProfilerTheGNUAssemblerInstallingtheassemblerUsingtheassemblerAwordaboutopcodesyntaxTheGNULinkerTheGNUCompilerDownloadingandinstallinggccUsinggccTheGNUDebuggerProgramDownloadingandinstallinggdbUsinggdbTheKDEDebuggerDownloadingandinstallingkdbgUsingkdbgTheGNUObjdumpProgramUsingobjdumpAnobjdumpexampleTheGNUProfilerProgramUsingtheprofilerAprofileexampleACompleteAssemblyDevelopmentSystemThebasicsofLinuxDownloadingandrunningMEPISYournewdevelopmentsystemSummaryChapter:ASampleAssemblyLanguageProgramThePartsofaProgramDefiningsectionsDefiningthestartingpointCreatingaSimpleProgramTheCPUIDinstructionThesampleprogramftocqxd:AMPagexivxvContentsBuildingtheexecutableRunningtheexecutableAssemblingusingacompilerDebuggingtheProgramUsinggdbUsingCLibraryFunctionsinAssemblyUsingprintfLinkingwithClibraryfunctionsSummaryChapter:MovingDataDefiningDataElementsThedatasectionDefiningstaticsymbolsThebsssectionMovingDataElementsTheMOVinstructionformatsMovingimmediatedatatoregistersandmemoryMovingdatabetweenregistersMovingdatabetweenmemoryandregistersConditionalMoveInstructionsTheCMOVinstructionsUsingCMOVinstructionsExchangingDataThedataexchangeinstructionsUsingthedataexchangeinstructionTheStackHowthestackworksPUSHingandPOPingdataPUSHingandPOPingalltheregistersManuallyusingtheESPandEBPregistersOptimizingMemoryAccessSummaryChapter:ControllingExecutionFlowTheInstructionPointerUnconditionalBranchesJumpsCallsInterruptsftocqxd:AMPagexvxviContentsConditionalBranchesConditionaljumpinstructionsThecompareinstructionExamplesofusingtheflagbitsLoopsTheloopinstructionsAloopexamplePreventingLOOPcatastrophesDuplicatingHighLevelConditionalBranchesifstatementsforloopsOptimizingBranchInstructionsBranchpredictionOptimizingtipsSummaryChapter:UsingNumbersNumericDataTypesIntegersStandardintegersizesUnsignedintegersSignedintegersUsingsignedintegersExtendingintegersDefiningintegersinGASSIMDIntegersMMXintegersMovingMMXintegersSSEintegersMovingSSEintegersBinaryCodedDecimalWhatisBCDFPUBCDvaluesMovingBCDvaluesFloatingPointNumbersWhatarefloatingpointnumbersStandardfloatingpointdatatypesIAfloatingpointvaluesDefiningfloatingpointvaluesinGASMovingfloatingpointvaluesUsingpresetfloatingpointvaluesftocqxd:AMPagexvixviiContentsSSEfloatingpointdatatypesMovingSSEfloatingpointvaluesConversionsConversioninstructionsAconversionexampleSummaryChapter:BasicMathFunctionsIntegerArithmeticAdditionSubtractionIncrementinganddecrementingMultiplicationDivisionShiftInstructionsMultiplybyshiftingDividingbyshiftingRotatingbitsDecimalArithmeticUnpackedBCDarithmeticPackedBCDarithmeticLogicalOperationsBooleanlogicBittestingSummaryChapter:AdvancedMathFunctionsTheFPUEnvironmentTheFPUregisterstackTheFPUstatus,control,andtagregistersUsingtheFPUstackBasicFloatingPointMathAdvancedFloatingPointMathFloatingpointfunctionsPartialremaindersTrigonometricfunctionsLogarithmicfunctionsFloatingPointConditionalBranchesTheFCOMinstructionfamilyTheFCOMIinstructionfamilyTheFCMOVinstructionfamilyftocqxd:AMPagexviixviiiContentsSavingandRestoringtheFPUStateSavingandrestoringtheFPUenvironmentSavingandrestoringtheFPUstateWaitingversusNonwaitingInstructionsOptimizingFloatingPointCalculationsSummaryChapter:WorkingwithStringsMovingStringsTheMOVSinstructionTheREPprefixOtherREPinstructionsStoringandLoadingStringsTheLODSinstructionTheSTOSinstructionBuildingyourownstringfunctionsComparingStringsTheCMPSinstructionUsingREPwithCMPSStringinequalityScanningStringsTheSCASinstructionScanningformultiplecharactersFindingastringlengthSummaryChapter:UsingFunctionsDefiningFunctionsAssemblyFunctionsWritingfunctionsAccessingfunctionsFunctionplacementUsingregistersUsingglobaldataPassingDataValuesinCStyleRevisitingthestackPassingfunctionparametersonthestackFunctionprologueandepilogueDefininglocalfunctiondataftocqxd:AMPagexviiixixContentsCleaningoutthestackAnexampleWatchingthestackinactionUsingSeparateFunctionFilesCreatingaseparatefunctionfileCreatingtheexecutablefileDebuggingseparatefunctionfilesUsingCommandLineParametersTheanatomyofaprogramAnalyzingthestackViewingcommandlineparametersViewingenvironmentvariablesAnexampleusingcommandlineparametersSummaryChapter:UsingLinuxSystemCallsTheLinuxKernelPartsofthekernelLinuxkernelversionSystemCallsFindingsystemcallsFindingsystemcalldefinitionsCommonsystemcallsUsingSystemCallsThesystemcallformatAdvancedSystemCallReturnValuesThesysinfosystemcallUsingthereturnstructureViewingtheresultsTracingSystemCallsThestraceprogramAdvancedstraceparametersWatchingprogramsystemcallsAttachingtoarunningprogramSystemCallsversusCLibrariesTheClibrariesTracingCfunctionsComparingsystemcallsandClibrariesSummaryftocqxd:AMPagexixxxContentsChapter:UsingInlineAssemblyWhatIsInlineAssemblyBasicInlineAssemblyCodeTheasmformatUsingglobalCvariablesUsingthevolatilemodifierUsinganalternatekeywordExtendedASMExtendedASMformatSpecifyinginputandoutputvaluesUsingregistersUsingplaceholdersReferencingplaceholdersAlternativeplaceholdersChangedregisterslistUsingmemorylocationsUsingfloatingpointvaluesHandlingjumpsUsingInlineAssemblyCodeWhataremacrosCmacrofunctionsCreatinginlineassemblymacrofunctionsSummaryChapter:CallingAssemblyLibrariesCreatingAssemblyFunctionsCompilingtheCandAssemblyProgramsCompilingassemblysourcecodefilesUsingassemblyobjectcodefilesTheexecutablefileUsingAssemblyFunctionsinCProgramsUsingintegerreturnvaluesUsingstringreturnvaluesUsingfloatingpointreturnvaluesUsingmultipleinputvaluesUsingmixeddatatypeinputvaluesUsingAssemblyFunctionsinCProgramsCreatingStaticLibrariesWhatisastaticlibraryThearcommandftocqxd:AMPagexxxxiContentsCreatingastaticlibraryfileCompilingwithstaticlibrariesUsingSharedLibrariesWhataresharedlibrariesCreatingasharedlibraryCompilingwithasharedlibraryRunningprogramsthatusesharedlibrariesDebuggingAssemblyFunctionsDebuggingCprogramsDebuggingassemblyfunctionsSummaryChapter:OptimizingRoutinesOptimizedCompilerCodeCompileroptimizationlevelCompileroptimizationlevelCompileroptimizationlevelCreatingOptimizedCodeGeneratingtheassemblylanguagecodeViewingoptimizedcodeRecompilingtheoptimizedcodeOptimizationTricksOptimizingcalculationsOptimizingvariablesOptimizingloopsOptimizingconditionalbranchesCommonsubexpressioneliminationSummaryChapter:UsingFilesTheFileHandlingSequenceOpeningandClosingFilesAccesstypesUNIXpermissionsOpenfilecodeOpenerrorreturncodesClosingfilesWritingtoFilesAsimplewriteexampleChangingfileaccessmodesHandlingfileerrorsftocqxd:AMPagexxixxiiContentsReadingFilesAsimplereadexampleAmorecomplicatedreadexampleReading,Processing,andWritingDataMemoryMappedFilesWhatarememorymappedfilesThemmapsystemcallmmapassemblylanguageformatAnmmapexampleSummaryChapter:UsingAdvancedIAFeaturesABriefReviewofSIMDMMXSSESSEDetectingSupportedSIMDOperationsDetectingsupportSIMDfeatureprogramUsingMMXInstructionsLoadingandretrievingpackedintegervaluesPerformingMMXoperationsUsingSSEInstructionsMovingdataProcessingdataUsingSSEInstructionsMovingdataProcessingdataSSEInstructionsSummaryIndexftocqxd:AMPagexxiiIntroductionAssemblylanguageisoneofthemostmisunderstoodprogramminglanguagesinuseWhenthetermassemblylanguageisused,itofteninvokestheideaoflowlevelbitshufflingandporingoverthousandpageinstructionmanualslookingfortheproperinstructionformatWiththeproliferationoffancyhighlevellanguagedevelopmenttools,itisnotuncommontoseethephrase“assemblylanguageprogrammingisdead”popupamongvariousprogrammingnewsgroupsHowever,assemblylanguageprogrammingisfarfromdeadEveryhighlevellanguageprogrammustbecompiledintoassemblylanguagebeforeitcanbelinkedintoanexecutableprogramForthehighlevellanguageprogrammer,understandinghowthecompilergeneratestheassemblylanguagecodecanbeagreatbenefit,bothfordirectlywritingroutinesinassemblylanguageandforunderstandinghowthehighlevellanguageroutinesareconvertedtoassemblylanguagebythecompilerWhoThisBookIsForTheprimarypurposeofthisbookistoteachhighlevellanguageprogrammershowtheirprogramsareconvertedtoassemblylanguage,andhowthegeneratedassemblylanguagecodecanbetweakedThatsaid,themainaudienceforthisbookisprogrammersalreadyfamiliarwithahighlevellanguage,suchasC,C,orevenJavaThisbookdoesnotspendmuchtimeteachingbasicprogrammingprinciplesItassumesthatyouarealreadyfamiliarwiththebasicsofcomputerprogramming,andareinterestedinlearningassemblylanguagetounderstandwhatishappeningunderneaththehoodHowever,ifyouarenewtoprogrammingandarelookingatassemblylanguageprogrammingasaplacetostart,thisbookdoesnottotallyignoreyouItispossibletofollowalonginthechaptersfromthestarttothefinishandobtainabasicknowledgeofhowassemblylanguageprogramming(andprogrammingingeneral)worksEachofthetopicspresentedincludesexamplecodethatdemonstrateshowtheassemblylanguageinstructionsworkIfyouarecompletelynewtoprogramming,Ire

类似资料

编辑推荐

稀土光学玻璃-11067543.pdf

左氏春秋考证·刘逢禄.pdf

量子纠缠初探.ppt

意气功详解+五养秘诀(王贤宾+[清]吴.pdf

气功金玉集.pdf

职业精品

精彩专题

上传我的资料

精选资料

热门资料排行换一换

  • 修辞学导论.pdf

  • 发现者——人类探索世界和自我的历…

  • 阿多诺 论音乐 Adorno -…

  • 八仙得道.PDF

  • 中国佛教哲学要义[全2卷](方立…

  • 论语译注(杨伯峻).pdf

  • 热奈特论文集.pdf

  • 河洛精蕴 (关于河图洛书的研究)…

  • 黄庭经.pdf

  • 资料评价:

    / 577
    所需积分:1 立即下载

    意见
    反馈

    返回
    顶部