Tugas Arsitektur Organisasi dan Komputer
ARSIKOM
Tugas 11
1.
- Set instruksi (instruction set) adalah
sekumpulan lengkap instruksi yang dapat dimengerti oleh sebuah CPU dengan
sebuah kamus berisi daftar perintah apa saja yang dapat dilakukan (didukung) oleh
sebuah prosesor, dan biasanya terikat dengan sebuah keluarga arsitektur
prosesor tertentu (misal x86, x64). Instruksinya berbentuk machine code (bahasa
mesin), aslinya seluruhnya dalam bilangan biner. Untuk programmer, biasanya
digunakan representasi yang lebih mudah dimengerti bahasa yang dapat dimengerti
manusia, dikenal dengan bahasa Assembly.
-
Element-element
set Intruksi
1. Operation Code
(Opcode)
menspesifikasikan operasi yang akan
dilakukan. Kode operasi berbentuk kode biner. Sebuah opcode (disingkat dari
kode operasi) adalah bagian dari instruksi bahasa mesin yang menentukan operasi
yang akan dilakukan. Selain opcode itu sendiri, instruksi biasanya menentukan
data mereka akan memproses, berupa operan. Selain opcodes digunakan dalam
arsitektur set instruksi dari berbagai CPU, yang merupakan perangkat keras,
mereka juga dapat digunakan di mesin komputasi abstrak sebagai bagian dari
spesifikasi kode byte mereka.
|
CONTOH OPCODE
|
|
•0001(2) = 1(16) =
Load AC dari memori
•0010(2) = 2(16) = Simpan AC pada memori •0101(2) = 5(16) = tambahkan pada AC dari memori |
*Accumulator(AC/ACC) =
penyimpanan sementara
2. Source Operand
Reference
Operasi dapat berasal
dari lebih satu sumber. Operand adalah input instruksi.
-
Memori utama atau
memori virtual: dengan referensi alamat berikutnya, maka alamat memori utama
atau virtual harus diketahui.
-
Register CPU:
instruksi harus diberi nomor register yang dimaksud.
-
Perangkal I/O:
instruksi harus menspesifikasikan modul I/O yang diperlukan oleh operasi.
3. Result Operand
Reference
Merupakan
hasil atau keluaran operasi.
Contoh set instuksi
dalam microsoft:
*PRINT
*QUICK PRINT
*PRINT PREVIEW
Contoh dalam matematika 5+5=10 (10
tersebut hasil perintah dari operand)
4. Next Instruction
Reference
Elemen
ini menginformasikan CPU posisi instruksi berikutnya yang harus diambil dan
dieksekusi. Memberitahu CPU untuk mengambil (fetch) instruksi berikutnya
setelah instruksi yang dijalankan selesai. Source dan result operands dapat
berupa salah satu diantara tiga jenis berikut ini: Main or Virtual
Memory, CPU Register, I/O Device
JENIS INSTRUKSI
* Data processing: Arithmetic dan Logic Instructions
* Data storage: Memory instructions
* Data Movement: I/O instructions
* Control: Test and branch instructions
* Data processing: Arithmetic dan Logic Instructions
* Data storage: Memory instructions
* Data Movement: I/O instructions
* Control: Test and branch instructions
2.
–Definisis RISC dan
CISC
a. RISC
singkatan dari Reduced Instruction Set Computer. Merupakan bagian dari
arsitektur mikroprosessor, berbentuk kecil dan berfungsi untuk negeset istruksi
dalam komunikasi diantara arsitektur yang lainnya.
b. Complex
Instruction Set Computing (CISC) atau kumpulan instruksi komputasi
kompleks. Adalah suatu arsitektur komputer dimana setiap instruksi akan
menjalankan beberapa operasi tingkat rendah, seperti pengambilan dari memori
(load), operasi aritmatika, dan penyimpanan ke dalam memori (store) yang saling
bekerja sama.
-
Perbedaan
antara RISC dengan CISC
|
CISC
|
RISC
|
|
Penekanan pada
perangkat keras |
Penekanan pada
perangkat lunak |
|
Termasuk instruksi
kompleks multi-clock |
Single-clock, hanya
sejumlah kecil instruksi |
|
Memori-ke-memori:
“LOAD” dan “STORE” saling bekerjasama |
Register ke
register:
“LOAD” dan “STORE” adalah instruksi2 terpisah |
|
Ukuran kode kecil,
kecepatan rendah |
Ukuran kode besar,
kecepatan (relatif) tinggi |
|
Transistor digunakan
untuk
menyimpan instruksi2 kompleks |
Transistor banyak
dipakai
untuk register memori |

- Contoh-contoh RISC dan CISC:
a. RISC :
1.
Komputer vektor
2.
Mikroprosesor Intel 960
3.
Itanium (IA64) dari Intel
Corporation
4.
Power PC dari International
Business Machine, dll.
b.
CISC :
1.
Prosesor system/360
2.
Prosesor VAX
3.
Prosesor PDP-11
4.
CPU AMD
5.
Intel x86, dll.
3.
- Program Debug :
program yang datang dengan versi modern DOS. Biasanya semua pengguna Windows
seharusnya sudah memilikinya.
1.
A (Assembler)
Untuk merakit instruksi symbolic
menjadi kode mesin.
2.
C (Compare)
Berfungsi untuk membandingkan isi sebuah blok memori dengan isi blok memori lainnya.
Format perintah : C alamat1 panjang alamat2
Contoh :
A:\>Debug (enter)
-C 0100 L 10 0200 (enter)
Berarti mulai offset 0100 sebanyak 16 byte (10 heksa) bandingkan dengan offset 0200. Hasil yang dimunculkan hanyalah nilai-nilai yang berbeda setiap alamat.
Berfungsi untuk membandingkan isi sebuah blok memori dengan isi blok memori lainnya.
Format perintah : C alamat1 panjang alamat2
Contoh :
A:\>Debug (enter)
-C 0100 L 10 0200 (enter)
Berarti mulai offset 0100 sebanyak 16 byte (10 heksa) bandingkan dengan offset 0200. Hasil yang dimunculkan hanyalah nilai-nilai yang berbeda setiap alamat.
3. D (Dump)
Berfungsi untuk melihat isi blok memori.
Contoh :
A:\>Debug (enter)
-d 0100 (enter)
Dari tampilan tersebut, terbagi menjadi 3 bagian, yaitu :
• Bagian kiri : menampilkan alamat-alamat memori dengan format segment:offset
• Bagian tengah : menampilkan angka-angka dalam heksa decimal sebagai isi dari alamat-alamat memori
• Bagian kanan : menampilkan kode-kode karakter ASCII sebagai terjemahan dari angka heksa decimal tersebut.
Berfungsi untuk melihat isi blok memori.
Contoh :
A:\>Debug (enter)
-d 0100 (enter)
Dari tampilan tersebut, terbagi menjadi 3 bagian, yaitu :
• Bagian kiri : menampilkan alamat-alamat memori dengan format segment:offset
• Bagian tengah : menampilkan angka-angka dalam heksa decimal sebagai isi dari alamat-alamat memori
• Bagian kanan : menampilkan kode-kode karakter ASCII sebagai terjemahan dari angka heksa decimal tersebut.
4. E (Enter)
Untuk memasukan data kememori, dimulai pada lokasi tertentu
5.
F (Fill)
Berfungsi untuk mengisi lokasi memori. Perbedaan dengan perintah ‘E (Enter)’, yang menawarkan modifikasi memori secara satu alamat demi satu alamat, sedang ‘F (Fill” untuk mengubah isi alamat memori dalam jumlah besar, sesuai dengan rentang (range) yang dikehendaki.
Contoh :
A:\>Debug (enter)
-F 0100 017F 58 (enter)
Berarti isilah mulai alamat offset 0100 sampai offset 017F dengan nilai heksa 58 (karakter ASCII ‘x’).
Berfungsi untuk mengisi lokasi memori. Perbedaan dengan perintah ‘E (Enter)’, yang menawarkan modifikasi memori secara satu alamat demi satu alamat, sedang ‘F (Fill” untuk mengubah isi alamat memori dalam jumlah besar, sesuai dengan rentang (range) yang dikehendaki.
Contoh :
A:\>Debug (enter)
-F 0100 017F 58 (enter)
Berarti isilah mulai alamat offset 0100 sampai offset 017F dengan nilai heksa 58 (karakter ASCII ‘x’).
6. N (Name)
Menamai program/memberikan nama pada sebuah program
7. P (Proceed)
Ekskusi sekumpulan instruksi yang terkait.
8. R (Register)
Untuk menampilkan informasi komposisi register-register di dalam mikroprosesor, alamat memori, serta isi dari alamat memori tersebut yang mungkin berupa instruksi yang akan dilaksanakan oleh komputer, atau data.
Contoh :
A:\>DEBUG (enter)
r (enter)
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=29E7 ES=29E7 SS=29E7 CS=29E7 IP=0100 NV UP EI PL NZ NA PO NC
29E7:0100 0114 ADD[SI],DX DS:0000=20CD
AX, BX, CX, DX, SP, BP, SI, DI, DS, ES, SS, CS, dan IP adalah register internal mikroprosesor yang dipakai dalam CPU.
NV, UP, EI, PL, NZ, NA, PO, dan NC adalah output darisebuah register yang disebut register status atau register flag. Angka 29E7:0100 adalah alamat lokasi memori dengan format segment:offset.
Untuk menampilkan informasi komposisi register-register di dalam mikroprosesor, alamat memori, serta isi dari alamat memori tersebut yang mungkin berupa instruksi yang akan dilaksanakan oleh komputer, atau data.
Contoh :
A:\>DEBUG (enter)
r (enter)
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=29E7 ES=29E7 SS=29E7 CS=29E7 IP=0100 NV UP EI PL NZ NA PO NC
29E7:0100 0114 ADD[SI],DX DS:0000=20CD
AX, BX, CX, DX, SP, BP, SI, DI, DS, ES, SS, CS, dan IP adalah register internal mikroprosesor yang dipakai dalam CPU.
NV, UP, EI, PL, NZ, NA, PO, dan NC adalah output darisebuah register yang disebut register status atau register flag. Angka 29E7:0100 adalah alamat lokasi memori dengan format segment:offset.
9. T (Trace)
Berfungsi untuk memproses sebaris
program saja.
10. U (Unassemble)
Berfungsi untuk menampilkan listring dari suatu program bahasa mesin.
Contoh :
A:\>Debug (enter)
-U FFFF:0000 (enter)
Berfungsi untuk menampilkan listring dari suatu program bahasa mesin.
Contoh :
A:\>Debug (enter)
-U FFFF:0000 (enter)
6. S (Search)
Berfungsi untuk mencari data baik yang berupa karakter maupun untaian karakter (string) di dalam suatu blok memori tertentu.
Contoh :
A:\>Debug (enter)
-S F000:E000 L FF “IBM” (enter)
Berarti mulai alamat F000:E000 sebanyak FFh byte cari string “IBM”.
-S F000:E000 L FF “A” (enter)
Berarti mulai alamat F000:E000 sebanyak FFh byte cari string “A”..
Berfungsi untuk mencari data baik yang berupa karakter maupun untaian karakter (string) di dalam suatu blok memori tertentu.
Contoh :
A:\>Debug (enter)
-S F000:E000 L FF “IBM” (enter)
Berarti mulai alamat F000:E000 sebanyak FFh byte cari string “IBM”.
-S F000:E000 L FF “A” (enter)
Berarti mulai alamat F000:E000 sebanyak FFh byte cari string “A”..
11. M (Move)
Berfungsi untuk memindahkan atau menyalin data yang ada di suatu lokasi memori kealamat memori lainnya. Format perintah : M alamat asal panjang alamat tujuan
Contoh :
A:\>Debug (enter)
-M 0100 L 7F 0200 (enter)
Berarti mulai alamat offset 0100 sebanyak 7Fh byte isi memorinya pindahkan atau kopikan ke offset 0200.
Contoh program asemblay
untuk menampilkan nama panggilan anda.
.model small
.stack
.data
.stack
.data
Kalimat db ” Gustava
“,10,13,”$” ;Kalimat yang akan di tampilkan
.code ;Memulai
pengkodean
mov dx, offset Kalimat
mov ax, seg Kalimat
mov ds, ax
mov ah, 9 ;fungsi 9 untuk menampilkan string
mov cx,5
ulang :
int 21h ; laksanakan
loop ulang
mov ax, 4c00h ; kembali ke sistem operasi
int 21h ; laksanakan
mov dx, offset Kalimat
mov ax, seg Kalimat
mov ds, ax
mov ah, 9 ;fungsi 9 untuk menampilkan string
mov cx,5
ulang :
int 21h ; laksanakan
loop ulang
mov ax, 4c00h ; kembali ke sistem operasi
int 21h ; laksanakan
end ;
-
Tabel ASCII
-
contoh nya kita ingin
membuat tulisan SI UAD
MASUK KE START >
RUN > CMD
kemudian ketik
debig> enter
lalu ketikkan kode dibawah
-a100
;Untuk memulai program di alamat offset 100
mov ah,02 ;Memasukkan nilai 02h ke register AH sebagai nilai Service
mov ah,02 ;Memasukkan nilai 02h ke register AH sebagai nilai Service
mov dl,53
;Memasukkan nilai 53 ( "S" ) ke register DL
int 21
mov dl,49 ;Memasukkan nilai 49 ( "I" ) ke register DL
int 21 ;Eksekusi
int 21
mov dl,49 ;Memasukkan nilai 49 ( "I" ) ke register DL
int 21 ;Eksekusi
mov dl,55
;Memasukkan nilai 55 ( "U" ) ke register DL
int 21
int 21
mov dl,41
;Memasukkan nilai 41 ( "A" ) ke register DL
int 21
int 21
mov dl,44
;Memasukkan nilai 41 ( "D" ) ke register DL
int 21
int 20
int 21
int 20
dan
enter sekali lagi , ketik g lalu enter
maka akan tampil seperti gambar berikut:


Comments
Post a Comment