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 100hjmp mulaitampilan db '', 13,10db ' _________________ ', 13,10db ' by:SURIADI ', 13,10db ' Oo===================== MENU UTAMA =======================oO', 13,10db ' || ||', 13,10db ' || 1) Menghapus Layar ||', 13,10db ' || 2) Menampilkan Urutan Abjad AAABBC ||', 13,10db ' || 3) Mengalikan Bilangan 2 dan 2 ||', 13,10db ' || 4) Menampilkan Biodata Anda ||', 13,10db ' || 5) Selesai ||', 13,10db ' || ||', 13,10db ' || ||', 13,10db ' || ||', 13,10db ' Oo========================================================oO', 13,10db ' Pilihan Anda [1...5]:$'mulai: mov ah, 09h ; service number 09h untuk mencetak stringmov dx, tampilan ; mengisi data stringint 21h ; menampilkan di monitor;aksi input pilihan menu oleh userpilih: mov ah,07h ; service number 07h untuk input karakterint 21h ; menampilkancmp al,'1' ; bandingkan input dengan karakter '1'je hapuslayar ; jika sama lompat ke prosedur hapuslayarcmp al,'2' ; bandingkan input dengan karakter '2'je urutanabjad ; jika sama lompat ke prosedur urutanabjadcmp al,'3' ; bandingkan input dengan karakter '3'je perkalian42 ; jika sama lompat ke prosedur perkalian42cmp al,'4' ; bandingkan input dengan karakter '4'je tampilbiodata ; jika sama lompat ke prosedur tampilbiodatacmp al,'5' ; bandingkan input dengan karakter '7'je keluar ; jika sama lompat ke prosedur keluarcall kembali ; panggil prosedur kembali;Untuk mengosongkan layarkosonglayar: mov ah,07h ; service number 07h untuk menghapus layar ke bawahmov al,00h ; hapus semua barismov bh,71h ; tampilkan warna background putih tulisan birumov ch,00h ; Baris batas atas 0mov cl,00h ; Kolom batas atas 0mov dh,0ffh ; baris batas bawah offmov dl,0ffh ; kolom batas bawah offint 10h ; Menjalankan interupt 10hretkursor: 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 iturethapuslayar : call kosonglayar ; kosongkan layarcall kursor ; letakkan kursor di awalmov ah,07h ; servis inputint 21h ; tampilkancall kembali ; kembali ke menukomenhuruf db '',13,10db '',13,10db 'Pencetakan karakter membentuk string AAABBC menggunakan program looping .....',13,10db '',13,10db '$',13,10urutanabjad: call kosonglayar ; kosongkan layarcall kursor ; letakkan kursor di awalmov ah, 09h ; servis 09h menampilkan stringmov dx, komenhuruf ; ambil data string komenhurufint 21h ; tampilkanmov cx,03h ; pengulangan 3 kalimov bl,04h ; nilai awal bl = 04mov dl,40h ; masukkan nilai 40 ke reg dlulang1: dec bl ; kurangi dl dengan 1push bx ; simpan bx ke stackinc dl ; tambah dl dengan 1ulang2: dec bl ; kurangi bl dengan 1mov ah,02h ; beri nilai ah dengan service 02h - pencetakan karakterint 21h ; tampilkanjne ulang2 ; lompat ke ulang2pop bx ; ambil nilai bx dari stackloop ulang1 ; kebali ke baris ulang1mov ah,07h ; servis inputint 21h ; tampilkancall kembali ; kembali ke menukomenkali db '',13,10db '',13,10db 'Perkalian antara bilangan 2 dan 2 menggunakan Assembler.',13,10db 'Hasilnya adalah ....',13,10db '',13,10db '$',13,10perkalian42: call kosonglayar ; kosongkan layarcall kursor ; panggil kursor ke awal halamanmov ah, 09h ; servis pencerakan stringmov dx, komenkali ; ambil data string di komenkaliint 21h ; tampilkanmov bl,02h ; nilai bl = 04mov al,02h ; nilai al = 02mul bl ; kalikan nilai bl dengan almov dl,al ; masukkan nilai al ke dl untuk dicetakadd dl,30h ; tambahkan nilai dl dengan 30mov ah,02h ; servis pencetakan karakterint 21h ; tampilkanmov ah,07h ; servis inputint 21h ; tampilkancall kembali ; kembali ke menukomengenap db '',13,10db '',13,10db 'Bilangan genap antara 0 sampai dengan 8 adalah.....',13,10db ',13,10db '$',13,10bilgenap08:call kosonglayar ; kosongkan layarcall kursor ; letakkan kursor di awal halamanmov ah, 09h ; servis 09h pencetakan stringmov dx, komengenap ; ambil data string dari komengenapint 21h ; tampilkanmov cx,05h ; pengulangan 5 kalimov ah,02h ; servis pencetakan karaktermov dl,30h ; masukkan nilai 30h ke dla: int 21h ; tampilkanadd dl,02h ; tambah dl dengan 2loop a ; lompat ke baris a sebanyak pengulanganmov ah,07h ; servis inputint 21h ; tampilkancall kembali ; kembali ke menu; berikut adalah data yang akan ditampilkan pada menu Biodatabiodata: db ' ___________________________________________________________________',13,10db ' //=========================== BIODATA ============================\\',13,10db ' || ||',13,10db ' || Nama : suriadi ||',13,10db ' || Alamat : Jl. KH. Ahmad Dahlan No.81 Pekanbaru ||',13,10db ' || Umur : 20 tahun ||',13,10db ' || Pekerjaan : mahasiswa ||',13,10db ' || Hobi : berenang ||',13,10db ' || email : adie putra 11@gmail.com ||',13,10db ' || Website : maz adie.blogspot.com ||',13,10db ' || ||',13,10db ' Oo================================================================oO$',13,10tampilbiodata: call kosonglayar ; kosongkan layarcall kursor ; letakkan kursor di awalmov dx,biodata ; ambil data string dari biodatamov ah,09h ; servis 09h untuk pencetakan stringint 21h ; tampilkanmov ah,07h ; servis inputint 21h ; tampilkancall kembali ; kembali ke menukeluar: int 20h ; program selesaikembali : call kosonglayar ; kosongkan layarcall kursor ; letakkan kursor di awaljmp 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