De beweging van gegevens
Ik maak een lijst hier van sommige assembleertaalinstructies voor gegevensverrichtingen voor uw kennis en het gemak, wanneer wij programmering zullen doen met behulp van onderbreekt en andere BIOS verrichtingen wij zijn grondbeginselen nodig zullen hebben.
De gedetailleerde inleiding en de grondige studie van assembleertaal zijn voorbij de grens van dit boek. Hoewel de kennis van grondbeginselen van assemblage noodzakelijk om in de verdere belangrijke programmeringshoofdstukken is nog te werk te gaan als u het moeilijk voelt om alle Instructies te begrijpen, te hoeven u niet zich ongerust te maken maar men adviseert dat u het basisidee van Instructies zou moeten bereiken.
In om het even welk programma is het noodzakelijk om de gegevens in het geheugen te bewegen en in de registers van cpu en er zijn verscheidene manieren om dit te doen. het kan gegevens in het geheugen aan één of ander register, van register aan register, van een register aan een stapel, van een stapel aan een register kopiëren, om gegevens aan externe apparaten over te brengen evenals vice versa.
Deze beweging van gegevens is onderworpen aan regels en beperkingen. Het volgende is wat van hen:
- Het is niet mogelijk om gegevens van één geheugenplaats aan een andere direct te bewegen. Het is noodzakelijk aan eerst beweegt de gegevens van de bronplaats aan een register en dan van het register aan de bestemmingsplaats.
- Het is niet mogelijk om een constante naar een segmentregister rechtstreeks te verplaatsen; het moet eerst naar een register in cpu worden verplaatst.
- Het is mogelijk om gegevensblokken door middel van de Instructies te bewegen MOVS, wat een ketting van bytes of woorden kopiëert. MOCSB die nbytes van één plaats aan een ander en Movsw- exemplarenn woorden van één plaats aan een andere kopiëert. De laatste twee Instructies nemen de waarden van de bepaalde adressen door DS:SI als groep gegevens zich en ES:DI als nieuwe localisatie van de gegevens te bewegen.
Om gegevens te bewegen zijn er ook structuren genoemd batterijen, waar het gegeven met de duwinstructie wordt voorgelegd en met de pop Instructie gehaald. In een stapel zijn de eerste gegevens die moeten worden voorgelegd laatste wij kunnen nemen, is dit, als in ons programma wij deze Instructies gebruiken:
PUSH AX
PUSH BX
PUSH CX
De correcte waarden aan elk register terugkeren op het ogenblik van het nemen van hen uit de stapel is het noodzakelijk om het in de volgende orde te doen:
POP CX
POP BX
POP AX
Voor de communicatie met externe apparaten wordt het uit bevel gebruikt om informatie naar een haven te verzenden en beveel binnen om de informatie te lezen die van een haven wordt ontvangen.
De syntaxis van het UIT bevel is:
OUT DX,AX
Waar DX bevat bevat de waarde van de haven die voor de mededeling en de BIJL zal worden gebruikt de informatie die zal worden verzonden.
De syntaxis van het BINNEN bevel is:
IN AX,DX
Waar de BIJL het register is waar de inkomende informatie zal worden gehouden en DX bevat het adres van de haven waardoor de informatie zal aankomen.
|