P05.5-Memory Mapping Practice 02-WAC
P05.5-Memory Mapping Practice 02-WAC
P05.5-Memory Mapping Practice 02-WAC
Address range
Jangkauan alamat
1.1 Peta Memori
ROM: 16K → 14 bit → (a0-a13)… 00000-03FFF
RAM: 16K → 14 bit → (a0-a13)… 00000-03FFF C17FF
I/O: 2K → 11 bit → (a0-a10)… 00000-007FF I/O
7FF (2K)
(11-bit)
C1000
09FFF
RAM
3FFF (16K)
(14-bit)
06000
03FFF
ROM 3FFF (16K)
(14-bit)
00000
1.1 Peta Memori
Addresses:
I/O: 11 bit → C1000-C17FF
RAM: 14 bit → 06000-09FFF
I/O: 14 bit → 00000-03FFF
a19 a18 a17 a16 a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0
1 1 1 1 1 1 1 1 1 1 1
I/O
0 0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1 1 1 1 1
RAM
1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1
ROM
0 0 0 0 0 0 0 0 0 0 0 0 0 0
1.1 Peta Memori
Addresses:
I/O: 11 bit → C1000-C17FF
RAM: 14 bit → 06000-09FFF
I/O: 14 bit → 00000-03FFF
RAM:
09FFF : 0000 1001 1111 1111 1111
06000 : 0000 0110 0000 0000 0000
a19 a18 a17 a16 a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0
1 1 1 1 1 1 1 1 1 1 1
I/O
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1
RAM
0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
ROM
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1.1 Peta Memori
ROM: 16K → 14 bit → (a0-a13)… 00000-03FFF
RAM: 16K → 14 bit → (a0-a13)… 00000-03FFF C17FF
I/O: 2K → 11 bit → (a0-a10)… 00000-007FF I/O
7FF (2K)
(11-bit)
Pilihan alamat-alamat untuk RAM: C1000
Chip 07FFF 0FFFF 0BFFF 0FFFF
Select 0000 01 … 0000 11 … 0000 10 … RAM
3FFF (16K)
(14-bit)
Chip 04000 0C000 08000 0C000
Select 0000 01 … 0000 11 … 0000 10 … 03FFF
ROM 3FFF (16K)
(14-bit)
00000
1.1 Peta Memori
Addresses:
I/O: 11 bit → C1000-C17FF
RAM: 14 bit → 0C000-0FFFF
I/O: 14 bit → 00000-03FFF
RAM:
0FFFF : 0000 1111 1111 1111 1111
0C000 : 0000 1100 0000 0000 0000
a19 a18 a17 a16 a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0
1 1 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1
I/O
1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
RAM
0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
ROM
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1.1 Peta Memori: Chip Select
a19 a18 a17 a16 a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0
1 1 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1
I/O
1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
RAM
0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
ROM
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
I/O → 𝑎19 . 𝑎18 . 𝑎17 . 𝑎16 . 𝑎15 . 𝑎14 . 𝑎13 . 𝑎12 . 𝑎11
RAM → 𝑎19 . 𝑎18 . 𝑎17 . 𝑎16 . 𝑎15 . 𝑎14
ROM →𝑎19 . 𝑎18 . 𝑎17 . 𝑎16 . 𝑎15 . 𝑎14
1.2 Rangkaian
I/O →
𝑎19 . 𝑎18 . 𝑎17 . 𝑎16 . 𝑎15 . 𝑎14 . 𝑎13 . 𝑎12 . 𝑎11
RAM →
𝑎19 . 𝑎18 . 𝑎17 . 𝑎16 . 𝑎15 . 𝑎14
ROM →
𝑎19 . 𝑎18 . 𝑎17 . 𝑎16 . 𝑎15 . 𝑎14
1 byte
1.3 Membuat Program
Buat program dengan algoritma sbb:
1. Isi AX dengan data: 4E8B
2. Isi CH dengan data: F2
3. Pindahkan isi AL ke RAM (alamat ke-4)
4. Isi BX dengan data dari alamat ke-3 RAM
5. Push isi AX ke stack
6. Push isi BX ke stack
7. Isi CL dengan data dari stack.
8. Isi DX dengan data dari alamat ke-2 dan ke-1 RAM
0C000-0FFFF Data Segment:
Alamat ke - 0 12 CS: 0C000 -0CFFF Alamat ke - 0 0D000
Alamat ke – 1 3C Alamat ke – 1 0D001
DS: 0D000 -0DFFF
Alamat ke – 2 6F Alamat ke – 2 0D002
SS: 0E000 -0EFFF
Alamat ke – 3 76 Alamat ke – 3 0D003
Alamat ke – 4 B2 ES: 0F000 -0FFFF Alamat ke – 4 0D004
1. Isi AX dengan data: 4E8B Instruksi
2. Isi CH dengan data: F2 MOV AX, 4E8B