SlideShare a Scribd company logo
1 of 55
Download to read offline
Leksione 1 dhe 2: Koncepte Bazë
R. Vasili - Gjuha Assembly – Universiteti i «Ε. Çabej»
Simestri I – Teknololgji Informacioni
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
2
• Hyrje në Gjuhën Assembly
• Koncepti i Makines Virtuale
• Paraqitja e të Dhenave
• Veprime Buleane
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
3
Mirë se erdhet në Gjuhën Assembly
• Gjuha Assembly është gjuha më e vjetër e programimit.
• Nga të gjitha gjuhët, ajo është gjuha e ngjashme më e
afërt te gjuha natyrale e kompjutërit.
• Ka Akses Direkt te materiali(hardware) i kompjutërit.
• Ndihmon për të kuptuar në një madhësi të konsideru-
eshme arkitekturën e kompjutërit dhe sistemet e
shfrytëzimit.
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
4
Disa pyetje interesante për tu përgjigjur [1/4]
• Çfarë formimi duhet të kemi?
• Programim Kompjuteri (C++, C#, JAVA, VB…)
• Çfarë është një assembler?
• Një program që konverton programe me kod-burimor
(source-code) nga gjuha assembly në gjuhë makine
l(machine language)
• MASM (Microsoft Assembler), TASM (Borland Turbo
Assembler)
• Lidhësi(Linker) (program shoqërues i Assembler-it)
kombinon skedare individualë të krijuara nga një
assembler në një program të vetëm të ekzekutueshëm.
• Debugger-i pajis programuesit me një menyrë për të
ndjekur ekzekutimin e një programi dhe ekzaminimin e
përmbajtjes së kujtesës.
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
5
Disa pyetje interesante per tu pergjigjur [2/4]
• Ç’ tipe progamesh do krijojmë?
• 16-Bit Real-Address Mode: MS-DOS, DOS emulator
• 32-Bit Protected Mode: Microsoft Windows
• Ç’ relacion ka gjuha assembly me atë të makines?
• Korespondence Një-me-Një
• Po me gjuhet C++ dhe Java? P.sh., X=(Y+4) *3
mov eax, Y
add eax, 4
mov ebx, 3
imul ebx
mov X, eax
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
6
Disa pyetje interesante per tu pergjigjur [3/4]
• Çfarë do mesojmë?
• Parimet Bazë të Arkitektures së Komjutërit
• Parimet Bazë të Logjikës Booleane
• Si menaxhojnë kujtesën, si përdorin mënyrat real mode,
protected mode dhe virtual mode proçesorët IA-32
• Si përkthejnë instruksionet në gjuhë assembly dhe kod
të paster(native) makine kompiluesit(compilers) e
gjuhëve të nivelit të lartë ( si C++)
• Përmirësimet e teknikave të debugging në nivel-makine
(p.sh., gabimet gjatë alokimit të kujtesës)
• Si komunikojnë, programet aplikative, me sistemin e
shfrytëzimit të kompjutërit nëpërmjet menaxhuesve të
ndërprerjeve, thirrjeve të sistemit, dhe hapësirave të
përbashkëta të kujtesës
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
7
Disa pyetje interesante per tu pergjigjur [4/4]
• A është gjuha Assembly portative?
• Një gjuhë , programet burimore të së cilës mund të kompilohen
dhe të ekzekutohen në një larmi të gjerë sistemesh
kompjuterike lthuhet se është portative.
• Gjuha Assembly nuk ben asnjë tentative për t’u berë portative.
• Ajo është e lidhur ngushtë me një familje specifike proçesorësh.
• Pse e studiojmë gjuhën Assembly?
• Për programe në Sisteme të Ndërthurura(Embedded)
• Për programe të përsosura si për shpejtësi (runtime speed )
ashtu dhe për menaxhim hapësire.
• Për të fituar një kuptim të plotë të baskërveprimeve harduerit
(hardware) , Sistemit të Shfrytëzimit dhe programeve aplikative
• Për Drejtues Paisjesh(Device driver): programe që përkthejnë
komandat e përgjithshme të Sistemit të Shfrytëzimit në
referenca specifike të detaleve të harduerit
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
8
Aplikacione në Gjuhë Assembly
• Disa shembuj tipikë aplikacionesh:
• Aplikacione Biznesi për një platform të vetme
• Hardware device driver
• Aplikacione Biznesi për shumë platforma
• Sisteme të Ndërthurur & Lojëra Kompjuterike
(shiko tabelën pasardhëse)
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
9
Krahasimi i Ghuhës Assembly me Gjuhet e
Nivelit të Lartë
Tipi i Aplikacionit Gjuhë të Nivelit të Lartë Gjuha Assembly
Aplikacion Biznesi, i shkruar për
një platformë të vetme, me
madhësi të mesme në të lartë.
Struktura tipike e bejnë të lehtë
të organizojnë dhe të mirë-
mbajnë segmente të mëdha
kodi.
Struktura tipike minimale, keshtë mund
të imponohet nga programues me nivele
të ndryshme eksperience. Kjo shpie në
vështirësi për mirëmbajtjen e kodit
ekzistues.
Hardware device driver Gjuha mund të mos na pajis me
akses të drejtpërdrejt në
hardware. Akoma dhe kur e bën,
shpeshherë duhen përdorur
teknika kodimi të komplikuara,
gjë që sjell vështirësi në
mirëmbajtje.
Aksesi në hardware është i hapur dhe i
thjeshtë. I lehtë për t u mirëmbajtur, kur
programet janë të shkurtëra dhe të
dokumentuara mirë.
Aplikacione Biznesi të shkrojtur
për platforma të shumëfishta
(sisteme të ndryshme shfry-
tëzimi)
Zakonisht krejt portative. Kodi
burimor mund të kompilohet në
çdo sistem shfrytëzimi të
planifikuar me ndryshime
minimale.
Duhet të rikodohet veç e veç për çdo
platformë, shpesh duke përdorur një
asemblues me sintaksë tjetër. Është
shumë i vështirë për t’u mirëmbajtur.
Sisteme të ndërthurur (embed-
ded) dhe lojera kompjuterike që
kërkojnë akses të drejtpërdrejt
në hardware.
Prodhon kod të ekzekutueshëm
të tepërt, dhe mund të mos
ekzekutohet në mënyrë efikase.
Është ideal, për arsye se kodi i
ekzekutueshëm është i vogël dhe
ekzekutohet shumë shpejt.
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
10
Në vazhdim
• Hyrje
• Koncepti i Makines Virtuale
• Pasqyrimi i të Dhenave
• Veprime Buleane
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
11
Koncepti i Makinës Virtuale
• Makinat Virtuale
• Nivele Specifike të Makinës
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
12
Makinat Virtuale [1/2]
• Koncepti i Makinës Virtuale
• Një mënyrë më efektive për të sqaruar relacionet midis
materialit dhe softit të kompjutërave
• Në In terms of programming languages
• Çdo kompjuter ka një gjuhë të papërpunuar makine(native
machine language )(Gjuhë L0) që ekzekutohet direkt në
materialin (hardware) e tij
• Zakonisht ndërtohet një gjuhë më e favorshme për njerëzit
e bazuar në atë të makinës, e quajtur Language L1
• Programet e shkruar në L1 mund të ekzekutohen në dy mënyra
të ndryshme:
• Me interpretim – programi i nivelit L0 interpreton &
ekzekuton instruksionet e nivelit L1 një nga një
• Me përkthim – programi i nivelit L1 përkthehet terësisht në
nivelin L0 , which then runs on the computer hardware
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
13
Makinat Virtuale [2/2]
• Në kushtet e një kompjutëri të dhenë
• VM1 mund të ekzekutojë komanda të shkruara në gjuhën L1.
• VM2 mund të ekzekutojë komanda të shkruara në gjuhën L2.
• Procedura mund të përsëritet derisa të projektohet një makinë
virtuale VMn e tillë që të suportojë një gjuhë të fuqishme dhe të
lehtë për t’u përdorur.
• Gjuha e programimit Java bazohet në konceptin e makinës virtuale.
• Një program i shkrojtur në gjuhën Java përkthehet nga një
kompilator Java në Java byte code.
• Java byte code: një gjuhë e nivelit të ulët (low-level) që
ekzekutohet shpejt gjatë kohës së ekzekutimit(run time) nga
makina virtuale Java (JVM).
• Makina virtuale Java(JVM) është implementuar në shumë
sisteme kompjuterike të ndryshme, duke bërë programet Java
relativisht të pavarura nga sistemi.
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
14
Përkthimi i Gjuhëve
Shqip: Pasqyroni shumën e A herë B plus C.
C++: cout << (A * B + C);
Gjuha Assembly :
mov eax,A
mul B
add eax,C
call WriteInt
Gjuha e Makinës Intel :
A1 00000000
F7 25 00000004
03 05 00000008
E8 00500000
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
15
Nivelet Specifike të Makinës
High-Level Language
Assembly Language
Operating System
Instruction Set
Architecture
Microarchitecture
Digital Logic Level 0
Level 1
Level 2
Level 3
Level 4
Level 5
(në vijim përshkruhen nivelet
individuale . . . )
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
16
Gjuhë të Nivelit të Lartë
• Niveli 5
• Gjuhë të orientuara nga Applikacionet
• C++, Java, Pascal, Visual Basic . . .
• Programi kompilohet në gjuhë assembly
(Niveli 4)
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
17
Gjuha Assembly
• Niveli 4
• Mnemonika instruksionesh që kanë
korespondence një-me-një me gjuhen e
makinës
• Thirrje funksionesh të shkruar në nivelin e
sistemit të shfrytëzimit (Niveli 3)
• Programet përkthehen në gjuhë makine
(Niveli 2)
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
18
Sistemi i Shfrytëzimit
• Niveli 3
• Pajis me shërbime programet e Nivelit 4
• Të përkthyera dhe të ekzekutuara te Niveli
instruction set architecture (Niveli 2)
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
19
Instruction Set Architecture
• Niveli 2
• Njihet gjithashtu si gjuhë konvencionale
makine(conventional machine language)
• Ekzekutohet nga programet e Nivelit 1
(microarchitecture)
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
20
Microarchitecture
• Niveli 1
• Interpreton instruksione të makinës
konvencionale (Niveli 2)
• Ekzekutohet nga hardware shifror(Niveli 0)
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
21
Logjika Shifrore (Digital Logic)
• Niveli 0
• CPU, e ndërtuar nga ura shifrore logjike
• Busi i Sistemit
• Kujtesa
• Implementohet me përdorimin e
tranzistorëve bipolar
Në vazhdim: Paraqitja e të dhenave
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
22
Në vazhdim
• Hyrje në Gjuhën Assembly
• Koncepti i Makines Virtuale
• Paraqitja e të Dhenave
• Veprimet Buleane
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
23
Paraqitja e të Dhenave
• Numrat Binarë
• Përkthime midis binarëve dhe dhjetorëve
• Mbledhja me numra Binarë
• Madhësitë e akomodimit të numrave të plotë
• Numrat e plotë Hexadecimal
• Përkthime midis dhjetorëve dhe hexadecimalëve
• Zbritja Hexadecimale
• Numra të plotë me shenjë
• Zbritja Binare
• Hapësira e akomodimit të Karaktereve(Character)
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
24
Numra Binarë
• Shifrat janë 1 dhe 0
• 1 = true
• 0 = false
• MSB – most significant bit(Bit-i më i rendësishëm)
• LSB – least significant bit(Bit-i më pak i rendësi-
shëm)
• Numërimi i Bit-eve :
015
1 0 1 1 0 0 1 0 1 0 0 1 1 1 0 0
MSB LSB
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
25
Numra Binarë
• Çdo shifër (bit) është ose 1 ose 0
• Çdo shifër paraqet një fuqi të 2-shit:
1 1 1 1 1 1 1 1
27 26 25 24 23 22 21 20
Çdo numër
binar është një
shume fuqish të
2-shit
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
26
Përkthimi i Binarëve në Dhjetor
Komenti i peshës së pozicionit tregon se si llogaritim
vlerën dhjetore të çdo bit-i binar:
dec = (Dn-1  2n-1) + (Dn-2  2n-2) + ... + (D1  21) + (D0  20)
D = shifër binare digit
Nr. binar 00001001 = Nr. dhjetor 9:
(1  23) + (1  20) = 9
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
27
Përkthimi i Dhjetorëve pa shenjë në Binarë
• Pjestojmë në menyrë të përseritur numrin dhjetor me
2. Çdo mbetje është një shifër binare në vlerën e
përkthyer:
37 = 100101
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
28
Mbledhja Binare
• Fillojmë me LSB, mbledhim çdo çift shifrash, duke
përfshirë mbartjen nëse është e pranishme.
0 0 0 0 0 1 1 1
0 0 0 0 0 1 0 0
+
0 0 0 0 1 0 1 1
1
(4)
(7)
(11)
carry:
01234bit position: 567
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
29
Madhësitë e akomodimit të Numrave Integer
byte
16
8
32
word
doubleword
64quadword
Cili është numri më i madh i plotë pa shenjë që mund të akomodohet në 20
bit?
Madhësi normale:
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
30
Numrat e plotë Hexadecimal
Vlera Binare janë paraqitur si hexadecimale.
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
31
Përkthimi i numrave Binarë në Hexadecimal
• Çdo shifër hexadecimale i korrespondojnë 4 bit binarë.
• Shembull: Përktheni numrin e plotë binar
000101101010011110010100 në hexadecimal:
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
32
Shndërrimi i numrave Hexadecimal në Dhjetorë
• Shumëzojmë çdo shifër me fuqinë korresponduese të
16-es:
dec = (D3  163) + (D2  162) + (D1  161) + (D0  160)
• Numri Hex 1234 barazohet me (1  163) + (2  162) + (3  161) + (4 
160), ose numrin dhjetor 4,660.
• Numri Hex 3BA4 barazohet me (3  163) + (11 * 162) + (10  161) +
(4  160), ose numrin dhjetor 15,268.
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
33
Fuqitë e 16
Përdorën kur llogaritim vlera hexadecimale deri në 8
shifra të gjatë:
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
34
Shndërrimi i numrave Dhjetorë në Hexadecimal
dhjetor 422 = 1A6 hexadecimal
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
35
Mbledhja Hexadecimale
• Pjestoni shumën e dy shifrave me numrin e bazës (16). Herësi bëhet
vlera e mbartur, dhe mbetja është shuma e shifrave.
36 28 28 6A
42 45 58 4B
78 6D 80 B5
11
21 / 16 = 1, mbetja 5
Teknikë e rendësishme: Programuesit mbledhin dhe zbresin
shpesh adresën e variablave dhe instruksioneve.
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
36
Zbritja Hexadecimale
• Kur kërkohet një hua nga shifra në të majtë, shtoni 16
(dhjetor) te vlera e shifrës aktuale:
C6 75
A2 47
24 2E
-1
16 + 5 = 21
Praktike: Adresa e var1 është 00400020. Adresa e variablit pasardhës pas
var1 është 0040006A. Sa bytes përdorën nga var1?
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
37
Numrat e Plotë me shenjë
Bit-i më i lartë tregon shenjën. 1 = negative, 0 = positive
1 1 1 1 0 1 1 0
0 0 0 0 1 0 1 0
sign bit
Negative
Positive
Nëse shifra më e lartë e një numri të plotë hexadecimal është
> 7, vlera është negative. Shembuj: 8A, C5, A2, 9D
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
38
Formimi i Komplementit me Dyshin
• Numrat Negativë paraqiten në formen e
komplementit sipas dyshit
• Paraqet të Kundërtin e shumës
Vini re që 00000001 + 11111111 = 00000000
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
39
Zbritja Binare
• Kur zbresim A – B, konvertojmë B tek komplementi
me 2-shin
• Shtojmë A te (–B)
0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0
– 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1
0 0 0 0 1 0 0 1
Praktikë: Zbrisni 0101 nga 1001.
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
40
Mësoni si të kryeni sa vijojnë:
• Formoni komplementin sipas 2-shit të një numri të
plotë hexadecimal
• Konvertoni binarë me shenjë në dhjetorë
• Konvertoni dhjetorë me shenjë në binarë
• Konvertoni dhjetorë me shenjë në hexadecimal
• Konvertoni hexadecimal me shenjë në dhjetorë
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
41
Shkallët (Ranges) e Nr. Integer me shenjë
Bit-i më i lartë rezervohet për shenjën. Kjo gjë kufizon rangun:
Praktikë: Cila është vlera më e madhe pozitive që mund të akomodohet në
20 bit-e?
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
42
Hapësira e rezervimit të Character-eve
• Sete Karacteresh
• Standard ASCII (0 – 127)
• Extended ASCII (0 – 255)
• ANSI (0 – 255)
• Unicode (0 – 65,535)
• Null-terminated String
• Matricë karakteresh e ndjekur nga një
null byte
• Përdorimi i tabelës ASCII
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
43
Paraqitja e të Dhenave Numerike
• pure binary
• mund të llogaritet drejtpërdrejt
• ASCII binary
• string shifrash: "01010101"
• ASCII decimal
• string shifrash: "65"
• ASCII hexadecimal
• string shifrash : “41"
Ne vazhdim: Veprimet Booleane
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
44
Në vazhdim
• Hyrje në Gjuhën Assembly
• Koncepti i Makinës Virtuale
• Paraqitja e të Dhenave
• Veprimet Buleane
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
45
Veprimet Buleane
• NOT
• AND
• OR
• Përparësia e Veprimeve
• Tabelat e Vërtetësisë
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
46
Algjebra e Bulit
• Bazohet në logjikën symbolike, e përcaktuar nga George Boole
• Shrehjet(Expressions) Buleane të krijuara nga:
• NOT, AND, OR
Shprehja Përshkrimi
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
47
NOT
• Ndryshon (e kundërta) e një vlere buleane
• Tabela e vërtetësisë për veprimin Bulean
NOT :
NOT
Diagrama e Urës Dixhitale për NOT:
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
48
AND
• Tabela e vërtetësisë për veprimin Bulean AND :
AND
Diagrama e Urës Dixhitale për AND:
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
49
OR
• Tabela e vërtetësisë për veprimin Bulean OR :
OR
Diagrama e Urës Dixhitale për OR:
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
50
Përparësia e Veprimeve
• Shëmbuj që tregojnë rradhën e veprimeve:
Shprehja Rradha e Veprimeve
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
51
Tabela vertetesie (1 of 3)
• Një funksion Boolean ka një ose më shumë hyrje
Boolean-e, dhe kthen një dalje të thjeshtë Buleane.
• A tabelë vërtetësie shfaq te gjitha hyrjet dhe daljet e
një funksioni Bulean
Shëmbull: X  Y
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
52
Tabela vertetesie (2 of 3)
• Shembull: X  Y
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
53
Tabela vërtetësie (3 of 3)
• Shëmbull: (Y  S)  (X  S)
mux
X
Y
S
Z
Multiplekser me dy hyrje
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
54
Përmbledhje
• Gjuha Assembly ju ndihmon të kuptoni si është
ndërtuar softi në nivelet e ulëta
• Gjuha Assembly ka një korrespondencë Një-me-Një
me Gjuhen e makines
• Çdo shtresë e një arkitekture kompjuterike që është
një abstraksion i një shtrese të makinës mund të jetë
harduer(hardware) ose softuer(software).
• Shprehjet Buleane janë thelbësore në ndërtimin e
harduerit dhe softuerit të kompjutërave
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
55
54 68 65 20 45 6E 64
Ç’ paraqesin këta numra?

More Related Content

What's hot

Ushtrime nga lenda e statistikes
Ushtrime nga lenda e statistikesUshtrime nga lenda e statistikes
Ushtrime nga lenda e statistikeskulla 2010
 
funksioni
funksioni funksioni
funksioni koralda
 
vijat e grades se II
vijat e grades se IIvijat e grades se II
vijat e grades se IIVieni Dapaj
 
Projekt matematik derivatet
Projekt matematik derivatet Projekt matematik derivatet
Projekt matematik derivatet Klodjan Hoxha
 
Testimi i hipotezave,mostra e madhe
Testimi i hipotezave,mostra e madheTestimi i hipotezave,mostra e madhe
Testimi i hipotezave,mostra e madheMenaxherat
 
Menyrat e zgjidhjes se ekuacionit te fuqise se dyte
Menyrat e zgjidhjes se ekuacionit te fuqise se dyteMenyrat e zgjidhjes se ekuacionit te fuqise se dyte
Menyrat e zgjidhjes se ekuacionit te fuqise se dyteTeutë Domi
 
Programimi Linear
Programimi LinearProgramimi Linear
Programimi LinearEuroLAB
 
Udhezim per bordin
Udhezim per bordinUdhezim per bordin
Udhezim per bordinesemeime
 
Kshillim ne karrier
Kshillim ne karrierKshillim ne karrier
Kshillim ne karrieravniv
 
Makroekonomia - BPV- Bruto Produkti Vendor
Makroekonomia - BPV- Bruto Produkti Vendor Makroekonomia - BPV- Bruto Produkti Vendor
Makroekonomia - BPV- Bruto Produkti Vendor Menaxherat
 
Pune me projekt statistika
Pune me projekt statistikaPune me projekt statistika
Pune me projekt statistikaArnold Beqiri
 
Ligjerata 9 treguesit e variacionit
Ligjerata 9   treguesit e variacionitLigjerata 9   treguesit e variacionit
Ligjerata 9 treguesit e variacionitcoupletea
 
Vlera ne kohe e parase
Vlera ne kohe e paraseVlera ne kohe e parase
Vlera ne kohe e paraseMenaxherat
 
Konceptet baze te probabilitetit 1
Konceptet baze te probabilitetit 1Konceptet baze te probabilitetit 1
Konceptet baze te probabilitetit 1Menaxherat
 

What's hot (20)

Ushtrime nga lenda e statistikes
Ushtrime nga lenda e statistikesUshtrime nga lenda e statistikes
Ushtrime nga lenda e statistikes
 
funksioni
funksioni funksioni
funksioni
 
vijat e grades se II
vijat e grades se IIvijat e grades se II
vijat e grades se II
 
Teoria e grafeve
Teoria e grafeveTeoria e grafeve
Teoria e grafeve
 
Projekt matematik derivatet
Projekt matematik derivatet Projekt matematik derivatet
Projekt matematik derivatet
 
Testimi i hipotezave,mostra e madhe
Testimi i hipotezave,mostra e madheTestimi i hipotezave,mostra e madhe
Testimi i hipotezave,mostra e madhe
 
03 web sherbimet
03 web sherbimet03 web sherbimet
03 web sherbimet
 
Menyrat e zgjidhjes se ekuacionit te fuqise se dyte
Menyrat e zgjidhjes se ekuacionit te fuqise se dyteMenyrat e zgjidhjes se ekuacionit te fuqise se dyte
Menyrat e zgjidhjes se ekuacionit te fuqise se dyte
 
Programimi Linear
Programimi LinearProgramimi Linear
Programimi Linear
 
Udhezim per bordin
Udhezim per bordinUdhezim per bordin
Udhezim per bordin
 
Kshillim ne karrier
Kshillim ne karrierKshillim ne karrier
Kshillim ne karrier
 
Tema e diplomes msc
Tema e diplomes msc Tema e diplomes msc
Tema e diplomes msc
 
L07 kostoja
L07 kostojaL07 kostoja
L07 kostoja
 
Makroekonomia - BPV- Bruto Produkti Vendor
Makroekonomia - BPV- Bruto Produkti Vendor Makroekonomia - BPV- Bruto Produkti Vendor
Makroekonomia - BPV- Bruto Produkti Vendor
 
Pune me projekt statistika
Pune me projekt statistikaPune me projekt statistika
Pune me projekt statistika
 
K 4 kompletimi i ciklit të kontabilitetit
K 4 kompletimi i ciklit të kontabilitetitK 4 kompletimi i ciklit të kontabilitetit
K 4 kompletimi i ciklit të kontabilitetit
 
Ligjerata 9 treguesit e variacionit
Ligjerata 9   treguesit e variacionitLigjerata 9   treguesit e variacionit
Ligjerata 9 treguesit e variacionit
 
Syprina e trapezit
Syprina e trapezitSyprina e trapezit
Syprina e trapezit
 
Vlera ne kohe e parase
Vlera ne kohe e paraseVlera ne kohe e parase
Vlera ne kohe e parase
 
Konceptet baze te probabilitetit 1
Konceptet baze te probabilitetit 1Konceptet baze te probabilitetit 1
Konceptet baze te probabilitetit 1
 

Viewers also liked

4G technology ppt By Rahul Yadv
4G technology ppt By Rahul Yadv4G technology ppt By Rahul Yadv
4G technology ppt By Rahul YadvRahul Yadav
 
Leksione 7 & 8 p
Leksione 7 & 8 pLeksione 7 & 8 p
Leksione 7 & 8 pfasma3
 
Leksione 5 & 6
Leksione 5 & 6Leksione 5 & 6
Leksione 5 & 6fasma3
 
Leksione 7 & 8
Leksione 7 & 8Leksione 7 & 8
Leksione 7 & 8fasma3
 
Leksione 9 & 10
Leksione 9 & 10Leksione 9 & 10
Leksione 9 & 10fasma3
 
Leksione 3 & 4
Leksione 3 & 4Leksione 3 & 4
Leksione 3 & 4fasma3
 
Zgjidhja e detyrave te kapitullit “Fizika Relativiste” te libri “Fizika 12”, ...
Zgjidhja e detyrave te kapitullit “Fizika Relativiste” te libri “Fizika 12”, ...Zgjidhja e detyrave te kapitullit “Fizika Relativiste” te libri “Fizika 12”, ...
Zgjidhja e detyrave te kapitullit “Fizika Relativiste” te libri “Fizika 12”, ...Liridon Muqaku
 
Leksione - Njohuri - Informatike
Leksione - Njohuri - InformatikeLeksione - Njohuri - Informatike
Leksione - Njohuri - Informatikeschizoidal
 
Informatika - Viti i pare
Informatika - Viti i pareInformatika - Viti i pare
Informatika - Viti i pareTarget
 
Limiti i Funksionit USHTRIME
Limiti i Funksionit USHTRIMELimiti i Funksionit USHTRIME
Limiti i Funksionit USHTRIMELiridon Muqaku
 
Bazat e Te Dhenave - ACCESS
Bazat e Te Dhenave  - ACCESSBazat e Te Dhenave  - ACCESS
Bazat e Te Dhenave - ACCESSAjla Hasani
 
4g wireless final ppt
4g wireless  final ppt4g wireless  final ppt
4g wireless final pptShelly
 
Huawei GSM Principles
Huawei GSM PrinciplesHuawei GSM Principles
Huawei GSM PrinciplesAchmad Fauzi
 

Viewers also liked (17)

4 g wireless technology
4 g wireless technology4 g wireless technology
4 g wireless technology
 
4G technology ppt By Rahul Yadv
4G technology ppt By Rahul Yadv4G technology ppt By Rahul Yadv
4G technology ppt By Rahul Yadv
 
Leksione 7 & 8 p
Leksione 7 & 8 pLeksione 7 & 8 p
Leksione 7 & 8 p
 
Leksione 5 & 6
Leksione 5 & 6Leksione 5 & 6
Leksione 5 & 6
 
Leksione 7 & 8
Leksione 7 & 8Leksione 7 & 8
Leksione 7 & 8
 
Leksione 9 & 10
Leksione 9 & 10Leksione 9 & 10
Leksione 9 & 10
 
Leksione 3 & 4
Leksione 3 & 4Leksione 3 & 4
Leksione 3 & 4
 
Zgjidhja e detyrave te kapitullit “Fizika Relativiste” te libri “Fizika 12”, ...
Zgjidhja e detyrave te kapitullit “Fizika Relativiste” te libri “Fizika 12”, ...Zgjidhja e detyrave te kapitullit “Fizika Relativiste” te libri “Fizika 12”, ...
Zgjidhja e detyrave te kapitullit “Fizika Relativiste” te libri “Fizika 12”, ...
 
Leksione - Njohuri - Informatike
Leksione - Njohuri - InformatikeLeksione - Njohuri - Informatike
Leksione - Njohuri - Informatike
 
Informatika - Viti i pare
Informatika - Viti i pareInformatika - Viti i pare
Informatika - Viti i pare
 
Besa e Sami Frasherit
Besa e Sami FrasheritBesa e Sami Frasherit
Besa e Sami Frasherit
 
Limiti i vargut
Limiti i vargutLimiti i vargut
Limiti i vargut
 
Limiti i Funksionit USHTRIME
Limiti i Funksionit USHTRIMELimiti i Funksionit USHTRIME
Limiti i Funksionit USHTRIME
 
Fusha Magnetike
Fusha MagnetikeFusha Magnetike
Fusha Magnetike
 
Bazat e Te Dhenave - ACCESS
Bazat e Te Dhenave  - ACCESSBazat e Te Dhenave  - ACCESS
Bazat e Te Dhenave - ACCESS
 
4g wireless final ppt
4g wireless  final ppt4g wireless  final ppt
4g wireless final ppt
 
Huawei GSM Principles
Huawei GSM PrinciplesHuawei GSM Principles
Huawei GSM Principles
 

Similar to Leksione 1 & 2

Ndërtimi i bazës së të dhënave në programin Access
Ndërtimi i bazës së të dhënave në programin AccessNdërtimi i bazës së të dhënave në programin Access
Ndërtimi i bazës së të dhënave në programin AccessRexhino Kovaci
 
Programming Languages
Programming LanguagesProgramming Languages
Programming LanguagesEgzon Mustafa
 
Gerta Kapllani - LINUX (OSCAL2014)
Gerta Kapllani - LINUX (OSCAL2014)Gerta Kapllani - LINUX (OSCAL2014)
Gerta Kapllani - LINUX (OSCAL2014)Open Labs Albania
 
C++ Workshop Presentation
C++ Workshop PresentationC++ Workshop Presentation
C++ Workshop PresentationOrven Bregu
 
Softveri sistemor informatike biznesore
Softveri sistemor informatike biznesoreSoftveri sistemor informatike biznesore
Softveri sistemor informatike biznesoreValdet Shala
 
Gjuhe Programuese ushtrimet C++
Gjuhe Programuese   ushtrimet   C++Gjuhe Programuese   ushtrimet   C++
Gjuhe Programuese ushtrimet C++Ajla Hasani
 

Similar to Leksione 1 & 2 (9)

Leksion_C.ppt
Leksion_C.pptLeksion_C.ppt
Leksion_C.ppt
 
Softwaret
SoftwaretSoftwaret
Softwaret
 
Ndërtimi i bazës së të dhënave në programin Access
Ndërtimi i bazës së të dhënave në programin AccessNdërtimi i bazës së të dhënave në programin Access
Ndërtimi i bazës së të dhënave në programin Access
 
Programming Languages
Programming LanguagesProgramming Languages
Programming Languages
 
Gerta Kapllani - LINUX (OSCAL2014)
Gerta Kapllani - LINUX (OSCAL2014)Gerta Kapllani - LINUX (OSCAL2014)
Gerta Kapllani - LINUX (OSCAL2014)
 
C++ Workshop Presentation
C++ Workshop PresentationC++ Workshop Presentation
C++ Workshop Presentation
 
Softveri sistemor informatike biznesore
Softveri sistemor informatike biznesoreSoftveri sistemor informatike biznesore
Softveri sistemor informatike biznesore
 
Gjuhe Programuese ushtrimet C++
Gjuhe Programuese   ushtrimet   C++Gjuhe Programuese   ushtrimet   C++
Gjuhe Programuese ushtrimet C++
 
projkti-ssh
projkti-sshprojkti-ssh
projkti-ssh
 

Leksione 1 & 2

  • 1. Leksione 1 dhe 2: Koncepte Bazë R. Vasili - Gjuha Assembly – Universiteti i «Ε. Çabej» Simestri I – Teknololgji Informacioni
  • 2. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 2 • Hyrje në Gjuhën Assembly • Koncepti i Makines Virtuale • Paraqitja e të Dhenave • Veprime Buleane
  • 3. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 3 Mirë se erdhet në Gjuhën Assembly • Gjuha Assembly është gjuha më e vjetër e programimit. • Nga të gjitha gjuhët, ajo është gjuha e ngjashme më e afërt te gjuha natyrale e kompjutërit. • Ka Akses Direkt te materiali(hardware) i kompjutërit. • Ndihmon për të kuptuar në një madhësi të konsideru- eshme arkitekturën e kompjutërit dhe sistemet e shfrytëzimit.
  • 4. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 4 Disa pyetje interesante për tu përgjigjur [1/4] • Çfarë formimi duhet të kemi? • Programim Kompjuteri (C++, C#, JAVA, VB…) • Çfarë është një assembler? • Një program që konverton programe me kod-burimor (source-code) nga gjuha assembly në gjuhë makine l(machine language) • MASM (Microsoft Assembler), TASM (Borland Turbo Assembler) • Lidhësi(Linker) (program shoqërues i Assembler-it) kombinon skedare individualë të krijuara nga një assembler në një program të vetëm të ekzekutueshëm. • Debugger-i pajis programuesit me një menyrë për të ndjekur ekzekutimin e një programi dhe ekzaminimin e përmbajtjes së kujtesës.
  • 5. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 5 Disa pyetje interesante per tu pergjigjur [2/4] • Ç’ tipe progamesh do krijojmë? • 16-Bit Real-Address Mode: MS-DOS, DOS emulator • 32-Bit Protected Mode: Microsoft Windows • Ç’ relacion ka gjuha assembly me atë të makines? • Korespondence Një-me-Një • Po me gjuhet C++ dhe Java? P.sh., X=(Y+4) *3 mov eax, Y add eax, 4 mov ebx, 3 imul ebx mov X, eax
  • 6. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 6 Disa pyetje interesante per tu pergjigjur [3/4] • Çfarë do mesojmë? • Parimet Bazë të Arkitektures së Komjutërit • Parimet Bazë të Logjikës Booleane • Si menaxhojnë kujtesën, si përdorin mënyrat real mode, protected mode dhe virtual mode proçesorët IA-32 • Si përkthejnë instruksionet në gjuhë assembly dhe kod të paster(native) makine kompiluesit(compilers) e gjuhëve të nivelit të lartë ( si C++) • Përmirësimet e teknikave të debugging në nivel-makine (p.sh., gabimet gjatë alokimit të kujtesës) • Si komunikojnë, programet aplikative, me sistemin e shfrytëzimit të kompjutërit nëpërmjet menaxhuesve të ndërprerjeve, thirrjeve të sistemit, dhe hapësirave të përbashkëta të kujtesës
  • 7. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 7 Disa pyetje interesante per tu pergjigjur [4/4] • A është gjuha Assembly portative? • Një gjuhë , programet burimore të së cilës mund të kompilohen dhe të ekzekutohen në një larmi të gjerë sistemesh kompjuterike lthuhet se është portative. • Gjuha Assembly nuk ben asnjë tentative për t’u berë portative. • Ajo është e lidhur ngushtë me një familje specifike proçesorësh. • Pse e studiojmë gjuhën Assembly? • Për programe në Sisteme të Ndërthurura(Embedded) • Për programe të përsosura si për shpejtësi (runtime speed ) ashtu dhe për menaxhim hapësire. • Për të fituar një kuptim të plotë të baskërveprimeve harduerit (hardware) , Sistemit të Shfrytëzimit dhe programeve aplikative • Për Drejtues Paisjesh(Device driver): programe që përkthejnë komandat e përgjithshme të Sistemit të Shfrytëzimit në referenca specifike të detaleve të harduerit
  • 8. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 8 Aplikacione në Gjuhë Assembly • Disa shembuj tipikë aplikacionesh: • Aplikacione Biznesi për një platform të vetme • Hardware device driver • Aplikacione Biznesi për shumë platforma • Sisteme të Ndërthurur & Lojëra Kompjuterike (shiko tabelën pasardhëse)
  • 9. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 9 Krahasimi i Ghuhës Assembly me Gjuhet e Nivelit të Lartë Tipi i Aplikacionit Gjuhë të Nivelit të Lartë Gjuha Assembly Aplikacion Biznesi, i shkruar për një platformë të vetme, me madhësi të mesme në të lartë. Struktura tipike e bejnë të lehtë të organizojnë dhe të mirë- mbajnë segmente të mëdha kodi. Struktura tipike minimale, keshtë mund të imponohet nga programues me nivele të ndryshme eksperience. Kjo shpie në vështirësi për mirëmbajtjen e kodit ekzistues. Hardware device driver Gjuha mund të mos na pajis me akses të drejtpërdrejt në hardware. Akoma dhe kur e bën, shpeshherë duhen përdorur teknika kodimi të komplikuara, gjë që sjell vështirësi në mirëmbajtje. Aksesi në hardware është i hapur dhe i thjeshtë. I lehtë për t u mirëmbajtur, kur programet janë të shkurtëra dhe të dokumentuara mirë. Aplikacione Biznesi të shkrojtur për platforma të shumëfishta (sisteme të ndryshme shfry- tëzimi) Zakonisht krejt portative. Kodi burimor mund të kompilohet në çdo sistem shfrytëzimi të planifikuar me ndryshime minimale. Duhet të rikodohet veç e veç për çdo platformë, shpesh duke përdorur një asemblues me sintaksë tjetër. Është shumë i vështirë për t’u mirëmbajtur. Sisteme të ndërthurur (embed- ded) dhe lojera kompjuterike që kërkojnë akses të drejtpërdrejt në hardware. Prodhon kod të ekzekutueshëm të tepërt, dhe mund të mos ekzekutohet në mënyrë efikase. Është ideal, për arsye se kodi i ekzekutueshëm është i vogël dhe ekzekutohet shumë shpejt.
  • 10. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 10 Në vazhdim • Hyrje • Koncepti i Makines Virtuale • Pasqyrimi i të Dhenave • Veprime Buleane
  • 11. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 11 Koncepti i Makinës Virtuale • Makinat Virtuale • Nivele Specifike të Makinës
  • 12. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 12 Makinat Virtuale [1/2] • Koncepti i Makinës Virtuale • Një mënyrë më efektive për të sqaruar relacionet midis materialit dhe softit të kompjutërave • Në In terms of programming languages • Çdo kompjuter ka një gjuhë të papërpunuar makine(native machine language )(Gjuhë L0) që ekzekutohet direkt në materialin (hardware) e tij • Zakonisht ndërtohet një gjuhë më e favorshme për njerëzit e bazuar në atë të makinës, e quajtur Language L1 • Programet e shkruar në L1 mund të ekzekutohen në dy mënyra të ndryshme: • Me interpretim – programi i nivelit L0 interpreton & ekzekuton instruksionet e nivelit L1 një nga një • Me përkthim – programi i nivelit L1 përkthehet terësisht në nivelin L0 , which then runs on the computer hardware
  • 13. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 13 Makinat Virtuale [2/2] • Në kushtet e një kompjutëri të dhenë • VM1 mund të ekzekutojë komanda të shkruara në gjuhën L1. • VM2 mund të ekzekutojë komanda të shkruara në gjuhën L2. • Procedura mund të përsëritet derisa të projektohet një makinë virtuale VMn e tillë që të suportojë një gjuhë të fuqishme dhe të lehtë për t’u përdorur. • Gjuha e programimit Java bazohet në konceptin e makinës virtuale. • Një program i shkrojtur në gjuhën Java përkthehet nga një kompilator Java në Java byte code. • Java byte code: një gjuhë e nivelit të ulët (low-level) që ekzekutohet shpejt gjatë kohës së ekzekutimit(run time) nga makina virtuale Java (JVM). • Makina virtuale Java(JVM) është implementuar në shumë sisteme kompjuterike të ndryshme, duke bërë programet Java relativisht të pavarura nga sistemi.
  • 14. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 14 Përkthimi i Gjuhëve Shqip: Pasqyroni shumën e A herë B plus C. C++: cout << (A * B + C); Gjuha Assembly : mov eax,A mul B add eax,C call WriteInt Gjuha e Makinës Intel : A1 00000000 F7 25 00000004 03 05 00000008 E8 00500000
  • 15. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 15 Nivelet Specifike të Makinës High-Level Language Assembly Language Operating System Instruction Set Architecture Microarchitecture Digital Logic Level 0 Level 1 Level 2 Level 3 Level 4 Level 5 (në vijim përshkruhen nivelet individuale . . . )
  • 16. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 16 Gjuhë të Nivelit të Lartë • Niveli 5 • Gjuhë të orientuara nga Applikacionet • C++, Java, Pascal, Visual Basic . . . • Programi kompilohet në gjuhë assembly (Niveli 4)
  • 17. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 17 Gjuha Assembly • Niveli 4 • Mnemonika instruksionesh që kanë korespondence një-me-një me gjuhen e makinës • Thirrje funksionesh të shkruar në nivelin e sistemit të shfrytëzimit (Niveli 3) • Programet përkthehen në gjuhë makine (Niveli 2)
  • 18. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 18 Sistemi i Shfrytëzimit • Niveli 3 • Pajis me shërbime programet e Nivelit 4 • Të përkthyera dhe të ekzekutuara te Niveli instruction set architecture (Niveli 2)
  • 19. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 19 Instruction Set Architecture • Niveli 2 • Njihet gjithashtu si gjuhë konvencionale makine(conventional machine language) • Ekzekutohet nga programet e Nivelit 1 (microarchitecture)
  • 20. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 20 Microarchitecture • Niveli 1 • Interpreton instruksione të makinës konvencionale (Niveli 2) • Ekzekutohet nga hardware shifror(Niveli 0)
  • 21. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 21 Logjika Shifrore (Digital Logic) • Niveli 0 • CPU, e ndërtuar nga ura shifrore logjike • Busi i Sistemit • Kujtesa • Implementohet me përdorimin e tranzistorëve bipolar Në vazhdim: Paraqitja e të dhenave
  • 22. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 22 Në vazhdim • Hyrje në Gjuhën Assembly • Koncepti i Makines Virtuale • Paraqitja e të Dhenave • Veprimet Buleane
  • 23. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 23 Paraqitja e të Dhenave • Numrat Binarë • Përkthime midis binarëve dhe dhjetorëve • Mbledhja me numra Binarë • Madhësitë e akomodimit të numrave të plotë • Numrat e plotë Hexadecimal • Përkthime midis dhjetorëve dhe hexadecimalëve • Zbritja Hexadecimale • Numra të plotë me shenjë • Zbritja Binare • Hapësira e akomodimit të Karaktereve(Character)
  • 24. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 24 Numra Binarë • Shifrat janë 1 dhe 0 • 1 = true • 0 = false • MSB – most significant bit(Bit-i më i rendësishëm) • LSB – least significant bit(Bit-i më pak i rendësi- shëm) • Numërimi i Bit-eve : 015 1 0 1 1 0 0 1 0 1 0 0 1 1 1 0 0 MSB LSB
  • 25. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 25 Numra Binarë • Çdo shifër (bit) është ose 1 ose 0 • Çdo shifër paraqet një fuqi të 2-shit: 1 1 1 1 1 1 1 1 27 26 25 24 23 22 21 20 Çdo numër binar është një shume fuqish të 2-shit
  • 26. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 26 Përkthimi i Binarëve në Dhjetor Komenti i peshës së pozicionit tregon se si llogaritim vlerën dhjetore të çdo bit-i binar: dec = (Dn-1  2n-1) + (Dn-2  2n-2) + ... + (D1  21) + (D0  20) D = shifër binare digit Nr. binar 00001001 = Nr. dhjetor 9: (1  23) + (1  20) = 9
  • 27. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 27 Përkthimi i Dhjetorëve pa shenjë në Binarë • Pjestojmë në menyrë të përseritur numrin dhjetor me 2. Çdo mbetje është një shifër binare në vlerën e përkthyer: 37 = 100101
  • 28. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 28 Mbledhja Binare • Fillojmë me LSB, mbledhim çdo çift shifrash, duke përfshirë mbartjen nëse është e pranishme. 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 + 0 0 0 0 1 0 1 1 1 (4) (7) (11) carry: 01234bit position: 567
  • 29. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 29 Madhësitë e akomodimit të Numrave Integer byte 16 8 32 word doubleword 64quadword Cili është numri më i madh i plotë pa shenjë që mund të akomodohet në 20 bit? Madhësi normale:
  • 30. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 30 Numrat e plotë Hexadecimal Vlera Binare janë paraqitur si hexadecimale.
  • 31. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 31 Përkthimi i numrave Binarë në Hexadecimal • Çdo shifër hexadecimale i korrespondojnë 4 bit binarë. • Shembull: Përktheni numrin e plotë binar 000101101010011110010100 në hexadecimal:
  • 32. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 32 Shndërrimi i numrave Hexadecimal në Dhjetorë • Shumëzojmë çdo shifër me fuqinë korresponduese të 16-es: dec = (D3  163) + (D2  162) + (D1  161) + (D0  160) • Numri Hex 1234 barazohet me (1  163) + (2  162) + (3  161) + (4  160), ose numrin dhjetor 4,660. • Numri Hex 3BA4 barazohet me (3  163) + (11 * 162) + (10  161) + (4  160), ose numrin dhjetor 15,268.
  • 33. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 33 Fuqitë e 16 Përdorën kur llogaritim vlera hexadecimale deri në 8 shifra të gjatë:
  • 34. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 34 Shndërrimi i numrave Dhjetorë në Hexadecimal dhjetor 422 = 1A6 hexadecimal
  • 35. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 35 Mbledhja Hexadecimale • Pjestoni shumën e dy shifrave me numrin e bazës (16). Herësi bëhet vlera e mbartur, dhe mbetja është shuma e shifrave. 36 28 28 6A 42 45 58 4B 78 6D 80 B5 11 21 / 16 = 1, mbetja 5 Teknikë e rendësishme: Programuesit mbledhin dhe zbresin shpesh adresën e variablave dhe instruksioneve.
  • 36. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 36 Zbritja Hexadecimale • Kur kërkohet një hua nga shifra në të majtë, shtoni 16 (dhjetor) te vlera e shifrës aktuale: C6 75 A2 47 24 2E -1 16 + 5 = 21 Praktike: Adresa e var1 është 00400020. Adresa e variablit pasardhës pas var1 është 0040006A. Sa bytes përdorën nga var1?
  • 37. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 37 Numrat e Plotë me shenjë Bit-i më i lartë tregon shenjën. 1 = negative, 0 = positive 1 1 1 1 0 1 1 0 0 0 0 0 1 0 1 0 sign bit Negative Positive Nëse shifra më e lartë e një numri të plotë hexadecimal është > 7, vlera është negative. Shembuj: 8A, C5, A2, 9D
  • 38. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 38 Formimi i Komplementit me Dyshin • Numrat Negativë paraqiten në formen e komplementit sipas dyshit • Paraqet të Kundërtin e shumës Vini re që 00000001 + 11111111 = 00000000
  • 39. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 39 Zbritja Binare • Kur zbresim A – B, konvertojmë B tek komplementi me 2-shin • Shtojmë A te (–B) 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 – 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 0 0 1 Praktikë: Zbrisni 0101 nga 1001.
  • 40. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 40 Mësoni si të kryeni sa vijojnë: • Formoni komplementin sipas 2-shit të një numri të plotë hexadecimal • Konvertoni binarë me shenjë në dhjetorë • Konvertoni dhjetorë me shenjë në binarë • Konvertoni dhjetorë me shenjë në hexadecimal • Konvertoni hexadecimal me shenjë në dhjetorë
  • 41. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 41 Shkallët (Ranges) e Nr. Integer me shenjë Bit-i më i lartë rezervohet për shenjën. Kjo gjë kufizon rangun: Praktikë: Cila është vlera më e madhe pozitive që mund të akomodohet në 20 bit-e?
  • 42. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 42 Hapësira e rezervimit të Character-eve • Sete Karacteresh • Standard ASCII (0 – 127) • Extended ASCII (0 – 255) • ANSI (0 – 255) • Unicode (0 – 65,535) • Null-terminated String • Matricë karakteresh e ndjekur nga një null byte • Përdorimi i tabelës ASCII
  • 43. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 43 Paraqitja e të Dhenave Numerike • pure binary • mund të llogaritet drejtpërdrejt • ASCII binary • string shifrash: "01010101" • ASCII decimal • string shifrash: "65" • ASCII hexadecimal • string shifrash : “41" Ne vazhdim: Veprimet Booleane
  • 44. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 44 Në vazhdim • Hyrje në Gjuhën Assembly • Koncepti i Makinës Virtuale • Paraqitja e të Dhenave • Veprimet Buleane
  • 45. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 45 Veprimet Buleane • NOT • AND • OR • Përparësia e Veprimeve • Tabelat e Vërtetësisë
  • 46. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 46 Algjebra e Bulit • Bazohet në logjikën symbolike, e përcaktuar nga George Boole • Shrehjet(Expressions) Buleane të krijuara nga: • NOT, AND, OR Shprehja Përshkrimi
  • 47. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 47 NOT • Ndryshon (e kundërta) e një vlere buleane • Tabela e vërtetësisë për veprimin Bulean NOT : NOT Diagrama e Urës Dixhitale për NOT:
  • 48. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 48 AND • Tabela e vërtetësisë për veprimin Bulean AND : AND Diagrama e Urës Dixhitale për AND:
  • 49. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 49 OR • Tabela e vërtetësisë për veprimin Bulean OR : OR Diagrama e Urës Dixhitale për OR:
  • 50. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 50 Përparësia e Veprimeve • Shëmbuj që tregojnë rradhën e veprimeve: Shprehja Rradha e Veprimeve
  • 51. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 51 Tabela vertetesie (1 of 3) • Një funksion Boolean ka një ose më shumë hyrje Boolean-e, dhe kthen një dalje të thjeshtë Buleane. • A tabelë vërtetësie shfaq te gjitha hyrjet dhe daljet e një funksioni Bulean Shëmbull: X  Y
  • 52. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 52 Tabela vertetesie (2 of 3) • Shembull: X  Y
  • 53. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 53 Tabela vërtetësie (3 of 3) • Shëmbull: (Y  S)  (X  S) mux X Y S Z Multiplekser me dy hyrje
  • 54. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 54 Përmbledhje • Gjuha Assembly ju ndihmon të kuptoni si është ndërtuar softi në nivelet e ulëta • Gjuha Assembly ka një korrespondencë Një-me-Një me Gjuhen e makines • Çdo shtresë e një arkitekture kompjuterike që është një abstraksion i një shtrese të makinës mund të jetë harduer(hardware) ose softuer(software). • Shprehjet Buleane janë thelbësore në ndërtimin e harduerit dhe softuerit të kompjutërave
  • 55. Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine 55 54 68 65 20 45 6E 64 Ç’ paraqesin këta numra?