Download as pdf or txt
Download as pdf or txt
You are on page 1of 42

Číslicové počítače

T8/1 - Programovanie v jazyku symbolických inštrukcií

Prednáška

Ing. Miloš Očkay, PhD.


Obsah
● Architektúra 8085
● Jazyk symbolických inštrukcií
● Inštrukčný formát
● Adresné módy
● Klasifikácia Inštrukcií
● Popis vybraných inštrukcií
Architektúra 8085
Pri programovaní v JSI je nutné poznať architektúru procesora a inštrukčnú
množinu (Instruction set).
Architektúra 8085 - Registre
Pre všeobecné použitie (General Purpose)
• počet registrov
• počet bitov v registri

Pre špeciálne použitie (Special Purpose)


• zásobník (jeden z operandov)
• programové počítadlo
• stavový register
• ukazovateľ zásobníku
Architektúra 8085 - Registre
Prístupné používateľovi (User Accessible)
• GP
• SP

Neprístupné používateľovi
• MAR
• MDR
• IR
• TEMP
Architektúra 8085 - Registre
Architektúra 8085 - 40 pin interface
• Pamäť a V/V - riadiace linky
• R/W, IO/M, READY/WAIT, ALE, STATUS,
• ADDRESS
• DATA

• CPU a zbernica – riadiace linky


• RESET, INTERUPTS, BUS REQUEST, BUS GRANT,
• Univerzálne linky
• Power Supply, Clock, I/O,
Architektúra 8085 - ALU
Aritmetické operácie
• ADD, SUB, INC, DEC

Logické operácie
•AND, OR, EXOR, NOT, CLEAR, COMPARE, SHIFT, ROTATE
Architektúra 8085 - Časovanie a synch.
Architektúra 8085 - Prerušenia
Architektúra 8085
Jazyk symbolických inštrukcií
global _start Pracovať priamo so strojovým kódom je pre človeka
section .text
veľmi zložité, pretože programy v strojovom kóde sú
_start:
mov eax, 4 postupnosťami čísel. Preto bolo potrebné vytvoriť
mov ebx, 1 jazyk, ktorý by bol zrozumiteľný pre človeka a
mov ecx, message zároveň by bol priamočiaro transformovateľný do
mov edx, length
int 80h
strojového kódu
mov eax, 1
mov ebx, 0 Napr. 10110000 01100001 -> mov al, 061h
int 80h
čo znamená, že treba presunúť hodnotu 61 v
šestnástkovej sústave (97 v desiatkovej) do registra s
názvom „al“.
Jazyk symbolických inštrukcií
● OP Code
● Dáta
● Direktívy jazyka
JSI - Inštrukcia
Kód, ktorý hovorí počítaču,
aby vykonal špecifickú operáciu.

01111110
JSI - Inštrukcia
• priebeh fyzikálnej veličiny 0/1
• hodnota vyjadrená binárne 5 -> 0000 0101
• operácie sa realizujú binárne 00010 001 011
• reprezentácia programátora add, sub, mul
JSI - Formát inštrukcie
JSI - Formát inštrukcie
JSI - Formát inštrukcie
JSI - Formát inštrukcie
JSI - Formát inštrukcie
JSI - Formát inštrukcie
JSI - Adresné módy
Immediate addressing mode
8/16-bit dáta sú obsiahnuté priamo v inštrukcii ako jeden operand.
Napr. MVI K, 20F: 20F je skopírované do registra K.

Register addressing mode


Dáta su skopírované z jedného registra do druhého.
Napr. MOV K, B: dáta z registra B sú skopírované do registra K.
JSI - Adresné módy
Direct addressing mode
Dáta sú priamo skopírované zo zadanej adresy do registra.
Napr. LDB 5000K: dáta z adresy 5000K sú skopírované do registra B.

Indirect addressing mode


Dáta sú skopírované z jedného registra do druhého na základe reg. ukazovateľa v ktorom sa nachádza adresa.
Napr. MOV K, B: register B obsahuje ukazovateľ na pamäťovú adresu z ktorej sú dáta skopírované do registra K.

Implied addressing mode


Nepužíva operand.
Napr. RRC.
JSI - Klasifikácia inštrukcií
● Data Movement Instructions
● Data Manipulation Instructions
● Program Manipulation Instructions
● Status Manipulation Instructions
● Miscellaneous Instructions
JSI - Klasifikácia inštrukcií - DMovement
JSI - Klasifikácia inštrukcií - DMovement
JSI - Klasifikácia inštrukcií - DMovement
JSI - Klasifikácia inštrukcií - DMovement
JSI - Klasifikácia inštrukcií - DMovement

Medzi ACC a V/V


• IN port address
• OUT port address

3 Cycles
JSI - Klasifikácia inštrukcií - DManipiulation

Aritmetické inštrukcie
(A)<-(A)+R(M, data)

ADD ADD R ADD M ADI data


ADD Carry ADC R ADC M ACI data
SUB SUB R SUB M SUI data
SUB borrow SBB R SBB M SBI data
JSI - Klasifikácia inštrukcií - DManipiulation

INR INR R INR M Register indirect


DCR DCR R DCR M
INX RP
DCX RP
JSI - Klasifikácia inštrukcií - DManipiulation
Logické inštrukcie
A B AND EXOR OR
-------------------------------------------------------------------------------------
0 0 0 0 0
0 1 0 1 1
1 0 0 1 1
1 1 1 0 1
JSI - Klasifikácia inštrukcií - DManipiulation
Logické inštrukcie
(A)<-(A)+R(M, data)

ANA ANA R ANA M ANI data


XRA XRA R XRA M XRI data
ORA ORA R ORA M ORI data
CMP compare CMP R CMP M CPI data
RLC rotate left wo/C RRC rotate left w/C
RRC rotate right wo/C RAR rotate right wo/C
JSI - Klasifikácia inštrukcií - PManipiulation
JSI - Klasifikácia inštrukcií - PManipiulation
Conditional Jump

Flag bits CCC


NZ Not Zero 000
Z Zero 001
NC Not Carry 010
C Carry 011
PO Parity Odd 100
PE Party Even 101
P Positive 110
M Negative 111
JSI - Klasifikácia inštrukcií - PManipiulation
JSI - Klasifikácia inštrukcií - PManipiulation
Subroutine Call and Return

CALL addr (SP-1)<-(PCH)


(SP-2)<-(PCL)
(PC)<-(byte3)(byte2)

Return (PC)<-(SP-1)(SP-2)

Unconditional / Conditional
JSI - Klasifikácia inštrukcií - PManipiulation
JSI - Klasifikácia inštrukcií - SManipiulation
JSI - Klasifikácia inštrukcií - Miscellaneous
Otázky
Študíjne zdroje
● Assembly Language Tutorial - https://www.youtube.com/playlist?list=PL24A96ADA54E7510

● Microprocessors & Microcontrollers - https://www.youtube.com/playlist?list=PL0E131A78ABFBFDD0

You might also like