Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

1 Pengalamatan Bit Pengalamatan bit adalah penunjukan alamat lokasi bit baik dalam RAM internal (byte 32H sampai dengan 47H) atau bit perangkat keras.

Presentasi serupa


Presentasi berjudul: "1 Pengalamatan Bit Pengalamatan bit adalah penunjukan alamat lokasi bit baik dalam RAM internal (byte 32H sampai dengan 47H) atau bit perangkat keras."— Transcript presentasi:

1 1 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

2 2 Tabel Pengalamatan Bit SimbolPosisi BitAlamat BitNama CYPSW.7D7HCarry Flag ACPSW.6D6HAuxiliary Carry Flag FOPSW.5D5HFlag 0

3 3 Tabel Pengalamatan Bit SimbolPosisi BitAlamat BitNama RS1PSW.4D4HReg. Bank Select bit 1 RS0PSW.3D3HReg. Bank Select bit 0 OVPSW.2D2HOverflow flag PPSW.0D0HParity Flag

4 4 Tabel Pengalamatan Bit SimbolPosisi BitAlamat BitNama TF1TCON.78FHTimer 1 Overflow Flag TR1TCON.68EHTimer 1 Run Control Flag TF0TCON.58DHTimer 0 Overflow Flag TR0TCON.48CHTimer 0 Run Control Flag

5 5 Tabel Pengalamatan Bit SimbolPosisi BitAlamat BitNama IE1TCON.38BHInterrupt 1 Edge Flag IT1TCON.28AHInterrupt 1 Type Control IE0TCON.189HInterrupt 0 Edge Flag IT0TCON.088HInterrupt 0 Type Control

6 6 Tabel Pengalamatan Bit SimbolPosisi BitAlamat BitNama SM0SCON.79FHSerial Mode Control Bit 0 SM1SCON.69EHSerial Mode Control Bit 1 SM2SCON.59DHSerial Mode Control Bit 2 RENSCON.49CHRceiver enable

7 7 Tabel Pengalamatan Bit SimbolPosisi BitAlamat BitNama TB8SCON.39BHTransmit bit 8 RB8SCON.29AHReceiver bit 8 T1SCON.199HTransmit Interrupt Flag R1SCON.098HReceiver Interrupt Flag

8 8 Tabel Pengalamatan Bit SimbolPosisi BitAlamat BitNama EAIE.7AFHEnable All Interrupt ESIE.6ACHEnable Serial Port Interrupt ET1IE.5ABHEnable Timer 1 Interrupt EX1IE.4AAHEnable External Int. 1 ET0IE.1A9HEnable Timer 0 Interrupt EX0IE.0A8HEnable External Int. 0

9 9 Tabel Pengalamatan Bit SimbolPosisi BitAlamat BitNama RD-B7HRead Data External Memory WR-B6HWrite Data External Memory T1-B5HTimer/Counter 1 Ext. Flag T0-B4HTimer/Counter 0 Ext. Flag

10 10 Tabel Pengalamatan Bit SimbolPosisi BitAlamat BitNama INT 1B3HInterrupt 1 Input Pin INT 0B2HInterrupt 0 Input Pin TxDB1HSerial Port Transmit Pin RxDB0HSerial Port Receiver Pin

11 11 Tabel Pengalamatan Bit SimbolPosisi BitAlamat BitNama PSIP.4BCHSerial Port Interrupt Priority PT1IP.3BBHTimer 1 Interrupt Priority PX1IP.2BAHExternal Interrupt 1 Priority PT0IP.1B9HTimer 0 Interrupt Priority PX0IP.0B8HExternal Interrupt 0 Priority

12 12 Pengalamatan 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 : ACALLDelay Delay: MOVB, # 0FFH Loop_Delay: DJNZB, Loop_Delay RET

13 13 Pengalamatan 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.

14 14 b. 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,#05H Instruksi diatas juga mempunyai arti memberikan nilai 05H pada register R0. Register ini merupakan alamat 00H pada bank 0.

15 15 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.

16 16 Basis Bilangan Mikroprosesor 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 : B untuk biner 12Q untuk oktal 10D atau 10 (tanpa akhiran) untuk desimal 0AH untuk heksa

17 17 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 : MovP1, # B

18 18 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 : MOVR7,#10D; R7 diisi dengan nilai yang ; diekspresikan dam bentuk ; desimal ; ( akhiran D tidak harus ; dituliskan dalam ; bentuk ini ) Loop: DJNZR7, Loop

19 19 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 ).

20 20 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.

21 21 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,#41H karena pembuat program masih harus melihat tabel ASCII terlebih dahulu.

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

23 23 Operator Aritmatika Ekspresi 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 pembagian MODuntuk modular (mengekspresikan sisa setelah pembagian )

24 24 Contoh : Mov A, #10+10H dapat diekspresikan menjadi Mov A,#1AH atau Mov A,325 MOD 7 dapat diekspresikan menjadi Mov A,#4.

25 25 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 : ORuntuk operasi logika OR ANDuntuk operasi logika AND XORuntuk operasi logika EXOR NOTuntuk operasi logika komplemen

26 26 Contoh : Mov A,#39 AND 0FH adalah sama dengan Mov A,# 9 Mov A,#-3 adalah sama dengan Mov A,# NOT 3

27 27 Operator Khusus Operator-operator ini terdiri atas : SHRuntuk menggeser ke kanan Contoh : Mov A,# b SHR 1 adalah sama dengan Mov A, # b

28 28 SHLuntuk menggeser ke kiri Contoh : Mov A,# B SHL 1 adalah sama dengan Mov A, # b

29 29 HIGHuntuk mengambil nilai byte tinggi Contoh : Mov A,#HIGH 1234H adalah sama dengan Mov A, # 12H

30 30 LOWuntuk mengambil nilai byte rendah Contoh : Mov A,#LOW 1234H adalah sama dengan Mov A, # 34H

31 31 ( )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 ()

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

33 33 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

34 34 NE atau untuk ekspresi tidak sama dengan Contoh : Mov A,#5 NE 4 akan menghasilkan FFH Yaitu Mov A, # 0FFH karena hasilnya benar

35 35 LT atau

36 36 LE atau <=untuk lebih kecil sama dengan Contoh : Mov A,#‘X’>=‘X’ akan menghasilkan FFH, Yaitu Mov A,#0FFH karena hasilnya benar

37 37 GT atau >untuk lebih besar Contoh : Mov A, #5 > 6 akan menghasilkan 00H, Yaitu: Mov A, # 00H karena hasilnya salah

38 38 GE atau >=untuk lebih besar sama dengan Contoh : Mov A,#50 GE 100 akan menghasilkan 00H Yaitu: Mov A,#00H karena hasilnya salah

39 39 Prioritas Operator Operator – 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 GE NOT AND OR XOR

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


Download ppt "1 Pengalamatan Bit Pengalamatan bit adalah penunjukan alamat lokasi bit baik dalam RAM internal (byte 32H sampai dengan 47H) atau bit perangkat keras."

Presentasi serupa


Iklan oleh Google