Accueil > Réalisations > Publications > Ouvrages > Ouvrages sur la HP48 s/sx > HP48 Machine Language - A Journey to the Center of the HP48 s/sx - Read the (...)

HP48 Machine Language - A Journey to the Center of the HP48 s/sx - Read the book online

mardi 12 juin 2007, par Paul Courbis

If you don’t want to download the book, you can read it online here...

A paper version of this book is avalable via Amazon !

hp48ml - page 210 - Courbis, acteur de l'Internet depuis 1988
Section précédente : Programming in Machine Language Page précédente Sommaire Page suivante Section suivante : Notice

Programming in Machine Language

(c) Courbis www.courbis.fr   210 PARTTWO:M ACHINELANGUAGEh  ttp:  //ww  w.c  our  bis.  com  PD Ff iles  av aila  ble on htt p:// ww  w.c our bis .co m-  Re dis trib  utio  no rm irro rin gs tric  tly pro hib ited  .  ' Thecontentsofcertainregisters :  - D0isthepointertothenextobjecttobeexecuted(afterthe  machinelanguageprogram).Tocontinuetothenextobject afterthemachinelanguageprogramhasfinished,dothis: A=DAT0A,D0=D0+5,PC=(A)(codedas142164808C).  - D1isthestackpointer.IfweexecuteA=DAT1A,fieldAof  registerAcontainstheaddressoftheobjectinlevel1.Ifwe incrementD1by5(D1=D1+5)thenwemovetolevel2(atthis point,theinstructionA=DAT1Awillplacetheaddressofthe objectinlevel2into Afield A).  - BcontainstheaddressofthereturnstackendU*nottoouseful. - Dcontainstheamountoffreememoryinnumberof5nibble  blocks(thesamesizeasthestacklevels).  Unlessyouintendtochangethem,these4registersmustbe restoredtotheiroriginalvaluesbeforeendingtheprogramvia 142164808C.Torestorethem,hereare2usefulroutines:  - SAVE.REG,ataddress#0679Bh(calledwithaGOSBVL  #0679B)savestheseregistersinthereservedRAM.  - LOAD.REG,ataddress#067D2h(calledwithaGOSBVL  #067D2)restorestheregistervaluespreviouslysaved.  ' Thestructuresoftheobjects:Totakeanobjectfromthestack,you  mustknowitsinternalstructuretohandleitproperly.Also,including HP48objectsinyourprogramletsyouprofitfromtheRPLfunctions.  ' TheRAMstructure:ThisisamustifyoueverneedtoaccessRAM.  YoucanalsocallroutinesfoundinROM(e.g.SAVE.REGandLOAD.REG). OneofthebestexercisesinapplyingPartTwoistoanalyzethemachine lan-guageprogramsinthe LibraryofPrograms ,ortodisassemble certainroutinesinROM.  Thenextstepistowriteyourownmachinelanguageprograms.Startwith simpleideas.Forexample,totestthespeedofmachinelanguagepro- grams,youmightcomparetheexecutionspeedsoftwoprograms,onein machinelanguage,oneinRPL.Thistestcouldbetwoprogramsthatsim- plycountto1000(11000STARTNEXT).  PM65-004.p65 11/07/2001,08:46210
Section précédente : Programming in Machine Language Page précédente Sommaire Page suivante Section suivante : Notice
© Courbis 1988-2010
Tous droits réservés
Permalien
Faire un don avec Paypal Le livre est entièrement gratuit mais vous pouvez
avec Paypal pour participer aux frais d'hébergement de ce site... Merci !

Messages

Un message, un commentaire ?

modération a priori

Ce forum est modéré a priori : votre contribution n’apparaîtra qu’après avoir été validée par un administrateur du site.

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Les spams donneront systématiquement lieu à dépôt de plainte. Les messages peu aimables ou comportant trop de fautes d'orthographe seront purement et simplement supprimés sans publication. Aucune obligation de publication ne pourra être opposée au webmaster, sauf éventuel droit de réponse dûment justifié.
ipv6 ready ipv6 test
Suivre ce site :
Recommander cette page :
Bookmark and Share
Traduire :