Anda di halaman 1dari 5

PERCOBAAN 4: GABUNGAN PORT A, B DAN C

Untuk percobaan 4 gambar rangkaian seperti pada gambar 1.1, 1.2 dan
1.3 dengan port A sebagai output dan port B, C sebagai input
Percobaan ke 4: lakukan langkah-langkah sebagai berikut:
1. Jumper J1 harus pada posisi Tx (OUT) dan J2,J3 pada posisi Rx (IN)
2. Semua posisi DIPSWITCH port A harus OFF dan portB, C harus ON
3. Perhatikan format data untuk port A output dan B,C input
D7
1
1

D6
0
0

D5
0
0

D4
A
0

D3
Cu
1

D2
0
0

D1
B
1

D0
Cl
1

1: Input, 0 : Output
4.Kemudian ubahlah program utama menjadi
mulai:
mov
mov
out

dx, 03h
al, 8Bh
dx,al

mov
in

dx, 01h
al,dx

mov
out

dx, 00h
dx,al

jmp

putar

; PORT A OUTPUT , B&C INPUT

putar:

5.Simpan program dengan nama less4.asm, kemudian compile program


dengan menuliskan A less4 pada DOS Prompt. Jika tidak ada
kesalahan, maka akan dihasilkan file baru dengan nama

Minimum sistem 8088

Less4.obj

Less4.map

Less4.com

87

6.Hubungkan

board

mikroprosesor

dengan

modul

EPROM

EMULATOR dengan meletakkan pada soket EPROM (Tanda merah


pada kabel EMULATOR adalah GROUND). Jalankan eeu.exe dan
pilih LOAD, kemudian isilah dengan less4.com. Pilih OPTION dan
ubahlah EPROM menjadi 2764. Jika tidak terjadi kesalahan pilih
DOWNLOAD, kemudian tekan RESET pada board mikroprosesor

7.Ubah-ubahlah sendiri DIPSWITCH pada port B. Apa yang anda lihat


pada port A

Listing program percobaan 4:


CODE_SEG SEGMENT
; code_seg sebagai segment
ASSUME CS:CODE_SEG,DS:CODE_SEG,SS:CODE_SEG
ORG 100H
; program ditulis mulai origin 100h
start:

jmp mulai

; Awal program pada Org 0100H

porta
portb
portc
cw

equ 00h
equ 01h
equ 02h
equ 03h

; Menentukan alamat port A,B,C


; dan ctrlword sesuai dengan
; hardwarenya

mulai:
mov
mov
out

al,8Bh
dx,cw
dx,al

mov
in

dx,portb
al,dx

mov
out
call
jmp

dx,porta
dx,al
delay
putar

; init ppi
; 8BH MODE = 0
; port A = output, B,C = input

putar:

Minimum sistem 8088

88

delay proc near


push
mov
loop
pop
ret
delay endp

ORG
DB
DW
DW

cx
`
cx,02fffh
$
cx

20F0H
0EAH
0100H
0FDF0H

CODE_SEG ENDS
END START

; Procedure delay
; simpan cx
; isi cx dengan lama delay
; loopng sampai cx=0
; keluarkan cx
; kembali ke program utama
; akhir procedure delay
; ROM 2764
; alamat yang dituju setelah reset
; JMP reset ke
; alamat offset 0100h
; alamat segmen 0FDFh
; batas segment code_seg
; akhir program

Jalankan program di atas, apa yang anda lihat pada modul I/O
................................................................................................................

Untuk listing program di bawah ini, port B dan port C digunakan sebagai
input dan hasil dari port B di AND kan dengan hasil dari port C

CODE_SEG SEGMENT
; code_seg sebagai segment
ASSUME CS:CODE_SEG,DS:CODE_SEG,SS:CODE_SEG
ORG 100H
; program ditulis mulai origin 100h
start:

jmp mulai

; Awal program pada Org 0100H

porta
portb
portc
cw

equ 00h
equ 01h
equ 02h
equ 03h

; Menentukan alamat port A,B,C


; dan ctrlword sesuai dengan
; hardwarenya

mulai:
mov
mov
out

al,8Bh
dx,cw
dx,al

mov
in
mov

dx,portb
al,dx
bl,al

; init ppi
; 8BH MODE = 0
; port A = output, B,C = input

putar:

Minimum sistem 8088

89

mov
in
and
mov
out
call
jmp
delay proc near
push
mov
loop
pop
ret
delay endp

ORG
DB
DW
DW

dx,portc
al,dx
al,bl
dx,porta
dx,al
delay
putar

cx
cx,02fffh
$
cx

20F0H
0EAH
0100H
0FDF0H

CODE_SEG ENDS
END START

; port B di AND kan dengan port C

; Procedure delay
; simpan cx
; isi cx dengan lama delay
; loopng sampai cx=0
; keluarkan cx
; kembali ke program utama
; akhir procedure delay
; ROM 2764
; alamat yang dituju setelah reset
; JMP reset ke
; alamat offset 0100h
; alamat segmen 0FDFh
; batas segment code_seg
; akhir program

Jalankan program di atas, apa yang anda lihat pada modul I/O
................................................................................................................

Gantilah perintah
and

al,bl

dengan
mul bl
Apakah perbedaan kedua perintah tersebut ?
................................................................................................................

Gantilah perintah
and

al,bl

dengan
Minimum sistem 8088

90

or

al,bl

kemudia ganti dengan


mov

ah,0

add

ax,bl

Apakah perbedaan OR perintah dan ADD tersebut ?


................................................................................................................

Minimum sistem 8088

91