Banyak sekali bahasa pemograman yang digunakan oleh seorang programer untuk menciptakan sebuah program diantara nya bahasa pemograman Visual Basic , Php , Java , Turbo pascal , C++ dan banyak lagi bahasa pemograman . Salah satunya bahasa mesin yang disebut ( assembler ) . Program ini biasanya dibuat dengan menggunakan aplikasi seperti Flat Assembler atau langsung dari CMD yang memang sudah ada dalam sistem operasi Windows kali ini saya akan mencoba membuat sebuah program sederhana dengan menggunakan command yang disediakan oleh windows.
Baiklah langsung saja kita coba langkah –langkah dalam pembuatan program sederhana menggunakan bahasa assembly atau yang sering disebut bahasa mesin.
Langkah 1
Klik tombol START pada windows kemudian cari Run lalu ketikan pada kolom pengisian yang ada pada Run seperti gambar dibawah ini , kemudian klik OKE atau takan Enter pada keyboard.
Langkah 2
Setelah muncul tampilan seperti dibawah , langsung saja ketikan debug.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
| org 100h jmp mulai tampilan db '' , 13,10 db ' _________________ ' , 13,10 db ' by:SURIADI ' , 13,10 db ' Oo===================== MENU UTAMA =======================oO' , 13,10 db ' || ||' , 13,10 db ' || 1) Menghapus Layar ||' , 13,10 db ' || 2) Menampilkan Urutan Abjad AAABBC ||' , 13,10 db ' || 3) Mengalikan Bilangan 2 dan 2 ||' , 13,10 db ' || 4) Menampilkan Biodata Anda ||' , 13,10 db ' || 5) Selesai ||' , 13,10 db ' || ||' , 13,10 db ' || ||' , 13,10 db ' || ||' , 13,10 db ' Oo========================================================oO' , 13,10 db ' Pilihan Anda [1...5]:$' mulai: mov ah, 09h ; service number 09h untuk mencetak string mov dx, tampilan ; mengisi data string int 21h ; menampilkan di monitor ;aksi input pilihan menu oleh user pilih: mov ah,07h ; service number 07h untuk input karakter int 21h ; menampilkan cmp al, '1' ; bandingkan input dengan karakter '1' je hapuslayar ; jika sama lompat ke prosedur hapuslayar cmp al, '2' ; bandingkan input dengan karakter '2' je urutanabjad ; jika sama lompat ke prosedur urutanabjad cmp al, '3' ; bandingkan input dengan karakter '3' je perkalian42 ; jika sama lompat ke prosedur perkalian42 cmp al, '4' ; bandingkan input dengan karakter '4' je tampilbiodata ; jika sama lompat ke prosedur tampilbiodata cmp al, '5' ; bandingkan input dengan karakter '7' je keluar ; jika sama lompat ke prosedur keluar call kembali ; panggil prosedur kembali ;Untuk mengosongkan layar kosonglayar: mov ah,07h ; service number 07h untuk menghapus layar ke bawah mov al,00h ; hapus semua baris mov bh,71h ; tampilkan warna background putih tulisan biru mov ch,00h ; Baris batas atas 0 mov cl,00h ; Kolom batas atas 0 mov dh,0ffh ; baris batas bawah off mov dl,0ffh ; kolom batas bawah off int 10h ; Menjalankan interupt 10h ret kursor: mov ah,02h ; Service number 02h (untuk menentukan posisi kursor) mov dh,00h ; Nilai baris posisi kursor (baris 0) mov dl,00h ; Nilai kolom posisi kursor (kolom 0) mov bh,00h ; Nilai nomor halaman layar (halaman 0) int 10h ; Inisialisasi bentuk dan posisi kursor saat itu ret hapuslayar : call kosonglayar ; kosongkan layar call kursor ; letakkan kursor di awal mov ah,07h ; servis input int 21h ; tampilkan call kembali ; kembali ke menu komenhuruf db '' ,13,10 db '' ,13,10 db 'Pencetakan karakter membentuk string AAABBC menggunakan program looping .....' ,13,10 db '' ,13,10 db '$' ,13,10 urutanabjad: call kosonglayar ; kosongkan layar call kursor ; letakkan kursor di awal mov ah, 09h ; servis 09h menampilkan string mov dx, komenhuruf ; ambil data string komenhuruf int 21h ; tampilkan mov cx,03h ; pengulangan 3 kali mov bl,04h ; nilai awal bl = 04 mov dl,40h ; masukkan nilai 40 ke reg dl ulang1: dec bl ; kurangi dl dengan 1 push bx ; simpan bx ke stack inc dl ; tambah dl dengan 1 ulang2: dec bl ; kurangi bl dengan 1 mov ah,02h ; beri nilai ah dengan service 02h - pencetakan karakter int 21h ; tampilkan jne ulang2 ; lompat ke ulang2 pop bx ; ambil nilai bx dari stack loop ulang1 ; kebali ke baris ulang1 mov ah,07h ; servis input int 21h ; tampilkan call kembali ; kembali ke menu komenkali db '' ,13,10 db '' ,13,10 db 'Perkalian antara bilangan 2 dan 2 menggunakan Assembler.' ,13,10 db 'Hasilnya adalah ....' ,13,10 db '' ,13,10 db '$' ,13,10 perkalian42: call kosonglayar ; kosongkan layar call kursor ; panggil kursor ke awal halaman mov ah, 09h ; servis pencerakan string mov dx, komenkali ; ambil data string di komenkali int 21h ; tampilkan mov bl,02h ; nilai bl = 04 mov al,02h ; nilai al = 02 mul bl ; kalikan nilai bl dengan al mov dl,al ; masukkan nilai al ke dl untuk dicetak add dl,30h ; tambahkan nilai dl dengan 30 mov ah,02h ; servis pencetakan karakter int 21h ; tampilkan mov ah,07h ; servis input int 21h ; tampilkan call kembali ; kembali ke menu komengenap db '' ,13,10 db '' ,13,10 db 'Bilangan genap antara 0 sampai dengan 8 adalah.....' ,13,10 db ',13,10 db '$' ,13,10 bilgenap08: call kosonglayar ; kosongkan layar call kursor ; letakkan kursor di awal halaman mov ah, 09h ; servis 09h pencetakan string mov dx, komengenap ; ambil data string dari komengenap int 21h ; tampilkan mov cx,05h ; pengulangan 5 kali mov ah,02h ; servis pencetakan karakter mov dl,30h ; masukkan nilai 30h ke dl a: int 21h ; tampilkan add dl,02h ; tambah dl dengan 2 loop a ; lompat ke baris a sebanyak pengulangan mov ah,07h ; servis input int 21h ; tampilkan call kembali ; kembali ke menu ; berikut adalah data yang akan ditampilkan pada menu Biodata biodata: db ' ___________________________________________________________________' ,13,10 db ' //=========================== BIODATA ============================\\' ,13,10 db ' || ||' ,13,10 db ' || Nama : suriadi ||' ,13,10 db ' || Alamat : Jl. KH. Ahmad Dahlan No.81 Pekanbaru ||' ,13,10 db ' || Umur : 20 tahun ||' ,13,10 db ' || Pekerjaan : mahasiswa ||' ,13,10 db ' || Hobi : berenang ||' ,13,10 db ' || email : adie putra 11@gmail.com ||' ,13,10 db ' || Website : maz adie.blogspot.com ||' ,13,10 db ' || ||' ,13,10 db ' Oo================================================================oO$' ,13,10 tampilbiodata: call kosonglayar ; kosongkan layar call kursor ; letakkan kursor di awal mov dx,biodata ; ambil data string dari biodata mov ah,09h ; servis 09h untuk pencetakan string int 21h ; tampilkan mov ah,07h ; servis input int 21h ; tampilkan call kembali ; kembali ke menu keluar: int 20h ; program selesai kembali : call kosonglayar ; kosongkan layar call kursor ; letakkan kursor di awal jmp mulai ; lompat ke prosedur mulai (menampilkan menu) |
Setelah kode diatas dimasukan kedalam Cmd maka bila dijalankan akan muncul tampilan seperti dibawah ini
Tampilan program setelah dieksekusi:
Jika di tekan angka 1 (satu ) pada keyboard maka program akan merespon dan menghapus layar atau menghapus layar pada Cmd seperti tampilan dibawah ini .
Langkah 3
Untuk kembali kemenu semula tekan angka 1 (satu ) maka program akan menu awal kemudian jika anda ingin mengeksekusi perintah yang kedua yankni menampilkan percetakan karakter membentuk string AAABBC menggunakan program looping atau pengulangan maka tekan angka 2 (Dua )pada keyboard dan akan muncul tampilan seperti dibawah ini.
Untuk kembali kemenu awal tekan satu pada keyboard setelah itu lakukan eksekusi berikutnya dengan menekan angka 3 ( tiga ) pada keyboard maka program akan merespon seperti tampilan dibawah ini yakni perkalian antara bilangan 2 dan 2.
Langkah 4
Setelah itu seperti biasa jika kita akan kembali ke menu awal maka kita tekan angka 1 (satu ) pada keyboard dan untuk menampilkan biodata kita seperti dibawah ini maa kita harus menekan tombol 4 (empat ) pada keyboard maka program akan langsung mengeksekusi dengan menampilkan tampilan seperti dibawah ini.
Dari program ini maka kita harus tekan tombol 5 ( lima ) pada keyboard maka program langsung keluar atau logout.
Sekian tutorial dari saya semoga dapat bermanfaat!. Mungkin dari tutorial diatas yang tadi nya hanya ingin belajar pemograman yang berbasiskan visual maka dengan adanya tutorial di atas maka anda ingin mencoba bahasa pemograman yang berbasiskan bahasa mesin atau assembler dan saya harap anda dapat mengembangkannya lebih dari tutorial diatas .
Tidak ada komentar:
Posting Komentar