You are on page 1of 37

Mikroilemciler

Say gsterimleri

erik
Say gsterimleri
Ynsz, Yn byklk, Ones complement, Twos

complement, biased
Gerek saylar
Single Precision, Double Precision

BCD Saylar
ASCII Saylar Shift ve Rotate

Veri gsterimi
Bilgisayarlar, binary deerler zerinde alrlar

(transistrlerden olumalarnn bir sonucu) Saylarn, farkl binary gsterimleri bulunmaktadr:


Sadece pozitif saylar 2. Pozitif ve negatif saylar 3. nsanlar taraafndan olay bir ekilde anlalma gereklilii 4. Bilgilsayar ilemlerinde hz gereksinimleri
1.

Tam say gsterimleri


Genelde kullanlan 5 adet tam say gsterimi

bulunmaktadr:
1. 2. 3.

4.
5.

Ynsz Yn ve byklk Ones complement Twos complement Biased (daha az bilinir)

Tam say gsterimleri (devam)


Farkl zamanlarda, farkl gsterimler kullanlmtr.

Gnmz bilgisayarlarnn gounluu twos

complement gsterim kullanrlar. nk,


Donanm daha hzl alr Donanm daha basittir (hzl almasn da salar)

Ynsz saylar
Daha nceden de bilgiiniz standart binary

kodlama Sadece pozitif saylar gsterilir. n bit: 0 ile 2n - 1 arasn gsterir rnekler:
5: 0000 0101 134: 1000 0110

Yn byklk
Pozitif ve negatif saylar gsterilebilir.

MSB (most significant bit en nemli bit), yn

belirtmek iin kullanlr. Pozitif saylar iin MSB 0, negatif saylar iin 1dir rnekler:
5: 0000 0101 -5: 1000 0101

Ones Complement
Pozitif saylar, ynsz ile ayn ekilde gsterilir.

Negatiflik iin ise, pozitif gsterimdeki tm bitlerin

tersleri alnr. rnekler:


5: 0000 0101 -5: 1111 1010

Twos Complement
Pozitif saylarn gsterimi, ynsz gsterim ile

ayndr. Negatiflik, ones complement alndktan sonra 1 ilave edilerek bulunur. rnekler:
5: 0000 0101 -5: 1111 1011

Biased gsterim
2n-1 veya 2n-1-1 saylarndan biri bias deeri

olarak seilir. Tam say deerine, bu deer ilave edilerek gerek deere ulalr. Sonucun, ynsz gsterimi, biased gsterim olarak bulunur. rnekler:
bias=127 ise, 5: 1000 0100 (132)

bias=127 ise -5: 0111 1010 (122)

10

Twos Complementde ynl geniletme


8 bitlik ynl bir saynn 16 bit olarak ifade edilmesinin

gerekli olduu durumlarda kullanlr. Bu durumda, en soldaki bit (MSB) tekrar edilir. rnek:
5: 0000 0101 (8 bit) 0000 0000 0000 0101 (16 bit) -5: 1111 1010 (8 bit) 1111 1111 1111 1011 (16 bit)

11

Karakter gsterimi
Karakter gsteriminde, ASCII kodlar kullanlr

Karakterler 8 bit olarak gsterilir.


rnekler:
A: 0100 0001 (65 veya 41h) B: 0100 0010 (66 veya 42h) 0: 0011 0000 (48 veya 30h) 9: 0011 1001 (57 veya 39h)

12

String->tam say dnm


0 karakteri ile 0 says farkldr.

354 karakter dizisini 354 saysna dntrmek

iin aadaki algorita kullanlr:


3 oku ve 3e dntr (30h=0 kart) 5 oku ve 5e dntr TamSay= 3 * 10 + 5 = 35 4 oku ve 4e dntr TamSay= 35 * 10 + 4 = 354

13

Gerek saylarn gsterimi


Gerek saylar (veya floating-point saylar),

bilgisayar programlarnda sklkla karlalr Gerek bir say, binary sisteme evrilmelidir Farkl gsterimler mevcuttur. Ancak Intel mikroilemciler, IEEE 754, v10.0 standardn kullanrlar. Intel 8086, floating point komutlar iermez. Bu komutlarn kodlanmas gereklidir.

14

Gerek saylarn binaryye dntrlmesi


Sayy, integer ve fractional ksmlarna ayrnz.

Integer ksm, kolayca binaryye evrilir.


Fractional ksm ise, srekli olarak iki ile arpp

integer ksm alnarak bulunur.

15

rnek: 64.2nin binaryye dntrlmesi


Sayy 64 ve 0.2 olarak ikiye ayr

64n binary gsterimi 100 0000dr


0.2nin gsterimi, aadaki ekilde bulunur:
0.2 * 2 = 0.4 0 (En nemli bit) 0.4 * 2 = 0.8 0 0.8 * 2 = 1.6 1 0.6 * 2 = 1.2 1 0.2 * 2 = 0.4 0 (kendini tekrar eder) 0.2 = 0.0011 0011 0011

Bu durumda, 64.2 u ekilde gsterilebilir: 100

0000.0011 0011 0011


16

Bilimsel gsterim
Gerek saylar, normalize edilmeli (normalized)

ve bilimsel gsterimde (scientific notation) yazlmaldr. Bilimsel gsterimde, bir say ksmdan oluur:
Sign

Mantissa
Exponent

Normalize formda, mantissann integer ksm

1dir

17

rnek: 64.2nin bilimsel gsterimi


64.2 binary olarak u ekilde gsterilebilir:

1.00 0000 0011 0011 0011 26


Burada, 1.00 0000 0011 0011 0011 ksmna

mantissa ad verilir. 6 ksmna ise exponent ad verilir. Sign, artdr (+).

18

IEEE 754 Standard


IEEE 754 standardna gre, floating point saylar,

32 bit veya 64 bit olarak gsterilir. 32 bitlik versiyona single-precision ve 64 bitlik versiyona ise double-precision ad verilir.

19

Single Precision
31 30 23 22 0

Exponent

Mantissa

lk bit (31. bit), yn gsterir (0 ise pozitif ve 1 ise

negatiftir) Sonraki 8 bit (23-30) biased exponent (bias = 127) ksmdr Sonraki 23 bit ise (0-22) mantissa nn 24 bitini gsterir.
Mantissann ilk bitinin gsterilmesine gerek yoktur.

20

Double Precision
63 62 52 51 0

Exponent

Mantissa

lk bit (63. bit), yn gsterir (0 ise pozitif ve 1 ise

negatiftir) Sonraki 11 bit (52-62) biased exponent (bias = 1023) ksmdr Sonraki 52 bit ise (0-51) mantissa nn 52 bitini gsterir.
Mantissann ilk bitinin gsterilmesine gerek yoktur.

21

64.2 (Single Precision)


64.2 pozitif olduu iin, yn biti 0dr.

Exponent 6dr; 127 ilave edilir ve 133 deerine

ulalr(6 + 127 = 133 = 1000 0101) Mantissa 1.00 0000 0011 0011 0011 dir Integer ksmndaki 1 ihmal edilir ve fractional ksmdan 23 bit alnr: 000 0000 0110 0110 0110 0110 Birletir:0100 0010 1000 0000 0110 0110 0110 0110 (veya 42806666h)

22

64.2 (Double Precision)


64.2 pozitif olduu iin, yn biti 0dr

Exponent 6dr; 1023 ilave edilir ve 1029 deerine

ulalr (6 + 1023 = 1029 = 100 0000 0101) Mantissa 1.00 0000 0011 0011 0011 dr Integer ksmndaki 1 ihmal edilir ve fractional ksmdan 52 bit alnr: 0000 0000 1100 1100 1100 1100 1100 1100 1100 1100 1100 1100 1100 Birletir: 0100 0000 0101 0000 0000 1100 1100 1100 1100 1100 1100 1100 1100 1100 1100 1100 (veya 40500CCCCCCCCCCCh)
23

Ayrcalklar
Sfr, tm bitler sfr olarak gsterilir

Sonsuz saysn gstermek iin, exponent

ksmndaki tm bitler bir, mantissadaki tm bitler sfr olarak deerine atanr. Yn biti ise, pozitif veya negatifi gsterir.
+ = 0 1111 1111 000 0000 0000 0000 0000 0000 - = 1 1111 1111 000 0000 0000 0000 0000 0000

24

Egzersizler
12.3n Single ve Double precision gsterimlerini

hesaplaynz (cevap: 4144 CCCDh ve 4028 9999 9999 999Ah) -23.4n Single ve Double precision gsterimlerini hesaplaynz (cevap: C1BB 3333h ve C037 6666 6666 6666h) 3F80 0000h, hangi floating point saynn single precision gsterimidir?

25

BCD (Binary Coded Decimal) Veri


Baz durumlarda, tam saylarn her basaman 4

bit olarak gstermek gerekli olabilir. rnein, 1234h, 1234 decimal deerini gsterebilir. Bu saylara BCD saylar ismi verilir. BCD saylar ile kullanlmak zere zel komutlar bulunmaktadr.

26

DAA
DAA: Decimal Adjust after Addition

ki BCD saynn AL registernda yaplan toplama

ileminin sonularn dzeltir. rnek:


MOV AL, 15 ; AL = 0Fh DAA ; AL = 15h

27

DAA rnek
BX ve DX registerlarnda bulunan iki 4-digit BCD saynn

toplama sonucu CX registernda BCD olarak saklanacaktr.


MOV DX, 1234h MOV BX, 3099h MOV AL, BL ADD AL, DL DAA MOV CL, AL MOV AL, BH topla) ADC AL, DH DAA MOV CH, AL ; ; ; ; ; ; ;

1234 BCD saysn sakla 3099 BCD saysn sakla Dk bayt basamaklarn topla AL = 34h + 99h = CDh CF = 1, AL = 33h (133) Dsk bayttaki sonucu sakla AL = 30h (Yksek basamaklar

; AL = 43h ; CF = 0, AL = 43h ; Yksek bayttaki sonucu sakla

28

DAS
DAS: Decimal Adjust after Subtraction

AL registernda bulunan iki BCD deerinin fark

sonucunu dzeltin. DAAya benzer, ancak karma ileminden sonra kullanlr.

29

ASCII kodlanm saylar


rnein, 19, 3139h olarak gsterilebilir. 1in

ASCII kodu31h (49) ve 9un ASCII kodu 39h (57) dir. ASCII kodlanm saylar iin zel komutlar bulunmaktadr: AAA, AAD, AAM ve AAS.

30

AAA
AAA: ASCII Adjust after Addition AH ve AL registerlarndaki iki ASCII kodlanm

saynn toplam sonucunu dzeltir. AL zerinde alr. AL ve AHyi deitirir. AAAdan sonra AXe 3030h ilave edelim. rnek:
MOV AX, '01' kodu) ADD AL, '9' AAA ADD AX, 3030h kodu)
31

; AX = 3031h (1in ASCII ; AL = 6Ah ; AH = 01h, AL = 00h ; AX = 3130 (10un ASCII

Dier ASCII Kod operasyonlar


AAD: ASCII Adjust before Division

AAM: ASCII Adjust after Multiplication


AAS: ASCII Adjust after Subtraction

32

Shift ve Rotate
Shift ve rotate komutlar, binary bit seviyesinde

binary saylar deitirir. I/O aygtlarn kontrol eden alt seviye kontrol yazlmlarnda sklkla kullanlr. Shift/Rotate adedi, ivedi bir deer veya CL registerndaki deer olabilir. rnek:
SHL AX, 1 SHR BX, CL

33

Shift
Bir register veya hafza adresindeki veri, sola

veya saa kaydrlr.


Basit aritmetik ilemler yapar: 2+n ile arpm (sola

shift) ve 2-n ile blm (saa shift).


Mikroilemci komut setinde 4 adet shift komutu

bulunur:
ki tane mantksal; iki tane aritmetik shift

34

Shift Komutlar
Mantksal shiftler

(SHL, SHR), bota kalan bite 0 deerini verir. Aritmetik shift operasyonlar ise
Saa shiftte 0 ilave

edilir. Sola shiftte ise, yn biti kopyalanr.


35

Mantksal vs. Aritmetik?


Mantksal shift, ynsz verileri arpar veya bler.

Aritmetik shift, ynl saylar arpar veya bler.


Sola shift operasyonu, her shift ilemi iin 2 ile

arpar. Saa shift operasyonu, her shift ilemi iin 2 ile bler. 2 kere shift operasyonu, 4 ile arpar veya bler.

36

Rotate

37

You might also like