810 likes | 901 Views
BPRI# LOCK# BR0# A# ADS# REQ# Paritás# Misc# RS# TRDY# Paritás# BNR# D# DRDY# DBSY# Paritás# Egyéb#. RESET# Megszakítások Energiaellátás Hőmenedzsment Órajel Diagnosztika Inicializálás Egyéb. Sín ütemezés Kérés Hiba Szimatolás Válasz Adat. 3. 33. 14. 5. 2. 4.
E N D
BPRI#LOCK#BR0# A#ADS#REQ#Paritás# Misc# RS#TRDY#Paritás#BNR# D#DRDY#DBSY#Paritás#Egyéb# RESET# Megszakítások Energiaellátás Hőmenedzsment Órajel Diagnosztika Inicializálás Egyéb Sín ütemezés KérésHiba SzimatolásVálaszAdat 3 33 14 5 2 4 Pentium 4 logikai lábkiosztása (3.45. ábra) Pentium 4CPU 5 5 2 23 2 2 7 64 4 13 180 85 Φ táp 8. előadás
Pentium 4 CPU RESET# Megszakítások Energiaellátás Hő- menedzsment Órajel Diagnosztika Inicializálás Egyéb 3 14 4 Pentium 4 logikai lábkiosztása (3.45. ábra) RESET#: a CPU alapállapotba hozatala, Megszakítások: régi vezérlő, és Advanced Programmable Interrupt Controller (APIC) Különböző tápfeszültségek, alvási állapotok, Jelzés 1300 fölött, … Rendszersín frekvenciája, … 5 23 2 7 8. előadás
BPRI#LOCK#BR0# A#ADS#REQ#Paritás# Misc# Misc# RS#TRDY#Paritás#BNR# D#DRDY#DBSY#Paritás#Egyéb# Pentium 4 CPU Sín ütemezés KérésHiba SzimatolásVálaszAdat 33 5 2 Pentium 4 logikai lábkiosztása (3.45. ábra) Sín ütemezés:BPRI#: magas, BR0#: normál prioritású igény LOCK#: sín foglalás több ciklusra, Kérés: A#: 8 bájtos adat címe (64 GB címezhető), ADS#: a cím érvényes, REQ#: kívánság, Válasz: RS#: státus, TRDY#: a szolga tud adatot fogadni, Adat: D#: 8 bájtos adat, DRDY#: az adat a sínen van, DBSY#: a sín foglalt. 5 2 2 64 4 13 8. előadás
Pentium 4 memória sín A memóriaigények, tranzakciók 6 állapota: 6 fázisú csővezeték (3.45. ábra bal oldal) fázisonként külön vezérlő vonalakkal (amint a mester megkap valamit, elengedi a vonalakat): 0. Sín ütemezés (kiosztás, bus arbitration): eldől, hogy melyik sínmester következik, • Kérés: cím a sínre, kérés indítása, • Hibajelzés: a szolga hibát jelez(het), • Szimatolás: a másik CPU gyorsító tárában, • Válasz: kész lesz-e az adat a következő ciklusban, • Adat: megvan az adat. 8. előadás
Pentium 4 memória sín csővezetéke (3.46. ábra) Ütemezés (nem ábrázoltuk), csak akkor kell, ha másé a sín. K: kérés, H: hiba, S: szimatolás, V: válasz, A: adat 8. előadás
A Pentium 4 mikroarchitektúrája Memória sínhez Memória alrendszer Végrehajtó egység L1 D Rendszerinterfész Egész és lebegőpontos végrehajtó egység L2 D+I Betöltő dekódoló Nyomkövető Ütemezők Befejező egység ROM Elágazás jövendölő Bemeneti rész Sorrenden kívüliség vezérlő 4.46. ábra. A Pentium 4 blokkdiagramja 8. előadás
Memória sínhez L2 256 KB az első, 512 KB a második, 1 MB a harmadik generációs Pentium 4-ben. Memória alrendszer Rendszerinterfész 4.46. ábra. A Pentium 4 memória alrendszere L2 D+I L2 8 utas halmaz kezelésű, késleltetve visszaíró128 bájtos gyorsító sor, minden második ciklusban kezdődhet egy 64 bájtos feltöltés a memóriából. Előre betöltő: megpróbálja L2-be tölteni azt a gyorsító sort, amelyre majd szükség lesz (nincs az ábrán). 8. előadás
4.46. ábra. A Pentium 4 bemeneti rész L2-ből betölti és dekódolja a programnak megfelelő sorrendben az utasításokat. Az utasításokat RISC szerű mikroműveletek sorozatára bontja. Ha több, mint 4 mikroművelet szükséges, akkor ROM-ra történik utalás. A dekó-dolt mikroműveletek a Nyomkövetőbe kerülnek (nem kell újra dekódolni). Elágazás jövendölés. L2 D+I Betöltő dekódoló Nyomkövető ROM Elágazás jövendölő Bemeneti rész 8. előadás
A bemeneti rész az utasításokat L2-ből kapja. Ezeket dekódolja, RISC szerű mikroműveletekre bontja, a nyomkövető gyorsító tárban tárolja (akár 12 K mikroműveletet) a programnak megfelelő sorrendben. 6 mikroműveletet csoportosít minden nyomkövető sorban. Feltételes elágazásnál az utolsó 4 K elágazást tartalmazó L1 BTB-ből (Branch Target Buffer – elágazási cél puffer) kikeresi a jövendölt címet, és onnan folytatja a dekódolást. Ha az elágazás nem szerepel L1 BTB-ben, akkor statikus jövendölés történik: visszafelé ugrást végre kell hajtani, előre ugrást nem. 8. előadás
4.46. ábra. Sorrenden kívüliség vezérlő Az utasítások a programnak megfelelő sorrendben kerülnek az ütemezőbe, eltérő sorrendben kezdődhet a végrehajtásuk (esetleg regiszter átnevezéssel), de a pontos megszakítás követelménye miatt az előírt sorrendben fejeződnek be. Nyomkövető Ütemezők Befejező egység ROM Elágazás jövendölő Bemeneti rész Sorrenden kívüliség vezérlő 8. előadás
A Pentium 4 mikroarchitektúrája Memória sínhez Memória alrendszer Végrehajtó egység L1 D Rendszerinterfész Egész és lebegőpontos végrehajtó egység L2 D+I Betöltő dekódoló Nyomkövető Ütemezők Befejező egység ROM Elágazás jövendölő Bemeneti rész Sorrenden kívüliség vezérlő 4.46. ábra. A Pentium 4 blokkdiagramja 8. előadás
Branch Target Bufferelágazási cél puffer Bemeneti rész Dekódoló egység L1 BTB ROM Nyomkövető Nyomkövető BTB Memórába/memóriából 4.47. ábra. A NetBurst csővezeték Sorrenden kívüliség vezérlő Lefoglaló/átnevező egység L2 Nem memóriasor Memóriasor ALU üt. ALU üt. Bet. üt. Tár. üt. FP regisztergyűjtő Egész regisztergyűjtő FP MMX SSE Mozgató Bet/Tár L1 D Egész Befejező egység 8. előadás
Branch Target Bufferelágazási cél puffer Dekódoló egység L1 BTB ROM Nyomkövető Nyomkövető BTB Lefoglaló/átnevező egység A nyomkövető gyorsítótárból ciklusonként három mikroművelet kerül a lefoglaló/átnevező egység ROB (ReOrder Buffer, átrendező puffer) nevű táblájába. Ez a tábla 128 bejegyzést tartalmazhat. 8. előadás
Ha egy mikroművelet minden inputja rendelkezésre áll, akkor az esetleges WAR vagy WAW függőséget a 120 firkáló regiszter segítségével kiküszöböli. RAW függőség esetén a mikroműveletet várakoztatja, és a rákövetkező mikroműveleteket kezdi feldolgozni. Egyszerre akár 126 utasítás feldolgozása is folyamatban lehet, köztük 48 betöltés és 24 tárolás. Az utasítások a programnak megfelelő sorrendben kerülnek az ütemezőbe, eltérő sorrendben kezdődhet a végrehajtásuk, de az előírt sorrendben fejeződnek be. Pontos megszakítás: a megszakítás előtti összes utasítás befejeződött, az utána következőkből egy sem kezdődött el. 8. előadás
A Lefoglaló/átnevező egység a két várakozási sor megfelelőjébe teszi a mikroutasításokat. Az ALU-k az órajel kétszeres sebességével dolgoznak, nehéz folyamatosan munkát adni nekik. Lefoglaló/átnevező egység Nem memóriasor Memóriasor ALU üt. ALU üt. Bet. üt. Tár. üt. Minden órajel ciklusban egy betöltés és egy tárolás is végrehajtható. 8. előadás
Az egyik egész aritmetikájú ALU az összes logikai, aritmetikai, és elágazó, a másik csak az összeadó, kivonó, léptető és forgató utasítás végrehajtására képes. Mindkét regisztergyűjtő 128 regisztert tartalmaz, időben változik, hogy melyikben van EAX, … ALU üt. ALU üt. Bet. üt. Tár. üt. FP regisztergyűjtő Egész regisztergyűjtő FP MMX SSE Mozgató Bet/Tár Egész 8. előadás
A befejező egység feladata, hogy az utasítások a programnak megfelelő sorrendben fejeződjenek be. L1 4 utas halmazkezelésű, írás áteresztő gyorsítótár 64 bájtos gyorsító sorral. Nem lehet L1-et módosítani, amíg a tárolást megelőző műveletek be nem fejeződtek (24 bejegyzéses tároló puffer), de ha egy betöltő utasítás onnan akar olvasni, ahova egy korábbi tárolt, akkor a tárolások pufferéből megkaphatja a kért adatot (tárolás utáni betöltés). FP regisztergyűjtő Egész regisztergyűjtő Mozgató Bet/Tár L1 D Befejező egység 8. előadás
Branch Target Bufferelágazási cél puffer Bemeneti rész Dekódoló egység L1 BTB ROM Nyomkövető Nyomkövető BTB Memórába/memóriából 4.47. ábra. A NetBurst csővezeték Sorrenden kívüliség vezérlő Lefoglaló/átnevező egység L2 Nem memóriasor Memóriasor ALU üt. ALU üt. Bet. üt. Tár. üt. FP regisztergyűjtő Egész regisztergyűjtő FP MMX SSE Mozgató Bet/Tár L1 D Egész Befejező egység 8. előadás
UltraSPARC III (2000) 64 bites RISC gép, felűről kompatibilis a 32 bites SPARC V8 architektúrával és az UltraSPARC I, II-vel. Új a VIS 2.0 utasításkészlet (3D grafikus alkalmazásokhoz, tömörítéshez, hálózat kezeléshez, jelfeldolgozáshoz, stb.). Több processzoros alkalmazásokhoz készült. Az összekapcsoláshoz szükséges elemeket is tartalmazza. 2000-ben 0.6, 2001-ben 0.9, 2002-ben 1.2 GHz, órajel ciklusonként 4 utasítást tud elvégezni. 8. előadás
UltraSPARC IIIközpontiegység Első szintűgyorsító tárak Másodlagos gyorsító tár(címkék -tags) 18 UPAinterfésza főmemóriához 5 Sín ütemezés Memória címCím paritásaÉrvényes cím Várakozás Válasz Mem. adatECC Címke cím Érvényes címke Címke adat Címke paritása Adat címeÉrvényes adat cím AdatParitás 35 25 4 UltraSPARC III Másodlagos gyorsító tár(adatok) 4 20 128 vezérlés 5 16 UDB IImemóriapuffer 128 16 8. előadás
UltraSPARC III CPU 29 millió tranzisztor, 4 CPU közös memóriával használható. 1368 láb (3. 47. ábra). 64 (jelenleg csak 43) bites cím és 128 bites adat lehetséges. Belső gyorsító tár (32 KB utasítás + 64 KB adat). 2 KB előre betöltő és tároló gyorsítótár L2 eléréséhez. A gyorsító sor (cache line) mérete 64 (32?) B. Külső 1 - 8 MB (?UltraSPARCII-nek 0.5-16 MB).8 K - 256 K db 64 B-os gyorsító sor (cache line) lehet. A címzéséhez 13 – 18 bit szükséges. A CPU mindig 18 bites Line címet (Címkeazonosítót) ad át.Csak maximális méret esetén van mind a 18 bit kihasználva. 8. előadás
5 bit átfedés 6 bit bájt cím Tag Line 25 bit 18 bit A cím 64 bit-es, de egyelőre 44 bit-re korlátozva van =? . . . 8. előadás
512 KB-os gyorsító tár esetén a 44 bites cím felosztása:Tag: 25 bit, Line: 13 bit, bájt cím: 6 bit = 44 bit. 16 MB-os tár esetén 18 bites Line kell, és 20 bites Tag (Címkeadat) is elég lenne, de ilyekor – hogy a CPU egységesen működhessen – a gyorsító tárban tárolt 20 bites Tag-et a gyorsító tár kiegészítiLine 5 legmagasabb helyértékű bitjével. Az Adat címe a gyorsító sor címén (Címkeazonosító, Line) kívül még 2 bitet tartalmaz, mert egy átvitel során a gyorsító sornak csak negyed része (16 bájt) mozgatható. 8. előadás
18 Másodlagos gyorsító tár(címkék -tags) Címke cím (Line)Érvényes címke Címke adat (tag)Címke paritása Adat címeÉrvényes adat cím AdatParitás 25 UltraSPARC IIIközpontiegység Első szintűgyorsító tárak 4 20 Másodlagos gyorsító tár(adatok) 128 vezérlés 16 5 UDB IImemóriapuffer UltraSPARC III 8. előadás
UltraSPARC IIIközpontiegység Első szintűgyorsító tárak Sín ütemezés Memória címCím paritásaÉrvényes cím Várakozás Válasz UPAinterfésza főmemóriához 5 35 4 UPA (Ultra Port Architecture) sín, hálózati csomópont vagy a kettő kombinációja. Több CPU esetén egy központi vezérlőn keresztül kapcsolódnak a sínhez. Több írást és olvasást tud egyidejűleg kezelni. 8. előadás
UDB II (UltraSPARC Data Buffer II): ezen keresztül zajlik a memória és a gyorsító tárak közötti adatforgalom.Az adatsín 150 MHz-es 128 bit széles szinkron sín, így a sávszélesség 2.4 GB/s. UltraSPARC IIICPU Első szintűgyorsító tárak UPAinterfésza főmemóriához 4 Válasz Memória adatHiba javító kód vezérlés 5 UDB IImemóriapuffer 128 16 8. előadás
UltraSPARC IIIközpontiegység Első szintűgyorsító tárak Másodlagos gyorsító tár(címkék -tags) 18 UPAinterfésza főmemóriához 5 Sín ütemezés Memória címCím paritásaÉrvényes cím Várakozás Válasz Mem. adatECC Címke cím Érvényes címke Címke adat Címke paritása Adat címeÉrvényes adat cím AdatParitás 35 25 4 UltraSPARC III Másodlagos gyorsító tár(adatok) 4 20 128 vezérlés 5 16 UDB IImemóriapuffer 128 16 8. előadás
Memóriához L1 I 128 bit széles L2 Utasítás kiosztó Ugrótábla Az UltraSPARC III CPU mikroarchitektúrája Utasítás puffer L1 D Tárolási gyorsítótár FP/Gr Egész Betöltő tároló Előre betöltő gyorsítótár 4.48. ábra. Az UltraSPARC III CPU blokkdiagramja 8. előadás
L1 I Utasítás kiosztó Ugrótábla Utasítás puffer FP/Gr Egész Betöltő tároló L1 I 32 KB 4 utas halmazkezelésű, az utasítás kiosztó ciklusonként 4 utasítást tud kiosztani Két egész aritmetikájú ALU + regiszterek + firkáló regiszterek, Lebegőpontos ALU-k: összeadó/kivonó, szorzó/osztó + 32 regiszter + grafikai utasítások. 8. előadás
Memóriához L2 L1 D Tárolási gyorsítótár 2 KB Betöltő tároló Előre betöltő gyorsítótár 2 KB 128 bit széles L1 I Utasítás kiosztó L1 D 64 KB-os 4 utas halmazkezelésű, írás áteresztő, 32 bájtos gyorsító sor. Feltételezett betöltésre 2 KB előre betöltő gyorsítótár. 2 KB tárolási gyorsítótár. Memória vezérlő: virtuális → fizikai cím. 8. előadás
UltraSPARC III CPU mikroarchitektúrája A SPARC sorozat RISC elgondoláson alapul. A legtöbb utasításnak két forrás és egy cél regisztere van. Előre betöltés:speciális utasításokkal, és a visszafelé kompatibilitás miatt hardveresen is. 2 bites elágazás jövendölő + statikus elágazás jövendölés. 8. előadás
UltraSPARC III csővezetéke (4.49. ábra) Címmultiplexor APFB Ugrótábla Utasítás gyorsítótár Cél Utasítás dekódoló Address generation, cím generáló. Ugrás, csapda, … Az eltolás résben lévő utasítást mindig végrehajtja! Preliminari Fetch, előzetes betöltő. Legfeljebb 4 utasítást képes betölteni L1 I-ből, nézi, hogy van-e köztük elágazó, elágazás jövendölés. Branch target, elágazási cél. Ha kell ugrani, → A 8. előadás
UltraSPARC III csővezetéke Címmultiplexor APFBIJ Ugrótábla Utasítás gyorsítótár Cél Utasítás dekódoló Utasítás csoportosító Instruction group formation, utasítás csoportosító. Aszerint csoportosítja az utasításokat, hogy melyik működési egységet használják. 8. előadás
UltraSPARC III csővezetéke I JREC Betöltő/tároló, speciális egység Utasítás csoportosító Munka regisztergyűjtő FP regisztergyűjtő L1 D J instruction stage grouping, utasítás kiosztó. Az elérhető működési egységektől függően akár 4 utasítást is továbbít az R szakasznak. Register, függőség esetén vár, nincs sorrenden kívüli végrehajtás. 8. előadás
UltraSPARC III csővezetéke Betöltő/tároló, speciális egység Utasítás csoportosító JREC Munka regisztergyűjtő FP regisztergyűjtő L1 D Execution, végrehajtó. A legtöbb egész utasítás itt be is fejeződik. Ha egy utasítás készen van, akkor frissül a regisztergyűjtő. Itt dől el, hogy az ugrás feltétele teljesül-e. Hibás jövendölés esetén jelzés az A szakasznak, a csővezeték érvénytelenítése. Cache, gyorsítótár. Itt zárul L1 D elérése. 8. előadás
UltraSPARC III csővezetéke Betöltő/tároló, speciális egység Utasítás csoportosító JRECMW Munka regisztergyűjtő FP regisztergyűjtő L1 D Előjel kiterjesztés, igazítás Előre betöltő gy.tár L2 Miss, hiány. L1 hiány esetén L2-höz fordul. Itt történik az előjel kiterjesztés, igazítás, az előre betöltő gyorsítótárból kiszolgálható betöltések. Write, író. A speciális egység eredményei a munka regisztergyűjtőbe kerülnek. 8. előadás
UltraSPARC III csővezetéke eXtended, kiterjesztett. Itt fejeződik be a legtöbb FP és grafikai utasítás. Trap, csapda. Ez észleli az egész és FP csapdákat. Pontos megszakítás. ECMWXTD FP regisztergyűjtő FP ADD/SUBGrafikus ALU FP MUL/DIVGrafikus MUL 8. előadás
UltraSPARC III csővezetéke Betöltő/tároló, speciális egység RECMWXTD A D szakasz véglegesíti a regiszterek értékét az architektúrális regiszter gyűjtőben. Megszakításkor az itteni adatok érvényesek. Munka regisztergyűjtő L1 D L2 Arch. r.gyűjtő Előjel kiterjesztés, igazítás Tárolási sor Tarolási gy.tár 8. előadás
UltraSPARC III csővezetéke Betöltő/tároló, speciális egység Utasítás csoportosító JRECMWXTD Munka regisztergyűjtő FP regisztergyűjtő L1 D FP ADD/SUBGrafikus ALU FP MUL/DIVGrafikus MUL L2 Arch. r.gyűjtő Előjel kiterjesztés, igazítás Tárolási sor Tarolási gy.tár 8. előadás
I-8051 (1980) Cél: beépített rendszerekben való alkalmazás. Fő szempont: olcsóság (ma már 10-15 ¢), sokoldalú alkalmazhatóság. A memóriával, be- és kivitellel együtt egyetlen lapkára integrált számítógép. 40 multiplexelt lábú standard tokban kerül forgalomba. 60 000 tranzisztor. 4 KB ROM, 128 B RAM, max. 64 KB külső memória.16 címvezeték. 8 bites adat sín. 32 K/B vonal 4 db 8 bites csoportba rendezve, ezek mindegyike hozzáköthető nyomógombhoz, kapcsolóhoz, LED-hez, … Időzítők. Pl. Rádiós óra: nyomógombok, kapcsolók, kijelző. 8. előadás
Address Data RD# olvas a memóriából WR# ír a memóriába Address Latch Enable: külső memória esetén: a sínen érvényes a cím Program Store ENable: olvasás a programot tároló memóriából External Access (az értéke állandó): (1) a 0-4095 címek a belső, (0) a külső memóriára vonatkoznak 16 8051 A D RD# WR# ALE PSEN# EA# Időzítők Megszakítások TXD RXD RST 8 8 8 8 8 Port 0 Port 1 Port 2 Port 3 Az I-8051 logikai lábkiosztása(3.50. ábra) 2 2 2 Φ Táp 8. előadás
16 8051 A D RD# WR# ALE PSEN# EA# Időzítők Megszakítások TXD RXD RST A két időzítő külső áramkörről kaphat jelet Megszakítások TXD Transmitted Data, továbbított adat RXD Received Data, érkezett adatReSeT Port 0-3 32 (4*8) bites B/K soros vonal 8 8 8 8 8 Port 0 Port 1 Port 2 Port 3 Az I-8051 logikai lábkiosztása(3.50. ábra) 2 2 2 Φ Táp 8. előadás
Lokális sín RAM ROM Fő sín RAMADDR ROMADDR IR BUFFER SP PC növelő Az I-8051 CPU mikroarchitektúrája (4.50. ábra) B PC ACC DPTR TMP2 Időzítő 0 TMP1 Időzítő 1 Időzítő 2 ALU Port 0 Port 1 Port 2 PSW Port 3 8. előadás
RAM RAMADDR IR SP Az I-8051 CPU mikroarchitektúrája (4.50. ábra) RAM 128 bájt A regiszterek a RAM-ban vannak RAM ADDRess a RAM címzéséhez Instruction Register Stack Pointer B szorzásnál, osztásnál van szerepe, ideiglenes tárolásra is használható ACCumulator: fő aritmetikai regiszter, a legtöbb számítás eredménye itt keletkezik TMP1 – TMP2 az ALU bemenetei, az eredmény a fő sínről akármelyik regiszterbe kerülhet Program Status Word B ACC TMP2 TMP1 Fő sín ALU PSW 8. előadás
Lokális sín ROM ROMADDR BUFFER PC növelő PC DPTR Időzítő 0 Időzítő 1 Időzítő 2 Port 0 Port 1 Port 2 Port 3 Az I-8051 CPU mikroarchitektúrája ROM 4 KB belső, max. 64 KB külső 16 bites regiszterek: ROM ADDRess BUFFER PC, PC növelő PC-t beírva, majd kiolvasva PC növelődik DPTR Időzítő 0 – 2 Port 0 – 3 8. előadás
Az I-8051 CPU mikroarchitektúrája (4.50. ábra) A legtöbb utasítás egy óraciklust igényel. A ciklus hat állapota: • Az utasítás a ROM-ból a fősínre és IR-be kerül. • Dekódolás, PC növelése. • Operandusok előkészítése. • Egyik operandus a fősínre, onnan általában TMP1-be, a másik ACC-ből TMP2-be kerül. • Az ALU végrehajtja a műveletet. • Az ALU kimenete a fősínre kerül, ROM ADDR felkészül a következő utasítás olvasására. 8. előadás
Összehasonlítás Pentium 4 CISC gép egy CISC utasítás → több RISC mikroutasítás UltraSPARC III RISC gép I-8051 inkább RISC, mint CISC gép picoJava II verem gép, sok memória hivatkozás több CISC utasítás → egy RISC mikroutasítás 8. előadás
Assembly programozás Pszeudo utasítások A pszeudo utasításokat a fordítóprogram hajtja végre. Ez a végrehajtás fordítás közbeni tevékenységet vagy a fordításhoz szükséges információ gyűjtést jelenthet. 8. előadás
Adat definíciós utasítások Az adatokat általában külön szegmensben szokás és javasolt definiálni iniciálással vagy anélkül. Az adat definíciós utasítások elé általában azonosítót (változó név) írunk, hogy hivatkozhassunk az illető adatra. Egy-egy adat definíciós utasítással – vesszővel elválasztva – több azonos típusú adatot is definiálhatunk. A kezdőérték – megfelelő típusú – tetszőleges konstans (szám, szöveg, cím, ...) és kifejezés lehet. Ha nem akarunk kezdőértéket adni, akkor ? -et kell írnunk. DUP operátor kifejezés DUP (adat) 8. előadás
Egyszerű adat definíciós utasítások Define Byte (DB): Adat1 db 25 ;1 byte, kezdőértéke decimális 25 Adat2 db 25H ;1 byte, kezdőértéke hexadec. 25 Adat3 db 1,2 ;2 byte (nem egy szó!) Adat4 db 5 dup (?);5 inicializálatlan byte Kar db ’a’,’b’,’c’ ;3ASCII kódú karakter Szoveg db ”Ez egy szöveg”,13,0AH ; ACSII kódú szöveg és 2 szám Szov1 db ’Ez is ”szöveg”’ Szov2 db ”és ez is ’szöveg’” 8. előadás