Pengalamatan Bit

40
Pengalamatan Bit Pengalamatan Bit Pengalamatan bit adalah penunjukan alamat lokasi bit baik dalam RAM internal (byte 32H sampai dengan 47H) atau bit perangkat keras. Untuk melakukan pengalamatan bit digunakan simbol titik (.) misalnya PSW.3 , PSW.4 1

description

Pengalamatan Bit. Pengalamatan bit adalah penunjukan alamat lokasi bit baik dalam RAM internal (byte 32H sampai dengan 47H) atau bit perangkat keras. Untuk melakukan pengalamatan bit digunakan simbol titik (.) misalnya PSW.3 , PSW.4. Tabel Pengalamatan Bit. Tabel Pengalamatan Bit. - PowerPoint PPT Presentation

Transcript of Pengalamatan Bit

Page 1: Pengalamatan Bit

• Pengalamatan BitPengalamatan Bit

Pengalamatan bit adalah penunjukan alamat lokasi bit baik dalam RAM internal (byte 32H sampai dengan 47H) atau bit perangkat keras. Untuk melakukan pengalamatan bit digunakan simbol titik (.) misalnya PSW.3 , PSW.4

1

Page 2: Pengalamatan Bit

Tabel Pengalamatan BitTabel Pengalamatan Bit

Simbol Posisi Bit Alamat Bit Nama

CY PSW.7 D7H Carry Flag

AC PSW.6 D6H Auxiliary Carry Flag

FO PSW.5 D5H Flag 0

2

Page 3: Pengalamatan Bit

Tabel Pengalamatan BitTabel Pengalamatan Bit

Simbol Posisi Bit Alamat Bit Nama

RS1 PSW.4 D4H Reg. Bank Select bit 1

RS0 PSW.3 D3H Reg. Bank Select bit 0

OV PSW.2 D2H Overflow flag

P PSW.0 D0H Parity Flag

3

Page 4: Pengalamatan Bit

Tabel Pengalamatan BitTabel Pengalamatan Bit

Simbol Posisi Bit Alamat Bit Nama

TF1 TCON.7 8FH Timer 1 Overflow Flag

TR1 TCON.6 8EH Timer 1 Run Control Flag

TF0 TCON.5 8DH Timer 0 Overflow Flag

TR0 TCON.4 8CH Timer 0 Run Control Flag

4

Page 5: Pengalamatan Bit

Tabel Pengalamatan BitTabel Pengalamatan Bit

Simbol Posisi Bit Alamat Bit Nama

IE1 TCON.3 8BH Interrupt 1 Edge Flag

IT1 TCON.2 8AH Interrupt 1 Type Control

IE0 TCON.1 89H Interrupt 0 Edge Flag

IT0 TCON.0 88H Interrupt 0 Type Control

5

Page 6: Pengalamatan Bit

Tabel Pengalamatan BitTabel Pengalamatan Bit

Simbol Posisi Bit Alamat Bit Nama

SM0 SCON.7 9FH Serial Mode Control Bit 0

SM1 SCON.6 9EH Serial Mode Control Bit 1

SM2 SCON.5 9DH Serial Mode Control Bit 2

REN SCON.4 9CH Rceiver enable

6

Page 7: Pengalamatan Bit

Tabel Pengalamatan BitTabel Pengalamatan Bit

Simbol Posisi Bit Alamat Bit Nama

TB8 SCON.3 9BH Transmit bit 8

RB8 SCON.2 9AH Receiver bit 8

T1 SCON.1 99H Transmit Interrupt Flag

R1 SCON.0 98H Receiver Interrupt Flag

7

Page 8: Pengalamatan Bit

Tabel Pengalamatan BitTabel Pengalamatan Bit

Simbol Posisi Bit Alamat Bit Nama

EA IE.7 AFH Enable All Interrupt

ES IE.6 ACH Enable Serial Port Interrupt

ET1 IE.5 ABH Enable Timer 1 Interrupt

EX1 IE.4 AAH Enable External Int. 1

ET0 IE.1 A9H Enable Timer 0 Interrupt

EX0 IE.0 A8H Enable External Int. 0

8

Page 9: Pengalamatan Bit

Tabel Pengalamatan BitTabel Pengalamatan Bit

Simbol Posisi Bit Alamat Bit Nama

RD - B7H Read Data External Memory

WR - B6H Write Data External Memory

T1 - B5H Timer/Counter 1 Ext. Flag

T0 - B4H Timer/Counter 0 Ext. Flag

9

Page 10: Pengalamatan Bit

Tabel Pengalamatan BitTabel Pengalamatan Bit

Simbol Posisi Bit Alamat Bit Nama

INT 1 B3H Interrupt 1 Input Pin

INT 0 B2H Interrupt 0 Input Pin

TxD B1H Serial Port Transmit Pin

RxD B0H Serial Port Receiver Pin

10

Page 11: Pengalamatan Bit

Tabel Pengalamatan BitTabel Pengalamatan Bit

Simbol Posisi Bit Alamat Bit Nama

PS IP.4 BCH Serial Port Interrupt Priority

PT1 IP.3 BBH Timer 1 Interrupt Priority

PX1 IP.2 BAH External Interrupt 1 Priority

PT0 IP.1 B9H Timer 0 Interrupt Priority

PX0 IP.0 B8H External Interrupt 0 Priority

11

Page 12: Pengalamatan Bit

• Pengalamatan KodePengalamatan Kode Pengalamatan kode merupakan pengalamatan

ketika operand merupakan alamat dari instruksi jump dan call ( ACALL, JMP, LJMP, dan LCALL ). Biasanya operand tersebut akan menunjuk ke suatu alamat yang telah diberi label sebelumnya seperti pada contoh berikut :

ACALL Delay..............................

Delay: MOV B, # 0FFH

Loop_Delay: DJNZ B, Loop_Delay RET 12

Page 13: Pengalamatan Bit

• Pengalamatan KodePengalamatan Kode

Pada Listing program diatas perintah ACALL Delay mempunyai operand yang menunjuk ke label Delay sehingga pada saat perintah ini dijalankan, program akan melompat ke lokasi memori yang diberi nama label/kode Delay.

13

Page 14: Pengalamatan Bit

b. Ekspresi Assemblerb. Ekspresi Assembler Dalam memberikan sebuah nilai pada operand dapat dilakukan dengan langsung memberikan nilai yang diinginkan seperti pada perintah

MOV 00H,#05H Instruksi diatas mempunyai arti memberikan nilai 05H pada alamat 00H.Cara lain, dengan menggunakan lambang yang telah ditentukan oleh assembler, seperti MOV R0,#05HInstruksi diatas juga mempunyai arti memberikan nilai 05H pada register R0. Register ini merupakan alamat 00H pada bank 0.

14

Page 15: Pengalamatan Bit

Dan cara yang ketiga yaitu dengan menggunakan ekspresi assembler seperti yang akan dibahas berikut.Dengan ekspresi assembler, sebuah operand dapat diekspresikan dalam bermacam – macam bentuk sesuai keinginan pembuat program. Hal ini membuat pembuatan program dapat dilakukan lebih mudah.

15

Page 16: Pengalamatan Bit

Basis BilanganBasis BilanganMikroprosesor Intel menggunakan akhiran “B” untuk ekspresi biner, “Q” untuk ekspresi oktal, “D” untuk ekspresi desimal dan “H” untuk ekspresi heksa. Oleh karena itu, sebuah bilangan 10 desimal dapat diekspresikan sebagai berikut :

00001010B untuk biner12Q untuk oktal10D atau 10 (tanpa akhiran)

untuk desimal

0AH untuk heksa16

Page 17: Pengalamatan Bit

Untuk perintah – perintah yang berhubungan dengan I/O penggunaan ekspresi biner akan lebih mempermudah karena kondisi setiap bit dari I/O terekspresi lebih jelas dalam bentuk ini.

Contoh :Untuk mengaktifkan LED yang terhubung pada P1.5 dan P1.7 saja dengan mode aktif logika 0 dan nonaktif pada logika 1, perintah dapat dituliskan sebagai berikut :Mov P1, # 01011111B 17

Page 18: Pengalamatan Bit

Pada perintah – perintah ketika operand yang diekspresikan berupa bilangan yang harus dihitung secara visual oleh pembuat program, ekspresi dalam desimal akan lebih mempermudah.

Contoh : Untuk membentuk penundaan dengan

melakukan looping ( putaran ) sebanyak 10 kali di tempat sebelum meneruskan program, perintah dapat dituliskan sebagai berikut :

MOV R7,#10D ; R7 diisi dengan nilai yang ; diekspresikan dam

bentuk ; desimal; ( akhiran D tidak harus ; dituliskan dalam ; bentuk

ini )Loop: DJNZ R7, Loop

18

Page 19: Pengalamatan Bit

Dalam penulisan ekspresi bentuk heksa, harus selalu diawali dengan bilangan seperti pada ekspresi A5H harus diawali dengan "0" sehingga menjadi 0A5H. Hal ini dibuktikan oleh program assembly untuk membedakan apakah operand tersebut merupakan label ( yang harus diawali dengan karakter ) atau nilai ( yang harus diawali dengan bilangan ).

19

Page 20: Pengalamatan Bit

String Karakter

Ekspresi string dilakukan dengan memberikan tanda ' ' di antara nilai yang diinginkan. Ekspresi ini sangat berguna jika pembuat program ingin menuliskan perintah yang membutuhkan nilai ASCII dari suatu operand.

20

Page 21: Pengalamatan Bit

Contoh :

Jika pembuat program ingin menuliskan nilai ASCII dari karakter B ke dalam akumulator,

perintah:MOV A,#'B’

akan lebih mudah ditulis daripada perintah MOV A,#42H karena pembuat program masih harus melihat tabel ASCII terlebih dahulu.

21

Page 22: Pengalamatan Bit

• Operator AssemblerOperator Assembler

Ada empat belas operator dalam assembler yang meliputi operator aritmatika, operator logika, operator khusus, dan operator hubungan (relasional)

22

Page 23: Pengalamatan Bit

Operator AritmatikaEkspresi ini digunakan untuk mempermudah membuat program dalam pemberian nilai pada operand yang memerlukan proses perhitungan terlebih dahulu. Operator aritmatika terdiri atas :

+ untuk penambahan- untuk pengurangan* untuk perkalian/ untuk pembagianMOD untuk modulo (mengekspresikan sisa setelah pembagian )

23

Page 24: Pengalamatan Bit

Contoh :

Mov A, #10+10Hdapat diekspresikan menjadi

Mov A,#1AH atau

Mov A,325 MOD 7dapat diekspresikan menjadi

Mov A,#3.

24

Page 25: Pengalamatan Bit

Operator Logika

Ekspresi ini digunakan untuk mempermudah pembuat program dalam pemberian nilai pada operand yang memerlukan proses operasi logika terlebih dahulu. Operator – operator tersebut terdiri atas :

OR untuk operasi logika ORAND untuk operasi logika ANDXOR untuk operasi logika EXORNOT untuk operasi logika komplemen

25

Page 26: Pengalamatan Bit

Contoh :

Mov A,#39 OR 0FHadalah sama dengan

Mov A,#47

Mov A,#-3 adalah sama dengan

Mov A,# NOT 3

26

Page 27: Pengalamatan Bit

Operator Khusus

Operator-operator ini terdiri atas :

SHR untuk menggeser ke kananContoh :

Mov A,#00001000b SHR 1

adalah sama denganMov A, # 00000100b

27

Page 28: Pengalamatan Bit

SHL untuk menggeser ke kiri

Contoh :Mov A,#00001000B SHL 1

adalah sama denganMov A, # 00010000b

28

Page 29: Pengalamatan Bit

HIGH untuk mengambil nilai

byte tinggi

Contoh :Mov A,#HIGH 1234H

adalah sama denganMov A, # 12H

29

Page 30: Pengalamatan Bit

LOW untuk mengambil nilai

byte rendah

Contoh :Mov A,#LOW 1234H

adalah sama dengan

Mov A, # 34H

30

Page 31: Pengalamatan Bit

( ) untuk operasi yang harus didahulukan

Contoh :Mov A,#(10+4)*3

bilangan 10 desimal terlebih dahulu dijumlahkan dengan 4

sebelum dikali dengan 3 dengan

adanya operator ()31

Page 32: Pengalamatan Bit

Operator-operator Relasional

Operator-operator ini digunakan di antara dua buah operand dan hasilnya adalah 0000H untuk salah serta FFFFH untuk benar.

32

Page 33: Pengalamatan Bit

Operator-operator Relasional ini terdiri atas ;

EQ atau = untuk ekspresi sama dengan

Contoh :Mov A,# 5=5 akan

menghasilkan FFH, yaitu

Mov A,#0FFH karena hasilnya benar 33

Page 34: Pengalamatan Bit

NE atau < > untuk ekspresi tidak sama dengan

Contoh :

Mov A,#5 NE 4 akan menghasilkan FFH

YaituMov A, # 0FFH karena hasilnya benar

34

Page 35: Pengalamatan Bit

LT atau < untuk lebih kecil

Contoh :Mov A,#‘X’ LT ‘Z’ akan menghasilkan FFH,

Yaitu Mov A, # 0FFH karena hasilnya benar

35

Page 36: Pengalamatan Bit

LE atau <= untuk lebih kecil sama dengan

Contoh :Mov A,#‘X’ LE ‘Z’ akan menghasilkan FFH,

YaituMov A,#0FFH karena hasilnya benar

36

Page 37: Pengalamatan Bit

GT atau > untuk lebih besar

Contoh :

Mov A, #’X’ GT ‘p’ akan menghasilkan 00H,

Yaitu: Mov A, # 00H karena hasilnya salah

37

Page 38: Pengalamatan Bit

GE atau >= untuk lebih besar sama dengan

Contoh :Mov A,#50 GE 100 akan

menghasilkan 00HYaitu:

Mov A,#00H karena hasilnya salah

38

Page 39: Pengalamatan Bit

Prioritas OperatorOperator – operator ekspresi mempunyai urutan prioritas sebagai berikut, dan operator yang mempunyai prioritas tertinggi terlebih dahulu dilakukan :

Tanda kurung ( )HIGH LOW* / MOD SHL SHR+ -EQ NE LT LE GT GENOTANDOR XOR

39

Page 40: Pengalamatan Bit

Contoh :

LOW (‘A’ – 2), nilai ASCII karakter A, yaitu 0041H dikurangi dengan 2 terlebih dahulu sehingga menjadi 003FH dan diambil byte rendahnya, yaitu 3FH.

40