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 209 - Courbis, acteur de l'Internet depuis 1988
Section prcdente : Programming in Machine Language Page prcdente Sommaire Page suivante Section suivante : Notice

Programming in Machine Language

(c) Courbis www.courbis.fr   209h 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  .  returnsthenewobjectaswellasanS,externalT^whichisnotusefulhere. Weneedtoremove4blocksof5nibbles,soweneedasystembinary equalto4.Suchanobjectisstoredat#04017h.Therefore,the transformationfromGROBtoobjectcanbedoneby: #4017h SYSEVAL#56B6hSYSEVALDROPThefirstSYSEVALrecalls thesystembinarytothestack,andthesecondSYSEVALperformsthe transformation.Thelastthingtodoistorecreatetheobjectinsuchaway thatthepointertoit(onthestack)isreallypointingtotheobjectitself,and notitscontents.ThisisdoneeasilywiththeNEWOBfunctionwhich recreatestheobjectinlevel1ofthestack,andmodifiesallnecessary pointers.  WenowhavethefinalversionoftheprogramGASS(GraphicASSembler): GASS(#1DB3h)  n''GROB8'OVERSIZE2/+''+SWAP+OBJO #4017hSYSEVAL#56B6hSYSEVALDROPNEWOB z.  Thisprogramisquitefast;thetransformationfromhexadecimaldigitsto nibblesisdonebymachinelanguageroutinesfoundinROM.However, thoseroutinesalsoperformverificationsandcalculationsthatslowdown theprocessalittle.AfasterversionofGASS,writtenentirelyinmachine language,isgiveninthe LibraryofPrograms (calledRASS).  LetS^strythisprogramtocreateasmallobject.(Note:Tomakethiscode morereadable,itispresentedinblocksof5digits,butthesespacesare notpartofthecode.YoumustenterthiscodeinacontiguousmannerU* nospaces,nonewlines).Hereisthecodelistingforasmallobject:  C2A20B10007556C6C60246F6E6560212  Tocodethisobject,justenterthecodeasacharacterstring(withno spaces,nonewlines): 'C2A20B10007556C6C60246F6E6560212' Thenexecute GASS.Acoupleofsecondslater,theobjectisonthe stack.Nowthatyouknowhowtocreateanyobject,youcanseehowto createmachinelanguageprograms.Inwritingsuchprograms,you shouldal-waysremembertheseimportantpoints:  15.ProgramminginMachineLanguage  PM65-004.p65 11/07/2001,08:46209
Section prcdente : Programming in Machine Language Page prcdente 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.
ipv6 ready ipv6 test
Suivre ce site :
Recommander cette page :
Bookmark and Share
Traduire :