首页 Tutorial Assembler

Tutorial Assembler

举报
开通vip

Tutorial AssemblerAssmblyLanguagTutor:ConrtdtoHTMLby:CamronBuschardtUnirsityofGuadalajaraInformationSistmsGnralCoordination.CulturandEntrtainmntWbJun12th1995Copyright(C)19951996Thisisanintroductionforpoplwhowanttoprogramminginassmblrlanguag.Copyright(C)19951996,HugoPrzPrz.Anyon...

Tutorial Assembler
AssmblyLanguagTutor:ConrtdtoHTMLby:CamronBuschardtUnirsityofGuadalajaraInformationSistmsGnralCoordination.CulturandEntrtainmntWbJun12th1995Copyright(C)19951996Thisisanintroductionforpoplwhowanttoprogramminginassmblrlanguag.Copyright(C)19951996,HugoPrzPrz.Anyonmayrproducthisdocumnt,inwholorinpart,proiddthat:(1)anycopyorrpublicationofthntirdocumntmustshowUnirsityodGuadalajaraasthsourc,andmustincludthisnotic;and(2)anyothrusofthismatrialmustrfrncthismanualandUnirsityofGuadalajara,andthfactthatthmatrialiscopyrightbyHugoPrzandisusdbyprmission.AssmblrTutorial1996EditionTablofContnts1Introduction2BasicConcpts3Assmblrprogramming4Assmblrlanguaginstructions5Intrruptionsandfilmanaging6Macrosandprocdurs7Programxampls1IntroductionTablofcontnts1.1What'snwinthAssmblrmatrial1.2Prsntation1.3WhylarnAssmblrlanguag1.4Wndyouropinion1.1What'snwinthAssmblrmatrialAftrofonyarthatw'rlasdthfirstAssmblrmatrialonlin.W'rcidalotofmailwhrachpopltalkaboutdiffrntaspctsaboutthismatrial.W'tridtoputthscommntsandsuggstionsinthisupdatassmblrmatrial.WhopthatthisnwAssmblrmatrialrlasrachtoallpoplthatthyintrsttolarnthmostimportantlanguagforIBMPC.Inthisnwassmblrrlasincluds:AcompltchaptrabouthowtousdbugprogramMorxamplofthassmblrmatrialEachsctionofthisassmblrmatrialincludsalinkfiltoFrOnlinofComputingbyDnnisHowFinally,asarchngintolookforanytopicoritmrlatdwiththisupdatdmatrial.1.2PrsntationThdocumntyouarlookingat,hasthprimordialfunctionofintroducingyoutoassmblylanguagprogramming,andithasbnthoughtforthospoplwhohanrworkdwiththislanguag.Thtutorialiscompltlyfocusdtowardsthcomputrsthatfunctionwithprocssorsofthx86familyofIntl,andconsidringthatthlanguagbassitsfunctioningonthintrnalrsourcsofthprocssor,thdscribdxamplsarnotcompatiblwithanyothrarchitctur.Thinformationwasstructurdinunitsinordrtoallowasyaccsstoachofthtopicsandfacilitatthfollowingofthtutorial.Inthintroductorysctionsomofthlmntalconcptsrgardingcomputrsystmsarmntiond,alongwiththconcptsofthassmblylanguagitslf,andcontinuswiththtutorialitslf.1.3WhylarnassmblrlanguagThfirstrasontoworkwithassmblristhatitproidsthopportunityofknowingmorthoprationofyourPC,whichallowsthdlopmntofsoftwarinamorconsistntmannr.ThscondrasonisthtotalcontrolofthPCwhichyoucanhawiththusofthassmblr.Anothrrasonisthatthassmblyprogramsarquickr,smallr,andhalargrcapacitisthanonscratdwithothrlanguags.Lastly,thassmblrallowsanidaloptimizationinprograms,bitonthirsizoronthirxcution.1.4WndyouropinionOurgoalisoffrsyouasirwaytolarnyourslfassmblrlanguag.Yousndusyourcommntsorsuggstionsaboutthis96'dition.Anycommntwillbwlcom.2BasicConcptsTablofContnts2.1Basicdscriptionofacomputrsystm.2.2AssmblrlanguagBasicconcpts2.3Usingdbugprogram2.1Basicdscriptionofacomputrsystm.Thissctionhasthpurposofgiingabrifoutlinofthmaincomponntsofacomputrsystmatabasicll,whichwillallowthusragratrundrstandingofthconcptswhichwillbdaltwiththroughoutthtutorial.TablofContnts2.1.1CntralProcssor2.1.2CntralMmory2.1.3InputandOutputUnits2.1.4AuxiliaryMmoryUnitsComputrSystm.Wcallcomputrsystmtothcompltconfigurationofacomputr,includingthpriphralunitsandthsystmprogrammingwhichmakitausfulandfunctionalmachinforadtrmindtask.2.1.1CntralProcssor.ThispartisalsoknownascntralprocssingunitorCPU,whichinturnismadbythcontrolunitandtharithmticandlogicunit.Itsfunctionsconsistinradingandwritingthcontntsofthmmoryclls,toforwarddatabtwnmmorycllsandspcialrgistrs,anddcodandxcutthinstructionsofaprogram.Thprocssorhasasrisofmmorycllswhicharusdryoftnandthus,arpartofthCPU.Thscllsarknownwiththnamofrgistrs.Aprocssormayhaonortwodoznofthsrgistrs.TharithmticandlogicunitofthCPUralizsthoprationsrlatdwithnumricandsymboliccalculations.Typicallythsunitsonlyhacapacityofprformingrylmntaloprationssuchas:thadditionandsubtractionoftwowholnumbrs,wholnumbrmultiplicationanddiision,handlingofthrgistrs'bitsandthcomparisonofthcontntoftworgistrs.Prsonalcomputrscanbclassifidbywhatisknownaswordsiz,thisis,thquantityofbitswhichthprocssorcanhandlatatim.2.1.2CntralMmory.Itisagroupofclls,nowbingfabricatdwithsmiconductors,usdforgnralprocsss,suchasthxcutionofprogramsandthstoragofinformationforthoprations.Eachonofthscllsmaycontainanumricaluandthyhathproprtyofbingaddrssabl,thisis,thatthycandistinguishonfromanothrbymansofauniqunumbroranaddrssforachcll.ThgnricnamofthsmmorisisRandomAccssMmoryorRAM.Thmaindisadantagofthistypofmmoryisthatthintgratdcircuitslosthinformationthyhastordwhnthlctricityflowisintrruptd.Thiswasthrasonforthcrationofmmoriswhosinformationisnotlostwhnthsystmisturndoff.ThsmmorisrcithnamofRadOnlyMmoryorROM.2.1.3InputandOutputUnits.Inordrforacomputrtobusfultousitisncssarythatthprocssorcommunicatswiththxtriorthroughintrfacswhichallowthinputandoutputofinformationfromthprocssorandthmmory.Throughthusofthscommunicationsitispossibltointroducinformationtobprocssdandtolatrisualizthprocssddata.Somofthmostcommoninputunitsarkyboardsandmic.Thmostcommonoutputunitsarscrnsandprintrs.2.1.4AuxiliaryMmoryUnits.Sincthcntralmmoryofacomputriscostly,andconsidringtoday'sapplicationsitisalsorylimitd.Thus,thndtocratpracticalandconomicalinformationstoragsystmsariss.Bsids,thcntralmmorylossitscontntwhnthmachinisturndoff,thrformakingitinconnintforthprmanntstoragofdata.Thsandothrinconnincgiplacforthcrationofpriphralunitsofmmorywhichrcithnamofauxiliaryorscondarymmory.Ofthsthmostcommonarthtapsandmagnticdiscs.Thstordinformationonthsmagnticmdiamansrcithnamoffils.Afilismadofaariablnumbrofrgistrs,gnrallyofafixdsiz;thrgistrsmaycontaininformationorprograms.2.2AssmblrlanguagBasicconcptsTablofContnts2.2.1Informationinthcomputrs2.2.2Datarprsntationmthods2.2.1Informationinthcomputrs2.2.1.1Informationunits2.2.1.2Numricsystms2.2.1.3Conrtingbinarynumbrstodcimal2.2.1.4Conrtingdcimalnumbrstobinary2.2.1.5Hxadcimalsystm2.2.1.1InformationUnitsInordrforthPCtoprocssinformation,itisncssarythatthisinformationbinspcialcllscalldrgistrs.Thrgistrsargroupsof8or16flipflops.Aflipflopisadiccapablofstoringtwollsofoltag,alowon,rgularly0.5olts,andanothron,commonlyof5olts.Thlowllofnrgyinthflipflopisintrprtdasoffor0,andthhighllasonor1.Thsstatsarusuallyknownasbits,whicharthsmallstinformationunitinacomputr.Agroupof16bitsisknownasword;awordcanbdiiddingroupsof8bitscalldbyts,andthgroupsof4bitsarcalldnibbls.2.2.1.2NumricsystmsThnumricsystmwusdailyisthdcimalsystm,butthissystmisnotconnintformachinssincthinformationishandldcodifidinthshapofonoroffbits;thiswayofcodifyingtaksustothncssityofknowingthpositionalcalculationwhichwillallowustoxprssanumbrinanybaswhrwndit.Itispossibltorprsntadtrmindnumbrinanybasthroughthfollowingformula:Whrnisthpositionofthdigitbginningfromrighttolftandnumbringfromzro.DisthdigitonwhichwopratandBisthusdnumricbas.2.2.1.3conrtingbinarynumbrstodcimalsWhnworkingwithassmblylanguagwcomonthncssityofconrtingnumbrsfromthbinarysystm,whichisusdbycomputrs,tothdcimalsystmusdbypopl.Thbinarysystmisbasdononlytwoconditionsorstats,biton(1)oroff(0),thusitsbasistwo.Forthconrsionwcanusthpositionalaluformula:Forxampl,ifwhathbinarynumbrof10011,wtakachdigitfromrighttolftandmultiplyitbythbas,latdtothnwpositionthyar:Binary:11001Dcimal:120+121+022+023+124=1+2+0+0+16=19dcimal.Thcharactrisusdincomputationasanxponntsymbolandthcharactrisusdtorprsntmultiplication.2.2.1.4ConrtingdcimalnumbrstobinaryThrarsralmthodstoconrtdcimalnumbrstobinary;onlyonwillbanalyzdhr.Naturallyaconrsionwithascintificcalculatorismuchasir,butoncannotalwayscountwithon,soitisconninttoatlastknowonformulatodoit.Thmthodthatwillbxplaindussthsuccssidiisionoftwo,kpingthrsiduasabinarydigitandthrsultasthnxtnumbrtodiid.Ltustakforxamplthdcimalnumbrof43.432=21anditsrsiduis1212=10anditsrsiduis1102=5anditsrsiduis052=2anditsrsiduis122=1anditsrsiduis012=0anditsrsiduis1Buildingthnumbrfromthbottom,wgtthatthbinaryrsultis1010112.2.1.5HxadcimalsystmOnthhxadcimalbaswha16digitswhichgofrom0to9andfromthlttrAtothF,thslttrsrprsntthnumbrsfrom10to15.Thuswcount0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,andF.Thconrsionbtwnbinaryandhxadcimalnumbrsisasy.Thfirstthingdontodoaconrsionofabinarynumbrtoahxadcimalistodiiditingroupsof4bits,bginningfromthrighttothlft.Incasthlastgroup,thonmosttothlft,isundr4bits,thmissingplacsarfilldwithzros.Takingasanxamplthbinarynumbrof101011,wdiiditin4bitsgroupsandwarlftwith:10;1011Fillingthlastgroupwithzros(thonfromthlft):0010;1011Aftrwardswtakachgroupasanindpndntnumbrandwconsidritsdcimalalu:0010=2;1011=11Butsincwcannotrprsntthishxadcimalnumbras211bcausitwouldbanrror,whatosubstitutallthalusgratrthan9bythirrspctirprsntationinhxadcimal,withwhichwobtain:2BH,whrthHrprsntsthhxadcimalbas.Inordrtoconrtahxadcimalnumbrtobinaryitisonlyncssarytoinrtthstps:thfirsthxadcimaldigitistaknandconrtdtobinary,andthnthscond,andsoon.2.2.2Datarprsntationmthodsinacomputr.2.2.2.1.ASCIIcod2.2.2.2BCDmthod2.2.2.3Floatingpointrprsntation2.2.2.1ASCIIcodASCIIisanacronymofAmricanStandardCodforInformationIntrchang.Thiscodassignsthlttrsofthalphabt,dcimaldigitsfrom0to9andsomadditionalsymbolsabinarynumbrof7bits,puttingth8thbitinitsoffstator0.Thiswayachlttr,digitorspcialcharactroccupisonbytinthcomputrmmory.Wcanobsrthatthismthodofdatarprsntationisryinfficintonthnumricaspct,sincinbinaryformatonbytisnotnoughtorprsntnumbrsfrom0to255,butonthothrhandwiththASCIIcodonbytmayrprsntonlyondigit.Dutothisinfficincy,thASCIIcodismainlyusdinthmmorytorprsnttxt.2.2.2.2BCDMthodBCDisanacronymofBinaryCoddDcimal.Inthisnotationgroupsof4bitsarusdtorprsntachdcimaldigitfrom0to9.Withthismthodwcanrprsnttwodigitsprbytofinformation.EnwhnthismthodismuchmorpracticalfornumbrrprsntationinthmmorycompardtothASCIIcod,itstilllsspracticalthanthbinarysincwiththBCDmthodwcanonlyrprsntdigitsfrom0to99.Onthothrhandinbinaryformatwcanrprsntalldigitsfrom0to255.Thisformatismainlyusdtorprsntrylargnumbrsinmrcantilapplicationssincitfacilitatsoprationsaoidingmistaks.2.2.2.3FloatingpointrprsntationThisrprsntationisbasdonscintificnotation,thisis,torprsntanumbrintwoparts:itsbasanditsxponnt.Asanxampl,thnumbr1234000,canbrprsntdas1.123106,inthislastnotationthxponntindicatstousthnumbrofspacsthatthdcimalpointmustbmodtothrighttoobtainthoriginalrsult.Incasthxponntwasngati,itwouldbindicatingtousthnumbrofspacsthatthdcimalpointmustbmodtothlfttoobtainthoriginalrsult.2.3UsingDbugprogramTablofContnts2.3.1Programcrationprocss2.3.2CPUrgistrs2.3.3Dbugprogram2.3.4Assmblrstructur2.3.5Cratingbasicassmblrprogram2.3.6Storingandloadingthprograms2.3.7Mordbugprogramxampls2.31ProgramcrationprocssForthcrationofaprogramitisncssarytofollowfistps:Dsignofthalgorithm,stagthproblmtobsoldisstablishdandthbstsolutionisproposd,cratingsqumaticdiagramsusdforthbttrsolutionproposal.Codingthalgorithm,consistsinwritingthprograminsomprogramminglanguag;assmblylanguaginthisspcificcas,takingasabasthproposdsolutiononthpriorstp.Translationtomachinlanguag,isthcrationofthobjctprogram,inothrwords,thwrittnprogramasasquncofzrosandonsthatcanbintrprtdbythprocssor.Tstthprogram,aftrthtranslationthprogramintomachinlanguag,xcutthprograminthcomputrmachin.Thlaststagisthliminationofdtctdfaultsonthprogramonthtststag.Thcorrctionofafaultnormallyrquirsthrptitionofallthstpsfromthfirstorscond.2.3.2CPURgistrsThCPUhas4intrnalrgistrs,achonof16bits.Thfirstfour,AX,BX,CX,andDXargnralusrgistrsandcanalsobusdas8bitrgistrs,ifusdinsuchawayitisncssarytorfrtothmforxamplas:AHandAL,whicharthhighandlowbytsofthAXrgistr.ThisnomnclaturisalsoapplicabltothBX,CX,andDXrgistrs.Thrgistrsknownbythirspcificnams:AXAccumulatorBXBasrgistrCXCountingrgistrDXDatargistrDSDatasgmntrgistrESExtrasgmntrgistrSSBattrysgmntrgistrCSCodsgmntrgistrBPBaspointrsrgistrSISourcindxrgistrDIDstinyindxrgistrSPBattrypointrrgistrIPNxtinstructionpointrrgistrFFlagrgistr2.3.3DbugprogramTocrataprograminassmblrtwooptionsxist,thfirstonistousthTASMorTurboAssmblr,ofBorland,andthscondonistousthdbuggronthisfirstsctionwwillusthislastonsincitisfoundinanyPCwiththMSDOS,whichmaksitaailabltoanyusrwhohasaccsstoamachinwiththscharactristics.Dbugcanonlycratfilswitha.COMxtnsion,andbcausofthcharactristicsofthskindsofprogramsthycannotblargrthat64kb,andthyalsomuststartwithdisplacmnt,offst,or0100Hmmorydirctioninsidthspcificsgmnt.Dbugproidsastofcommandsthatltsyouprformanumbrofusfuloprations:AAssmblsymbolicinstructionsintomachincodDDisplaythcontntsofanaraofmmoryEEntrdataintommory,bginningataspcificlocationGRunthxcutablprograminmmoryNNamaprogramPProcd,orxcutastofrlatdinstructionsQQuitthdbugprogramRDisplaythcontntsofonormorrgistrsTTracthcontntsofoninstructionUUnassmbldmachincodintosymboliccodWWritaprogramontodiskItispossibltoisualizthalusofthintrnalrgistrsofthCPUusingthDbugprogram.TobginworkingwithDbug,typthfollowingpromptinyourcomputr:C:>Dbug[Entr]Onthnxtlinadashwillappar,thisisthindicatorofDbug,atthismomntthinstructionsofDbugcanbintroducdusingthfollowingcommand:r[Entr]AX=0000BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0D62ES=0D62SS=0D62CS=0D62IP=0100NVEIPLNZNAPONC0D62:01002ECS:0D62:0101803ED3DF00CMPBYTEPTR[DFD3],00CS:DFD3=03AllthcontntsofthintrnalrgistrsofthCPUardisplayd;analtrnatiofiwingthmistousthrcommandusingasaparamtrthnamofthrgistrwhosaluwantstobsn.Forxampl:rbxBX0000:ThisinstructionwillonlydisplaythcontntofthBXrgistrandthDbugindicatorchangsfromto:Whnthpromptislikthis,itispossibltochangthaluofthrgistrwhichwassnbytypingthnwaluand[Entr],ortholdalucanblftbyprssing[Entr]withouttypinganyothralu.2.3.4AssmblrstructurInassmblylanguagcodlinshatwoparts,thfirstonisthnamofthinstructionwhichistobxcutd,andthscondonarthparamtrsofthcommand.Forxampl:addahbhHraddisthcommandtobxcutd,inthiscasanaddition,andahaswllasbharthparamtrs.Forxampl:moal,25Inthaboxampl,warusingthinstructionmo,itmansmothalu25toalrgistr.Thnamofthinstructionsinthislanguagismadoftwo,throrfourlttrs.Thsinstructionsaralsocalldmnmonicnamsoroprationcods,sincthyrprsntafunctionthprocssorwillprform.Somtimsinstructionsarusdasfollows:addal,[170]Thbracktsinthscondparamtrindicattousthatwargoingtoworkwiththcontntofthmmorycllnumbr170andnotwithth170alu,thisisknownasdirctaddrssing.2.3.5CratingbasicassmblrprogramThfirststpistoinitiatthDbug,thisstponlyconsistsoftypingdbug[Entr]onthopratisystmprompt.ToassmblaprogramonthDbug,tha(assmbl)commandisusd;whnthiscommandisusd,thaddrsswhryouwantthassmblingtobgincanbginasaparamtr,ifthparamtrisomittdthassmblingwillbinitiatdatthlocalityspcifidbyCS:IP,usually0100h,whichisthlocalitywhrprogramswith.COMxtnsionmustbinitiatd.AnditwillbthplacwwillussinconlyDbugcancratthisspcifictypofprograms.Enthoughatthismomntitisnotncssarytogithacommandaparamtr,itisrcommndabltodosotoaoidproblmsoncthCS:IPrgistrsarusd,thrforwtyp:a100[ntr]moax,0002[ntr]mobx,0004[ntr]addax,bx[ntr]nop[ntr][ntr]Whatdosthprogramdo?,mothalu0002tothaxrgistr,mothalu0004tothbxrgistr,addthcontntsofthaxandbxrgistrs,thinstruction,noopration,tofinishthprogram.Inthdbugprogram.Aftrtodothis,apparonthscrnsomlikthfollowlins:C:\>dbuga1000D62:0100moax,00020D62:0103mobx,00040D62:0106addax,bx0D62:0108nop0D62:0109Typthcommandt(trac),toxcutachinstructionofthisprogram,xampl:tAX=0002BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0D62ES=0D62SS=0D62CS=0D62IP=0103NVEIPLNZNAPONC0D62:0103BB0400MOVBX,0004Yousthatthalu2motoAXrgistr.Typthcommandt(trac),again,andyousthscondinstructionisxcutd.tAX=0002BX=0004CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0D62ES=0D62SS=0D62CS=0D62IP=0106NVEIPLNZNAPONC0D62:010601D8ADDAX,BXTypthcommandt(trac)tosthinstructionaddisxcutd,youwillsthfollowlins:tAX=0006BX=0004CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0D62ES=0D62SS=0D62CS=0D62IP=0108NVEIPLNZNAPENC0D62:010890NOPThpossibilitythatthrgistrscontaindiffrntalusxists,butAXandBXmustbthsam,sincthyarthonswjustmodifid.ToxitDbugusthq(quit)command.2.3.6StoringandloadingthprogramsItwouldnotsmpracticaltotypanntirprogramachtimitisndd,andtoaoidthisitispossibltostoraprogramonthdisk,withthnormousadantagthatbybingalradyassmblditwillnotbncssarytorunDbugagaintoxcutit.Thstpstosaaprogramthatitisalradystordonmmoryar:Obtainthlngthofthprogramsubtractingthfinaladdrssfromthinitialaddrss,naturallyinhxadcimalsystm.Githprogramanamandxtnsion.PutthlngthofthprogramonthCXrgistr.OrdrDbugtowritthprogramonthdisk.Byusingasanxamplthfollowingprogram,wwillhaaclarridaofhowtotakthsstps:Whnthprogramisfinallyassmblditwouldlooklikthis:0C1B:0100moax,00020C1B:0103mobx,00040C1B:0106addax,bx0C1B:0108int200C1B:010AToobtainthlngthofaprogramthhcommandisusd,sincitwillshowusthadditionandsubtractionoftwonumbrsinhxadcimal.Toobtainthlngthofours,wgiitasparamtrsthaluofourprogram'sfinaladdrss(10A),andthprogram'sinitialaddrss(100).Thfirstrsultthcommandshowsusisthadditionofthparamtrsandthscondisthsubtraction.h10a100020a000aThncommandallowsustonamthprogram.ntst.comThrcxcommandallowsustochangthcontntofthCXrgistrtothaluwobtaindfromthsizofthfilwithh,inthiscas000a,sincthrsultofthsubtractionofthfinaladdrssfromthinitialaddrss.rcxCX0000:000aLastly,thwcommandwritsourprogramonthdisk,indicatinghowmanybytsitwrot.wWriting000AbytsTosaanalradyloaddfiltwostpsarncssary:Githnamofthfiltobloadd.Loaditusingthl(load)command.Toobtainthcorrctrsultofthfollowingstps,itisncssarythatthaboprogrambalradycratd.InsidDbugwwritthfollowing:ntst.comlu1001090C3D:0100B80200MOVAX,00020C3D:0103BB0400MOVBX,00040C3D:010601D8ADDAX,BX0C3D:0108CD20INT20Thlastucommandisusdtorifythatthprogramwasloaddonmmory.Whatitdosisthatitdisassmblsthcodandshowsitdisassmbld.ThparamtrsindicattoDbugfromwhrandtowhrtodisassmbl.Dbugalwaysloadsthprogramsonmmoryonthaddrss100H,othrwisindicatd.3AssmblrprogrammingTablofContnts3.1BuildingAssmblrprograms3.2Assmblyprocss3.3Morassmblrprograms3.4Typsofinstructions3.5Clickhrtogtmorassmblrprograms3.1BuildingAssmblrprograms3.1.1Nddsoftwar3.1.2AssmblrProgramming3.1.1NddsoftwarInordrtobabltocrataprogram,sraltoolsarndd:Firstanditortocratthsourcprogram.Scondacompilr,whichisnothingmorthanaprogramthattranslatsthsourcprogramintoanobjctprogram.Andthird,alinkrthatgnratsthxcutablprogramfromthobjctprogram.Thditorcanbanytxtditorathand,andasacompilrwwillusthTASMmacroassmblrfromBorland,andasalinkrwwillusthTlinkprogram.ThxtnsionusdsothatTASMrcognizsthsourcprogramsinassmblris.ASM;onctranslatdthsourcprogram,thTASMcratsafilwithth.OBJxtnsion,thisfilcontainsanintrmdiatformatofthprogram,calldlikthisbcausitisnotxcutablytbutitisnotaprograminsourclanguagithranymor.Thlinkrgnrats,froma.OBJoracombinationofsralofthsfils,anxcutablprogram,whosxtnsionusuallyis.EXEthoughitcanalsob.COM,dpndingofthformitwasassmbld.3.1.2AssmblrProgrammingTobuildassmblrprogramsusingTASMprogramsisadiffrntprogramstructurthanfromusingdbugprogram.It'simportanttoincludthfollowingassmblrdirctis:.MODELSMALLAssmblrdirctithatdfinsthmmorymodltousinthprogram.CODEAssmblrdirctithatdfinsthprograminstructions.STACKAssmblrdirctithatrsrsammoryspacforprograminstructionsinthstackENDAssmblrdirctithatfinishsthassmblrprogramLt'sprogramFirststpusanyditorprogramtocratthsourcfil.Typthfollowinglins:firstxampl;us;toputcommntsinthassmblrprogram.MODELSMALL;mmorymodl.STACK;mmoryspacforprograminstructionsinthstack.CODE;thfollowinglinsarprograminstructionsmoah,1h;mosthalu1htorgistrahmocx,07h;mosthalu07htorgistrcxint10h;10hintrruptionmoah,4ch;mosthalu4chtorgistrahint21h;21hintrruptionEND;finishsthprogramcodThisassmblrprogramchangsthsizofthcomputrcursor.ScondstpSathfilwiththfollowingnam:xamp1.asmDon'tforgttosathisinASCIIformat.ThirdstpUsthTASMprogramtobuildthobjctprogram.Exampl:C:\>tasmxam1.asmTurboAssmblrVrsion2.0Copyright(c)1988,1990BorlandIntrnationalAssmblingfil:xam1.asmErrormssags:NonWarningmssags:NonPasss:1Rmainingmmory:471kThTASMcanonlycratprogramsin.OBJformat,whicharnotxcutablbythmsls,butrathritisncssarytohaalinkrwhichgnratsthxcutablcod.FourthstpUsthTLINKprogramtobuildthxcutablprogramxampl:C:\>tlinkxam1.objTurboLinkVrsion3.0Copyright(c)1987,1990BorlandIntrnationalC:\>Whrxam1.objisthnamofthintrmdiatprogram,.OBJ.Thisgnratsafildirctlywiththnamofthintrmdiatprogramandth.EXExtnsion.FifthstpExcutthxcutablprogramC:\>xam1[ntr]Rmmbr,thisassmblrprogramchangsthsizofthcursor.Assmblyprocss.SgmntsTablofsymbolsSEGMENTSTharchitcturofthx86procssorsforcstothusofmmorysgmntstomanagthinformation,thsizofthssgmntsisof64kb.Thrasonofbingofthssgmntsisthat,considringthatthmaximumsizofanumbrthatthprocssorcanmanagisginbyawordof16bitsorrgistr,itwouldnotbpossibltoaccssmorthan65536localitisofmmoryusingonlyonofthsrgistrs,butnow,ifthPC'smmoryisdiiddin
本文档为【Tutorial Assembler】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_790730
暂无简介~
格式:doc
大小:272KB
软件:Word
页数:0
分类:互联网
上传时间:2016-12-27
浏览量:29