WELCOME MY BLOG

Rabu, 28 Maret 2012

Latihan/Pertanyaan
a.    Dari program-program yang sudah ditulis dan diuji apa fungsi dari register AX,BX,CX,DX,SP,IP,DS,SS,ES,CS
• Accumulator Register AX
Fungsi: Sebagai akumulator dan berhubungan dengan jenis-jenis operasi khusus seperti Aritmetika, In/Out, Shift, Logic, Rotate, dan operasi desimal berkode biner.

• Base Register BX
Fungsi: Sebagai register base untuk mereferensi alamat memori. Operasi yang dapat dilakukan adalah Rotate, Logic, Shift, dan Aritmetika.

• Counter Register CX
Fungsi: Sebagai pencacah implisit dengan instruksi tertentu, misalnya terhadap perintah Loop dan operasi string. Counter naik jika direction flag bernilai 0, dan counter turun jika direction flag bernilai 1.

• Data Register DX
Fungsi: Menyimpan alamat port I/O selama operasi I/O tertentu, baik alamat port 8 bit maupun 16 bit. Digunakan juga dalam operasi perkalian dan pembagian.

• Register SP (Stack Pointer, 16 bit)
Fungsi: Digunakan untuk operasi stack seperti menyimpan alamat return saat memanggil subroutine. SP merupakan register yang secara implisit digunakan oleh perintah PUSH dan POP yaitu menyimpan dan mengambil kembali dari stack.

• Register IP (Instruction Pointer, 16 bit)
Fungsi: Register yang berpasangan dengan CS sebagai register utama untuk menunjukkan baris perintah program. Pada saat program dijalankan, IP akan langsung menunjuk pada awal program. Code Segment dan Instruction Pointer berfungsi sebagai program counter ditulis dengan format CS:IP. Secara umum, kode mesin diletakkan di Code Segment, semua data diletakkan di Data Segment, dan operasi PUSH dan POP dilakukan di Stack Segment.

• Register CS (Code Segment)
Fungsi: Mencatat segment dari kode program atau instruksi, register CS berpasangan dengan register IP (Instruction Pointer) dalam format CS:IP.

• Register DS (Data Segment)
Fungsi: Menyimpan alamat dari segment dimana data terletak.

b.    Apa yang bisa disimpulkan dari tabel 1.1 sampai dengan tabel terakhir
c.    Buat program untuk menampilkan
a.    1*1 = 1

MOV AH,02
MOV DL,31
INT 21
MOV BL,DL
MOV DL,2A
INT 21
MOV BL,DL
MOV DL,31
INT 21
MOV BL,DL
MOV DL,3D
INT 21
MOV BL,DL
MOV DL,31
INC DL
LOOP 107
INT 20

b.    2*1 = 2

MOV AH,02
MOV DL,32
INT 21
MOV BL,DL
MOV DL,2A
INT 21
MOV BL,DL
MOV DL,31
INT 21
MOV BL,DL
MOV DL,3D
INT 21
MOV BL,DL
MOV DL,32
INC DL
LOOP 107
INT 20
Kesimpulan
 Dalam penulisan Pemograman Assambler 1 ini kita terlebih dahulu dapat mengenal Bahasa Assambler,  ada 3 instruksi dasar pada Bahasa sssembler yaitu Mnemonic atau Opcode, Operand1 dan Operand2.
Kita dapat mengenal debug dan perintah-perintahnya. Debug yaitu suatu utiliti dalam DOS yang digunakan untuk membuat pemrograman assambler dengan format ekstensi COM.
Beberapa perintah-perintah debug dan kegunaannya yaitu :
1.     Q (Quit)
Mengembalikan ke dos prompt
2.    H (Hexa)
Melaksanakan perintah penambahan dan pengurangan terhadap dua bilangan hexa
3.    A (assambler)
Perintah untuk menulis program assembler
4.    R(Register)
Digunakan untuk mengetahui isi masing-masing register, perintah ini juga bias untuk mengetahui atau memperbaruhi isi register tertentu
5.    G (Go)
Untuk menjalankan program
6.    T(Trace)
Menjalankan program perbaris dengan menampilkan register dipakai
7.    U (Unsamble)
Menampilkan list dari program yang sedang berjalan U (tempat awal program yang diinginkan) L (panjang program/1 byte akhir dari alamat akhir program).
         Kita juga dapat mengenal fungsi dan kegunaan masing-masing instruksi yaitu :
Ø  Instruksi Pengalamatan = MOV
Ø  Instruksi Penjumlahan = INC,ADD
Ø  Instruksi Pengurangan = DEC,SUB
Ø  Instruksi untuk menentukan Larik = BX
Ø  Instruksi lompat jika tidak sama = JNE
Ø  Instruksi lompat jika masih kurang/ sama dengan = JLE
              Keterangan dari program diatas :
MOV CX, adalah  : untuk perulangan yang akan di buat
AH, 02 adalah  :  untuk menunjukkan fungsi pada INT 21
0L, 41 adalah  :  menunujukkan kode asciinya
INT 21 adalah  :  fungsi yang di lakukan
LOOP, 0103 adalah   :  perulangan
INT 20 adalah  :  untuk keluar dari program

REFERENSI
·         Lukito, Ediman, 1982, Dasar-dasar Pemrograman Dengan Assambler 8088, PT Elex Media Komputindo, Jakarta
·         Mulyono, Heri, 2005, Diktat Kuliah Bahasa Rakitan, STMIK Jaya Nusa, Padang


Tidak ada komentar:

Posting Komentar