BAB8C - Display LCD

download BAB8C - Display LCD

of 27

Transcript of BAB8C - Display LCD

  • 8/9/2019 BAB8C - Display LCD

    1/27

    Minimum sistem 8088 126

    Percobaan 3 : Display LCD

    gambar 8.4.Display LCD

    LCD yang digunakan adalah : M1632 yang terdiri dari 2 baris, 16 kolomdimulai dari baris1 paling atas dan kolom 0 paling kiri.

    Sebelum menampilkan karakter pada LCD, maka harus mengikuti prosedur

    sebagai berikut:

    Inisialisasi

    Pemesanan tempat

    Penulisan data

    Inisialisasi terdiri dari

    Display Clear

    0 0 0 0 0 0 0 0 0 1

    RS R/-W D7 D6 D5 D4 D3 D2 D1 D0

    Instruksi ini akan menghapus semua display dan mengembalikan kursor ke

  • 8/9/2019 BAB8C - Display LCD

    2/27

  • 8/9/2019 BAB8C - Display LCD

    3/27

    Minimum sistem 8088 128

    C = 1, kursor akan ditampilkan

    C = 0 , kursor tidak ditampilkan

    B = 1, karakter tempat posisi kursor berkedip

    B = 0, karakter tempat posisi kursor tidak berkedip

    Cursor/Display Shift

    0 0 0 0 0 1 S/C R/L * *

    RS R/-W D7 D6 D5 D4 D3 D2 D1 D0

    Instruksi ini akan menggerakkan kursor dan menggeser display tanpa

    mengubah RAM

    S/C R/L Operasi

    0 0 Posisi kursor digeser ke kiri

    0 1 Posisi kursor digeser ke kanan

    1 0 Seluruh display digeser ke kiri dengan kursornya

    1 1 Seluruh display digeser ke kanan dengan kursornya

    Function Set

    0 0 0 0 1 DL 1 * * *

    RS R/-W D7 D6 D5 D4 D3 D2 D1 D0

    DL = 1, panjang data diatur 8 bit

    DL = 0, panjang data 4 bit (D7D4)

    Pin yang digunakan

  • 8/9/2019 BAB8C - Display LCD

    4/27

  • 8/9/2019 BAB8C - Display LCD

    5/27

    Minimum sistem 8088 130

    kolom 0, ketiklah program berikut:

    CODE_SEG SEGMENTASSUME CS:CODE_SEG,DS:CODE_SEG,ES:CODE_SEG,SS:CODE_SEG

    ORG 100H ;program mulai origin 100h

    start: jmp mulai

    porta equ 300h ;port a ppiportb equ 301h ;port b ppiportc equ 302h ;port c ppictrlword equ 303h ;port cw ppi

    DISPCLR EQU 00000001BFUNCSET EQU 00111000BENTRMOD EQU 00000110B

    DISPON EQU 00001100BCURSOR EQU 00001110BBLINK EQU 00001101B

    Mulai:mov al,10000000b ;init ppimov dx,CtrlWord ;pada 80H mode = 0out dx,al ;port a = output

    ;port b = output;port c lower = output;port c upper = output

    call init_LCDlagi:

    mov al,80hcall control_out

    mov al,30hcall data_out

    mov al,0C0hcall control_outmov al,31hcall data_out

    jmp lagi

    init_LCD proc nearmov al,DISPCLRcall control_outmov al,FUNCSETcall control_outmov al,ENTRMODcall control_out

  • 8/9/2019 BAB8C - Display LCD

    6/27

    Minimum sistem 8088 131

    mov al,DISPONcall control_outmov al,CURSORcall control_out

    retinit_LCD endp

    ; PA7 : E; PA6 : RScontrol_out proc near

    mov dx,portcout dx,alcall delay

    mov dx,portamov al,00000000b

    out dx,alcall delay

    mov dx,portamov al,10000000bout dx,alcall delay

    mov dx,portamov al,00000000bout dx,alcall delayret

    control_out endp

    data_out proc nearmov dx,portcout dx,alcall delay

    mov dx,portamov al,01000000bout dx,alcall delay

    mov dx,portamov al,11000000bout dx,alcall delay

    mov dx,portamov al,01000000bout dx,alcall delay

  • 8/9/2019 BAB8C - Display LCD

    7/27

    Minimum sistem 8088 132

    retdata_out endp

    delay proc near ; Procedure delay

    push cx ; simpan cxmov cx,0ffffh ; isi cx dengan lama delayloop $ ; loopng sampai cx=0pop cx ; keluarkan cxret ; kembali ke program utama

    delay endp

    ORG 20F0H ;alamat yang dituju;setelah menekan reset

    DB 0EAH ;JMP reset keDW 0100H ;alamat offset 0100hDW 0FDF0H ;alamat segmen 0FBFh

    Untuk membuat tulisan di LCD, ikuti algoritma berikut :

    Pindahkan data di ROM ke RAM

    Tempatkan data dari tulisan ke suatu alamat bx di RAM dengan memberi

    perintah :

    lea bx,setting

    Ambil satu per satu data di alamat bx tadi, kemudian pesan tempat di

    LCD baris 1 dan kolom 0 dan kirim data. Ulangi sampai data ke 16 .

    Gunakan prosedur berikut :

    baris1 proc nearmov ah,0mov al,kolomadd ax,80h ; baris 1call controlout ; pesan tempat baris 1 kolom x

    mov ah,0mov al,data_teksmov data,alcall dataoutret

    baris1 endp

    disp proc nearmov kolom,0

  • 8/9/2019 BAB8C - Display LCD

    8/27

    Minimum sistem 8088 133

    xor bx,bxlea bx,settingmov cx,16

    lagi2: mov dl,[bx]

    mov data_teks,dlcall baris1inc bx ; naikkan alamat datainc kolom ; naikkan kolom LCDloop lagi2ret

    disp endp

    Editlah program di atas menjadi:

    awal db ?setting db 'KEYPAD : 'akhir db ?

    mulai:Mov AX, CS ; Menyamakan data segment dengan code segmentMov DS, AXXor AX, AX ; Mengenolkan ES dan SS supaya

    ; mengarah pada alamat RAM Minimum SistemMov ES, AX ; ES = 0 -> segment address RAMMov SS, AX ; SS = 0 -> segment address RAM

    Lea SI, Awal ; menyalin data dari ROM ke RAMLea CX, Akhir ; CX diisi offset AkhirDtMov DI, SI ; DI = [SI]Sub CX, SI ; CX = [CX]-[SI] = AkhirDt-AwalDt

    ; = jumlah dataCld ; Membuat Direction flag = 0 -> SI&DI incrementedRep Movsb ; ulang { ES:[DI] nilai maksimum RAM

    Xor AX,AX ; Menolkan data segment agar menunjuk alamat data di; RAM yang telah disalinkan dari ROM pada sistem min

    Mov DS,AX ; DS = 0 -> segment address RAM

    mov al,10000000bmov dx,cwout dx,al

    call init_lcdcall disp

    putar:

  • 8/9/2019 BAB8C - Display LCD

    9/27

    Minimum sistem 8088 134

    jmp putar

    baris1 proc near

    mov ah,0mov al,kolomadd ax,80h ; baris 1call controlout

    mov ah,0mov al,data_teksmov data,alcall dataoutret

    baris1 endp

    disp proc nearmov kolom,0xor bx,bxlea bx,settingmov cx,16

    lagi2: mov dl,[bx]mov data_teks,dlcall baris1inc bxinc kolomloop lagi2ret

    disp endp

    Aplikasi Keypad dan LCD

    ; DIGUNAKAN UNTUK MENAMPILKAN DATA DARI KEYPAD KE DISPLAY LCD

    ; DATA LCD : PC; E : PB0; RS : PB1

    ; data keypad; PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0; OE X X X B A D C

    CODE_SEG SEGMENT ; code_seg sebagai segmentASSUME CS:CODE_SEG,DS:CODE_SEG,SS:CODE_SEGORG 100H ; program ditulis mulai origin 100h

    start: jmp mulai ; Awal program pada Org 0100H

    pa2 equ 304h

  • 8/9/2019 BAB8C - Display LCD

    10/27

  • 8/9/2019 BAB8C - Display LCD

    11/27

    Minimum sistem 8088 136

    in al,dxand al,128cmp al,128

    je putar

    in al,dxand al,00001111bcall konv_keypad_to_binmov data_key,al

    mov data,80hcall controlout

    mov al,data_keymov ah,0add ax,30h

    mov data,alcall dataout

    tunggu:mov dx,pc2 ; status tombol dilepas PC7 = 1in al,dxand al,128cmp al,0

    je tunggu

    jmp putar

    ; PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0; OE X X X B A D C KEY; 0 1 0 0 1; 1 0 0 0 2; 1 1 0 0 3; 0 0 0 1 4; 0 1 0 1 5; 1 0 0 1 6; 1 1 0 1 7; 0 0 1 0 8; 0 1 1 0 9; 1 0 1 0 0; 1 1 1 0 *; 0 0 1 1 #

    konv_keypad_to_bin proc nearcmp al,4

    jne k1mov al,1ret

    k1:

  • 8/9/2019 BAB8C - Display LCD

    12/27

    Minimum sistem 8088 137

    cmp al,8jne k2mov al,2ret

    k2:cmp al,12

    jne k3mov al,3ret

    k3:cmp al,1

    jne k4mov al,4ret

    k4:cmp al,4

    jne k5mov al,4ret

    k5:cmp al,5

    jne k6mov al,5ret

    k6:cmp al,9

    jne k7mov al,6ret

    k7:cmp al,13

    jne k8mov al,7ret

    k8:cmp al,2

    jne k9mov al,8ret

    k9:cmp al,6

    jne k0mov al,9ret

    k0:cmp al,10

    jne kbmov al,0ret

    kb:

  • 8/9/2019 BAB8C - Display LCD

    13/27

    Minimum sistem 8088 138

    cmp al,14jne kpmov al,14ret

    kp:cmp al,3

    jne metumov al,3ret

    metu:ret

    konv_keypad_to_bin endp

    ;---------------------------------------; PEMESANAN TEMPAT;---------------------------------------

    ; E : PB0 : 0 1 0; RS : PB1 : 0controlout proc near

    mov dx,pb2mov al,0out dx,alcall delay_lcd

    mov dx,pb2mov al,1out dx,alcall delay_lcd

    mov dx,pa2mov al,dataout dx,alcall delay_lcd

    mov dx,pb2mov al,0out dx,alcall delay_lcdret

    controlout endp

    ;---------------------------------------; PENEMPATAN DATA;---------------------------------------; E : PB0 : 0 1 0; RS : PB1 : 1dataout proc near

    mov dx,pb2mov al,2out dx,al

  • 8/9/2019 BAB8C - Display LCD

    14/27

    Minimum sistem 8088 139

    call delay_lcd

    mov dx,pb2mov al,3

    out dx,alcall delay_lcd

    mov dx,pa2mov al,dataout dx,alcall delay_lcd

    mov dx,pb2mov al,2out dx,alcall delay_lcd

    retdataout endp

    ;--------------------------------; INISIALISASI LCD;--------------------------------init_lcd proc near

    mov data,DISPCLRcall controloutcall delay_lcd

    mov data,FUNCSETcall controloutcall delay_lcd

    mov data,ENTRMODcall controloutcall delay_lcd

    mov data,DISPONcall controloutcall delay_lcdret

    init_lcd endp

    delay_lcd proc near ; Procedure delaypush cx ; simpan cxmov cx,01fffh ; isi cx dengan lama delayloop $ ; loopng sampai cx=0pop cx ; keluarkan cxret ; kembali ke program utama

    delay_lcd endp ; akhir procedure delay

    delay proc near ; Procedure delay

  • 8/9/2019 BAB8C - Display LCD

    15/27

    Minimum sistem 8088 140

    push cx ; simpan cxmov cx,0ffffh ; isi cx dengan lama delayloop $ ; loopng sampai cx=0pop cx ; keluarkan cx

    ret ; kembali ke program utamadelay endp ; akhir procedure delay

    ORG 20F0H ; alamat yang dituju setelah resetDB 0EAH ; JMP reset keDW 0100H ; alamat offset 0100hDW 0FDF0H ; alamat segmen 0FBFh

    CODE_SEG ENDS ; batas segment code_segEND START ; akhir program

    Aplikasi keypad, ADC dan LCD

    ; DIGUNAKAN UNTUK MENAMPILKAN DATA DARI KEYPAD KE DISPLAY LCD DARI; PPI1 DAN DIBANDINGKAN DENGAN DATA ADC

    ; PPI2; PA : DATA DAC; PC : DATA ADC; PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0

    ; x x x C B A WR RD

    ; PPI1; DATA LCD : PC; E : PB0; RS : PB1

    ; data keypad; PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0; OE X X X B A D C

    CODE_SEG SEGMENT ; code_seg sebagai segmentASSUME CS:CODE_SEG,DS:CODE_SEG,SS:CODE_SEGORG 100H ; program ditulis mulai origin 100h

    start: jmp mulai ; Awal program pada Org 0100H

    ;----------------------------------; KONSTANTA ROM;----------------------------------pa1 equ 00hpb1 equ 01hpc1 equ 02hcw1 equ 03h

  • 8/9/2019 BAB8C - Display LCD

    16/27

    Minimum sistem 8088 141

    pa2 equ 304hpb2 equ 305hpc2 equ 306hcw2 equ 307h

    DISPCLR equ 00000001BFUNCSET equ 00111000BENTRMOD equ 00000110BDISPON equ 00001100B

    ;-------------------------------; VARIABEL RAM;-------------------------------awal db ?kolom db ?data db ?

    data_teks db ?data_key1 db ?data_key2 db ?data_key3 db ?ratusan db ?puluhan db ?satuan db ?setting db 'SETTING : 'hasil db ' ADC : 'key_ke db ?status db ?data_setting db ?dataadc db ?datadac db ?akhir db ?

    ;-----------------------------------; PROGRAM UTAMA;------------------------------------mulai:

    Mov AX, CS ; Menyamakan data segment dengan code segmentMov DS, AXXor AX, AX ; Mengenolkan ES dan SS supaya

    ; mengarah pada alamat RAM Minimum SistemMov ES, AX ; ES = 0 -> segment address RAMMov SS, AX ; SS = 0 -> segment address RAM

    Lea SI, Awal ; menyalin data dari ROM ke RAMLea CX, Akhir ; CX diisi offset AkhirDtMov DI, SI ; DI = [SI]Sub CX, SI ; CX = [CX]-[SI] = AkhirDt-AwalDt

    ; = jumlah dataCld ; Membuat Direction flag = 0 -> SI&DI incrementedRep Movsb ; ulang { ES:[DI]

  • 8/9/2019 BAB8C - Display LCD

    17/27

    Minimum sistem 8088 142

    Mov SP,2000h ; SP = 2000h = 8Kb -> nilai maksimum RAM

    Xor AX,AX ; Menolkan data segment agar menunjuk alamat data di

    ; RAM yang telah disalinkan dari ROM pada sistem minMov DS,AX ; DS = 0 -> segment address RAM

    mov al,10001001b ; PPI 1mov dx,cw1 ; A,B = outputout dx,al ; C = input

    mov al,10001001b ; PPI 2mov dx,cw2 ; A,B = outputout dx,al ; C = input

    call init_lcdmuter:

    call disp_setcall disp_hasil

    ;--------------------------------------------; PENEKANAN TOMBOL KE 1;--------------------------------------------tombol1:

    mov al,8Ahmov data,alcall controlout ; penekanan ke 1 di basris 1 kolom 10call tombol_ditekan

    je tombol1

    in al,dxand al,00001111bcall konv_keypad_to_binmov data_key1,al

    mov ah,0add ax,30hmov data,alcall dataout ; tampilkan di LCD

    tunggu:call tombol_dilepas

    je tunggu

    ;---------------------------------------------; PENEKANAN TOMBOL KE 2

  • 8/9/2019 BAB8C - Display LCD

    18/27

    Minimum sistem 8088 143

    ;---------------------------------------------tombol2:

    mov al,8BHmov data,al

    call controlout ; penekanan ke 2 di basris 1 kolom 11call tombol_ditekan

    je tombol2

    in al,dxand al,00001111bcall konv_keypad_to_binmov data_key2,al

    mov ah,0add ax,30hmov data,al

    call dataouttunggu2:

    call tombol_dilepasje tunggu2jmp tombol3

    kembali_ke_awal:jmp muter

    ;-------------------------------------------; PENEKANAN TOMBOL KE 3;-------------------------------------------tombol3:

    mov al,8CHmov data,alcall controlout ; penekanan ke 2 di basris 1 kolom 12call tombol_ditekan

    je tombol3

    in al,dxand al,00001111bcall konv_keypad_to_binmov data_key3,al

    mov ah,0add ax,30hmov data,alcall dataout

    tunggu3:call tombol_dilepas

    je tunggu3

    ;----------------------------------------; CEK STATUS TERAKHIR

  • 8/9/2019 BAB8C - Display LCD

    19/27

    Minimum sistem 8088 144

    ;----------------------------------------cek:

    call tombol_ditekanje cek

    in al,dxand al,00001111bcall konv_keypad_to_binmov status,al

    tunggu4:call tombol_dilepas

    je tunggu4

    mov al,statuscmp al,32

    je kembali_ke_awal ; jika tombol * ditekan kembali ke

    awal

    cmp al,40je tampil ; jika tombol # ditekan lompat ke

    tampiljne cek

    tampil:xor ax,axmov al,data_key1mov bl,100mul blmov ratusan,al

    xor ax,axmov al,data_key2mov bl,10mul blmov puluhan,al

    xor ax,axmov al,data_key3

    xor bx,bxmov bl,puluhanadd ax,bx

    xor bx,bxmov bl,ratusanadd ax,bx

    mov dx,pa2out dx,almov data_setting,al

  • 8/9/2019 BAB8C - Display LCD

    20/27

    Minimum sistem 8088 145

    looping:call read_adccall disp_adc

    jmp looping

    ;--------------------------------------------; TES PENEKANAN TOMBOL;--------------------------------------------tombol_ditekan proc near

    mov dx,pc1 ; status tombol ditekan PC7 = 0in al,dxand al,128cmp al,128ret

    tombol_ditekan endp

    ;--------------------------------------------; TES PELEPASAN TOMBOL;--------------------------------------------tombol_dilepas proc near

    mov dx,pc1 ; status tombol dilepas PC7 = 1in al,dxand al,128cmp al,0ret

    tombol_dilepas endp

    ; PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0; OE X X X B A D C KEY; 0 1 0 0 1; 1 0 0 0 2; 1 1 0 0 3; 0 0 0 1 4; 0 1 0 1 5; 1 0 0 1 6; 1 1 0 1 7; 0 0 1 0 8; 0 1 1 0 9; 1 0 1 0 0; 1 1 1 0 *; 0 0 1 1 #

    konv_keypad_to_bin proc nearcmp al,4

    jne k1mov al,1ret

    k1:cmp al,8

  • 8/9/2019 BAB8C - Display LCD

    21/27

    Minimum sistem 8088 146

    jne k2mov al,2ret

    k2:

    cmp al,12jne k3mov al,3ret

    k3:cmp al,1

    jne k4mov al,4ret

    k4:cmp al,4

    jne k5

    mov al,4ret

    k5:cmp al,5

    jne k6mov al,5ret

    k6:cmp al,9

    jne k7mov al,6ret

    k7:cmp al,13

    jne k8mov al,7ret

    k8:cmp al,2

    jne k9mov al,8ret

    k9:cmp al,6

    jne k0mov al,9ret

    k0:cmp al,10

    jne kbmov al,0ret

    kb:cmp al,14

  • 8/9/2019 BAB8C - Display LCD

    22/27

    Minimum sistem 8088 147

    jne kpmov al,14ret

    kp:

    cmp al,3jne metumov al,3ret

    metu:ret

    konv_keypad_to_bin endp

    ;----------------------------------; PEMBACAAN ADC;-----------------------------------read_adc proc near

    mov dx,pb2mov al,3out dx,alcall delay_lcd

    mov al,1out dx,alcall delay_lcd

    mov al,3out dx,alcall delay

    mov al,2out dx,alcall delay_lcd

    mov dx,pc2in al,dxmov dataadc,alcall delay_lcd

    mov dx,pb2mov al,3out dx,alcall delay_lcdret

    read_adc endp

    ;--------------------------------------; TAMPILAN ADC DI LCD;--------------------------------------disp_adc proc near

    xor ax,ax

  • 8/9/2019 BAB8C - Display LCD

    23/27

    Minimum sistem 8088 148

    mov al,dataadcmov bl,10div bl ; hasil di al, sisa di ahmov satuan,ah

    mov ah,0mov bl,10div blmov puluhan,ahmov ratusan,al

    mov data,0CAhcall controloutxor ax,axmov al,ratusanadd ax,30h

    mov data,alcall dataout

    mov data,0CBhcall controloutxor ax,axmov al,puluhanadd ax,30hmov data,alcall dataout

    mov data,0CChcall controloutxor ax,axmov al,satuanadd ax,30hmov data,alcall dataoutret

    disp_adc endp

    ;---------------------------------------; PEMESANAN TEMPAT;---------------------------------------; E : PB0 : 0 1 0; RS : PB1 : 0controlout proc near

    mov dx,pb1mov al,0out dx,alcall delay_lcd

    mov dx,pb1mov al,1

  • 8/9/2019 BAB8C - Display LCD

    24/27

    Minimum sistem 8088 149

    out dx,alcall delay_lcd

    mov dx,pa1

    mov al,dataout dx,alcall delay_lcd

    mov dx,pb1mov al,0out dx,alcall delay_lcdret

    controlout endp

    ;-------------------------------------

    ; PENEMPATAN DATA;-------------------------------------; E : PB0 : 0 1 0; RS : PB1 : 1dataout proc near

    mov dx,pb1mov al,2out dx,alcall delay_lcd

    mov dx,pb1mov al,3out dx,alcall delay_lcd

    mov dx,pa1mov al,dataout dx,alcall delay_lcd

    mov dx,pb1mov al,2out dx,alcall delay_lcdret

    dataout endp

    ;------------------------------; INISIALISASI LCD;------------------------------init_lcd proc near

    mov data,DISPCLRcall controloutcall delay_lcd

  • 8/9/2019 BAB8C - Display LCD

    25/27

    Minimum sistem 8088 150

    mov data,FUNCSETcall controloutcall delay_lcd

    mov data,ENTRMODcall controloutcall delay_lcd

    mov data,DISPONcall controloutcall delay_lcdret

    init_lcd endp

    ;-----------------------------------------------

    ; PENULISAN TEKS DI BARIS 1;-----------------------------------------------baris1 proc near

    mov ah,0mov al,kolomadd ax,80h ; baris 1mov data,alcall controlout

    mov al,data_teksmov data,alcall dataoutret

    baris1 endp

    ;-------------------------------------------------; PENULISAN TEKS DI BARIS 2;-------------------------------------------------baris2 proc near

    mov ah,0mov al,kolomadd ax,0C0h ; baris 2mov data,alcall controlout

    mov al,data_teksmov data,alcall dataoutret

    baris2 endp

    ;----------------------------------------------------------------------------

  • 8/9/2019 BAB8C - Display LCD

    26/27

    Minimum sistem 8088 151

    ; PENGAMBILAN DATA TEKS BARIS 1 KE MEMORI;-----------------------------------------------------------------------------disp_set proc near

    mov kolom,0

    xor bx,bxlea bx,settingmov cx,16

    lagi1: mov dl,[bx]mov data_teks,dlcall baris1inc bxinc kolomloop lagi1ret

    disp_set endp

    ;--------------------------------------------------------------------------; PENGAMBILAN DATA TEKS BARIS 2 KE MEMORI;--------------------------------------------------------------------------disp_hasil proc near

    mov kolom,0xor bx,bxlea bx,hasilmov cx,16

    lagi2: mov dl,[bx]mov data_teks,dlcall baris2inc bxinc kolomloop lagi2

    retdisp_hasil endp

    ;---------------------------------; DELAY UNTUK LCD;---------------------------------delay_lcd proc near ; Procedure delay

    push cx ; simpan cxmov cx,002ffh ; isi cx dengan lama delayloop $ ; loopng sampai cx=0pop cx ; keluarkan cxret ; kembali ke program utama

    delay_lcd endp ; akhir procedure delay

    ;----------------------------------------------------; DELAY UNTUK PROGRAM UTAMA;----------------------------------------------------delay proc near ; Procedure delay

    push cx ; simpan cxmov cx,0ffffh ; isi cx dengan lama delay

  • 8/9/2019 BAB8C - Display LCD

    27/27

    loop $ ; loopng sampai cx=0pop cx ; keluarkan cxret ; kembali ke program utama

    delay endp ; akhir procedure delay

    ;----------------------------------------------------------------; ALAMAT JUMP RESET UNTUK ROM 2764;----------------------------------------------------------------

    ORG 20F0H ; alamat yang dituju setelah resetDB 0EAH ; JMP reset keDW 0100H ; alamat offset 0100hDW 0FDF0H ; alamat segmen 0FBFh

    CODE_SEG ENDS ; batas segment code_segEND START ; akhir program