Anda di halaman 1dari 7

Soal Tugas SISMIK 2019

Rabu 26 Juni 2019

1. PPI 8255 digunakan sebagai kendali I/O untuk mengendalikan arah putaran motor stepper
(dialamatkan pada PORT A 301H) dan dua tombol dialamatkan pada PROT B. Ketika
tombol 1 ditekan, motor stepper akan berputar ke CCW, dan sebaliknya jika tombol 2
ditekan akan berputar CW. Jika PPI dialamatkan pada lokasi 300H, tuliskan program
untuk sistem pengendali tersebut!
2. Buatlah program bahasa assembler untuk menampilkan Nama Mahasiswa, NIM, dan
Alamat!

Di kumpulkan via email : prist009@gmail.com, paling lambat Jumat, 28 Juni 2019

Jawaban !

1. a. SUB AL, 31 H = 0010 1100 31 H = 2031


SUB = 00
D = 0 (data mengalir dari register ke R/M)
W = 0 (ukuran data byte)  AL
MOD = 11 (R/M adalah register)
REG =
R/M = 000  AL
b. MOV [EBX+2*ECX],AX
MOV = 100010
D = 0 (data mengalir dari register ke R/M)
W = 1 (ukuran data word)  AX
} 10001001

MOD = 00 (tidak ada displacement)


} 00000100
REG = 000  AX
R/M = 100  (memakai byte indeks berskala)

}
SS = 2* : 01
Byte Indeks Berskala :
Indeks = ECX : 001
:1
01001011
Base = EBX : 011
 10001001 00000100 01001011B
 89 04 4B  89044BH
 Karena dalam mode instruksi 16 bit dan digunakan register 32 bit, maka
ditambahakan prefiks ukuran alamat (67H) dan prefiks ukuran register (66H) :
 676689044BH
c. 8A5764 = 10001010 01010111 01100100
Bytes : 1 2 3
MOV = 100010
D = 1 (data mengalir dari R/M ke register)
W = 0 (ukuran data byte)
MOD = 01 (Ada displacement extended-sign 8-bit)
REG = 010  EDX
R/M = 111  DS:[EDI]
SS = 01 : 2*
Indeks = 100 (byte indeks berskala)
Base = 100 (byte indeks berskala)
Instruksinya : MOV 2*EDX,[2*EDI]
2. a. 8284A merupakan komponen tambahan mikroprosesor 8086/8088. Tanpa generator
clock banyak rangkaian tambahan yang dibutuhkan untuk membangkitkan clock (CLK)
pada sistem yang berbasis 8086/8088. 8284A menyediakan fungsi-fungsi atau sinyal-
sinyal dasar sebagai pembangkit clock, sinkronisasi RESET, sinkronisasi READY, dan
signal clock periferal level TTL.
Frekuensi operasi standar 5 Mhz untuk 8086/8088 didapat dengan memasang kristal
15 Mhz ke generator clock 8284A. Output PCLK terdiri dari signal yang kompatibel TTL
pada setengah frekuensi CLK.
Bagian reset 8284A sangat sederhana hanya terdiri dari satu buffer Schmitt Trigger
dan satu rangkaian flip-flop tipe-D. Jika mikroprosesor 8086/8088 direset, mikroprosesor
ini mulai mengeksekusi perangkat lunak pada lokasi memory FFFF0H (FFFF:0000)
dengan pin interrupt request disable.
b. Cara kerja mode minimum mirip dengan mikroprosesor intel 8085A, pada mode
maksimum cara kerjanya baru dan dirancang khusus untuk kerja aritmatika co-prosesor
8087.
Cara kerja Mode Minimum :
- Mode minimum mendapatkan hubungan dengan pin mode pilihan MN/MX pada
+5.0V.
- Mode minimum mengijinkan 8085A, komponenen-komponen 8-bit digunakan dengan
8086/8088 tanpa pertimbangan khusus.
Cara kerja Mode Maksimum :
- Pin MN/MX dihubungkan ke ground ( 0 volt)
- Berbeda dengan mode minimum pada beberapa sinyal kontrol harus dibangkitkan dari
luar, maka mode maksimum membutuhkan sebuah bus kontrol eksternal, bus kontrol
8288.
- Mode maksimum hanya digunakan jika ketika sistem berisi Co-prosesor eksternal
seperti aritmatika co-prosesor 8087.
3. MPU 80386  MPU 32-bit dengan memori 1 MB = 1024 kB
Dengan not fully decoded
 32-bit = 4 Byte
1024 kB = 210.1010 = 220 sehingga lebar jumlah saluran alamatnya 20.
Memory space :
Awal : 0000 0000 0000 0000B = 00000H
Akhir : 1111 1111 1111 1111B = FFFFFH
 RAM 1  16 kB
16 kB = 24.1010 = 214
 Total memori : 11 1111 1111 1111B = 3FFFH
 RAM 1 : CS0, CS1  01
 RAM 2  32 kB
32 kB = 25.1010 = 215
 Total memori : 111 1111 1111 1111B = 7FFFH
 RAM 2 : CS0, CS1  01
 EPROM  32 kB
 Total memori EPROM = total memori RAM 2
 CS  0
 ROM  64 kB
64 kB = 26.1010 = 216
 Total memori : 1111 1111 1111 1111B = FFFFH
 CS  1
 I/O  4 kB
4 kB = 22.1010 = 212
 Total memori : 1111 1111 1111B = FFFH
 CS0, CS1, CS2  100
1) Peta Memori
No. Alamat Penambahan Komponen Prediksi Alamat Awal
00000H
1. s.d. +3FFFH RAM 1 (000B) 00000H
03FFFH
10000H
2. s.d. +7FFFH RAM 2 (001B) 10000H
17FFFH
20000H
3. s.d. +7FFFH EPROM (010B) 20000H
27FFFH
30000H
4. s.d. +FFFFH ROM (011B) 30000H
3FFFFH
40000H
5. s.d. +FFFH I/O (100B) 40000H
40FFFH
41000H
Belum
- s.d. - -
digunakan
FFFFFH

2) Daftar Memori
Tabel Saluran Alamat
Peta Memori
A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
00000H 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RAM 1 s.d.
03FFFH 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
10000H 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RAM 2 s.d.
17FFFH 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
20000H 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
EPROM s.d.
27FFFH 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
30000H 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ROM s.d.
3FFFFH 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
40000H 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
I/O s.d.
40FFFH 0 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1

3) Desain Rangkaian Address Decoder


 RAM 1  A19 sampai dengan A16  input : 0000
 RAM 2  A19 sampai dengan A16  input : 0001
 EPROM  A19 sampai dengan A16  input : 0010
 ROM  A19 sampai dengan A16  input : 0011
 I/O  A19 sampai dengan A16  input : 0100
 Output RAM 1  CS0, CS1 01
 Output RAM 2  CS0, CS1 01
 Output EPROM  CS 0
 Output ROM  CS 1
 Output I/O  CS0, CS1, CS2 100
Rangkaian Address Decoder (AD) setiap komponen :
o AD-1 : RAM 1

A19 = 0 0
CS0
A18 = 0

A17 = 0 1
CS1
A16 = 0

o AD-2 : RAM 2
A19 = 0 0
CS0
A18 = 0

A17 = 0 1
CS1
A16 = 1

o AD-3 : EPROM

A19 = 0 0
A18 = 0 0 CS
A17 = 1
0
A16 = 0

o AD-4 : ROM

A19 = 0 0
A18 = 0 1 CS
A17 = 1
1
A16 = 1

o AD-5 : I/O

A19 = 0 1 CS0
A18 = 1

A17 = 0 0 CS1

A16 = 0 0 CS2

Rangkaian logikanya IC dekodernya menjadi :


A19 A18 A17 A16

CS0
AD-1
CS1
4. #start=Stepper_motor.exe# ; header untuk memanggil device stepper motor

name "Stepper Motor"

PORT_A: MOV DX,300h ; baca data dari tombol


IN AL,DX ; memindahkan register DX ke R/M AL
JB CCW ; stepper berputar berlawanan arah jarum jam
JMP CW ; stepper berputar searah jarum jam
PORT_B: MOV CX,300h ; baca data dari tombol
IN AX,DX ; memindahkan register DX ke R/M AL
JB CCW ; stepper berputar berlawanan arah jarum jam
JMP CW ; stepper berputar searah jarum jam
CCW: MOV AL,01h
MOV DX,301h ; menekan tombol 1
OUT DX,AL ; memutar stepper secara CCW
JMP PORT_A ; membaca port A
CW: MOV AX,00h
MOV DX,301h ; menekan tombol 2
OUT DX,AX ; memutar stepper secara CW
JMP PORT_B ; membaca port Borg 100h

4. org 100h
jmp start
msg: db "Nama : Nicko Satya Pranata", 13,10
db "NIM : H1A016041", 13,10
db "Alamat : Bukit Damai Indah blok G-20 Balikpapan.",'$'
start: mov dx, msg
mov ah, 09h
int 21h
mov ah, 0
int 16h
ret

Skrinsut :

Anda mungkin juga menyukai