De 8085-microprocessor gebruikt drie hoofdtypen instructieformaten:
1. Instructie van één byte: Deze instructies bestaan uit één byte en bevatten alleen de opcode. Dit zijn doorgaans eenvoudige instructies, zoals NOP (geen bewerking), HLT (halt) of sommige register-naar-register-bewerkingen.
2. Instructie van twee bytes: Deze instructies hebben twee bytes. De eerste byte is de opcode en de tweede byte specificeert een operand, meestal:
* Een enkele directe gegevenswaarde van 8 bits: Gebruikt in instructies zoals `MVI A, data` (verplaats onmiddellijke waarde naar accumulator).
* Het adres van een geheugenlocatie: Voor instructies voor geheugentoegang. Het adres heeft doorgaans de vorm van een 16-bits adres, maar aangezien dit een instructie van twee bytes is, worden alleen de onderste 8 bits van het geheugenadres gespecificeerd. De bovenste 8 bits worden meestal impliciet op 0 gezet.
3. Instructie van drie bytes: Dit zijn de langste instructies in de 8085. Ze bevatten drie bytes:
* De opcode: Dit identificeert de instructie.
* Een 16-bits adres: Specificeert de geheugenlocatie waar de gegevens zich bevinden. Dit is meestal het geval voor instructies die betrekking hebben op het adresseren van gegevens in RAM (Random Access Memory) en bewerkingen zoals `LDA addr` (load accumulator direct) of `STA addr` (store accumulator direct). Het adres wordt gegeven in twee bytes, de hoge byte gevolgd door de lage byte.
Het is belangrijk op te merken dat, hoewel de 8085-instructies op deze manier zijn gecategoriseerd, sommige instructies dit patroon enigszins kunnen doorbreken, afhankelijk van hoe u de bytes telt. Sommige instructies gebruiken bijvoorbeeld impliciete operanden (operanden die niet expliciet in de instructie zelf worden gespecificeerd, zoals de accumulator die in veel instructies een impliciete operand is), waardoor het aantal bytes effectief wordt verlaagd ten opzichte van wat u zou verwachten op basis van de bewerking. Het fundamentele principe blijft echter bestaan:de instructies zijn gestructureerd rond één, twee of drie bytes om de opcode en eventuele operanden weer te geven. |