Anda di halaman 1dari 13

LAPORAN

PRAKTIKUM BAHASA

ASSEMBLY

MENCETAK ANGKA
Oleh :

Nama : Isnani
NIM : 1957301025
Kelas : TI.1C
Dosen Pembimbing : Azhar, S.T,.M.T.

PROGRAM STUDI TEKNIK INFORMATIKA


JURUSAN TEKNOLOGI INFORMASI DAN KOMPUTER
TAHUN 2020
LEMBAR PENGESAHAN

No. Praktikum : 08/TI/PBA/TI1C/2020

Judul : Mencetak angka

Nama : Isnani

NIM : 1957301025

Kelas : TI.1C

Jurusan : Teknologi Informasi Dan Komputer

Prodi : Teknik Informatika

Tanggal praktikum : 09 Juni 2020

Tanggal penyerahan : 16 Juni 2020

Nilai :

Buketrata, 09 Juni 2020


Dosen Pembimbing,

Azhar, S.T,.M.T.

2
TUJUAN PRAKTIKUM
1. Mahasiswa mampu melakukan pemrograman assembly menggunakan Turbo
Assembler
2. Mahasiswa mampu membuat program assembly untuk mencetak angka.

DASAR TEORI
1. MASALAH DALAM MENCETAK ANGKA
Pada assembler, untuk mencetak suatu angka tidaklah semudah mencetak angka
pada bahasa tingkat tinggi. Hal ini dikarenakan baik oleh BIOS maupun DOS tidak
disediakan fungsinya. Misalkan kita mempunyai suatu angka 7, untuk mencetaknya kita
harus menerjemahkan ke dalam kode ASCII 55 dahulu barulah mencetaknya. Demikian
halnya bila ingin mencetak angka 127, maka kita juga harus menterjemahkannya dalam
kode ASCII 49, 50 dan 55 untuk kemudian dicetak. Selanjutnya akan kita lihat,
bagaimana caranya untuk mencetak angka dalam bentuk desimal maupun hexadesimal.

2. MENCETAK ANGKA DALAM BENTUK DESIMAL

Cara yang paling banyak dilakukan oleh programmer assembler, untuk mencetak
angka dalam bentuk desimal adalah dengan membagi angka tersebut dengan 10.
Kemudian sisa pembagiannya disimpan dalam stack. Pada saat pencetakan, angka-angka
yang disimpan dalam stack akan diambil satu persatu untuk dicetak.
Misalkan anda mempunyai angka 345, maka hasil pembagian dengan 10 sebanyak
3 kali akan menghasilkan sisa berturut-turut 5, 4 dan 3. Sisa pembagian ini kemudian
disimpan pada stack. Karena sifat stack yang LIFO <Last In First Out>, maka pada saat
pengambilan angka pada stack untuk dicetak akan diambil berturut-turut angka 345 !

3. MENCETAK ANGKA DALAM BENTUK DESIMAL


Untuk mencetak angka dalam bentuk hexadesimal, adalah lebih mudah daripada
mencetak angka delam bentuk desimal. Hal ini dikarenakan sifat dari hexadesimal yang
setiap angkanya terdiri atas 4 bit.
Untuk itu anda bisa membuat suatu tabel untuk hexadesimal yang terdiri atas
angka 0 sampai F. Kemudian ambillah angka yang ingin dicetak secara 4 bit untuk
digunakan sebagai penunjuk dalam mencetak angka tersebut.

3
DAFTAR ALAT DAN BAHAN
1. Komputer Pribadi
2. Perangkat Lunak Turbo Assembler dan DEBUG

KESELAMATAN KERJA
1. Praktikum hanya dapat dilakukan atas petunjuk dosen pengasuh atau instruktur.
2. Pastikan semua peralatan dalam keadaan baik sebelum dan sesudah melakukan
praktikum serta menjaga semua peralatan yang digunakan.
3. Perlu mematuhi semua peraturan yang berlaku dalam laboratorium yang
digunakan

4
PERCOBAAN

1. Mencetak angka dalam bentuk desimal


a. Tulis source code program berikut ini pada text editor lalu compile ,linking, dan
jalankan hasilnya serta amati hasilnya dengan seksama.
 Source Code:

 Hasil:

5
b. Ubah nilai Test_Angka ke 32, 50, 75,1234,33445,123456 dan amati apa yang terjadi
 nilai Test_Angka ke 32

 nilai Test_Angka ke 50

 nilai Test_Angka ke 75

 nilai Test_Angka ke 1234

6
 nilai Test_Angka ke 3345

 nilai Test_Angka ke 123456

2. Mencari dan menampilkan angka prima


a. Tulis source code program berikut ini pada text editor lalu compile ,linking, dan
jalankan hasilnya serta amati hasilnya dengan seksama
 Source Code:

7
 Hasil

8
3. Menampilkan angka dalam bentuk heksadesimal
a. Tulis source code program berikut ini pada text editor lalu compile ,linking, dan
jalankan hasilnya serta amati hasilnya dengan seksama.
 Source Code:

 Hasil:

9
TUGAS DAN PERTANYAAN
1. Analisa hasil dari eksekusi program diatas, berikan maksud dari setiap baris
program yang diberikan, tinjau perubahan dari register-register yang diakibatkan
oleh instruksi program, demikian juga isi memori jika dipakai untuk menyimpan
data.

2. Dari hasil percobaan yang dilakukan, buat kesimpulan dari masing-masing program
tersebut.

----------------------------------------------------------------------------------------------------
---
1. Mencetak angka dalam bentuk desimal

 Buka Debug p91.com (Nama File Kalian.com)


 Lalu tekan t, maka melihat register awal,lalu tekan t.Dan amati.

10
 Lalu kita lihat nilai awal dari AX=FFFF akan diisi oleh register
Temp yaitu 20.
 Lalu tekan t, maka melihat register awal,lalu tekan t.Dan amati.
 Lalu Nilai Register BX dari 0000 di pindahkan menjadi bernilai
000A.
 Nilai CX tetap karna XOR ini berguna membuat nilai menjadi 0.
 Lalu tekan t, maka melihat register awal,lalu tekan t.Dan amati
 Nilai DX tetap karna XOR ini berguna membuat nilai menjadi 0.
 Lalu tekan t, maka melihat register awal,lalu tekan t.Dan amati
 BX di DIV dan di tolak registernya ke DX

 CX mengalami kenaikan
 Tekan t dan amati hasilnya
 AX melakukan compare
 Lompatan berlangsung jika tidak ada nilai 0 (tidak)
 15.Kembali dari awal jika iya maka berhenti

11
2. Mencari dan menampilkan angka prima

 Ketik Debug P92.com(Nama File Kalian)


 Mov (Gerak kan) Register AH sebesar 09 lalu pindahkan ke
register AX yang beregister FFFF sehingga AX bernilai 09FF
 Kemudian tekan t dan amatilah
 Mov nilai DX sebesar 010D
 Kemudian Cetak
 Lompat ke awal dengan memindahkan nilai register Temp ke AX,
 Dan lakukan hal tersebut hingga bernilai salah

3. Menampilkan angka dalam bentuk heksadesimal

12
 Ketik Debug p93.com
 Tekan t untuk melihat
 Nilai BH dikurangi dan di move ke register BX
 Kemudian BL di mov dengan nilai temp sebesar FF
 Kemudian di push ke BX
 Lalu mov CL sebesar 04
 Lalu nilai BL dipindahkan ke CL
 Kemudian di pindahkan nilai DL dengan nilai temp yakni 46
 Sehingga DX bernilai 46

 Kemudian cetak kemudian menempatkan BX yang ditunjukkan oleh stack


pointer ke suatu alamat data.

13

Anda mungkin juga menyukai