Anda di halaman 1dari 3

Teknik pemrograman

a. Loop program

Pemrograman langsung
Program input / output dari percobaan pertama adalah contoh pemrograman
langsung. Dalam hal ini, sinyal pada input 50h dibaca dan ditampilkan secara
langsung oleh LED keluaran pada 00h.

Dalam contoh ini, program dengan jelas berakhir setelah sinyal dikeluarkan.
Jenis program ini dikatakan langsung atau linier. Sebaliknya, program yang
perlu dijalankan tanpa batas waktu oleh prosesor harus menyertakan
fungsionalitas yang sesuai.
Perintah tanpa syarat jmp dapat digunakan untuk tujuan ini. Perintah ini
menyebabkan aliran program untuk terus kembali ke alamat lompat (tujuan
cabang).
Loop tak terbatas
Dalam contoh berikut, sinyal pada input 50h dibaca dan ditampilkan langsung
oleh LED pada output 00h. Siklus ini diulang terus menerus (lihat percobaan
pengulangan program). Jenis aliran program ini disebut loop tak terbatas.

Open the development environment and write the program shown alongside.
Assemble the program and open the debugger. Observe the effect of the
program in single step mode (by pressing the STEP key).

Once a program cycle has ended, execution returns to the start of it and it is
repeated. If you press the RUN key, the microprocessor will execute the routine
permanently. Experiment with the program using the switches and buttons of
input 50h.

b. Melompat bersyarat

Pemrosesan instruksi dapat menghasilkan sejumlah peristiwa yang berbeda,


mis. hasil operasi matematika (aritmatika) yang baik nol atau yang melebihi
ruang memori yang tersedia. Untuk menangani peristiwa semacam itu,
mikroprosesor memiliki register khusus yang digunakan untuk menyimpan dan
memeriksa status perintah. Ini disebut register status atau register bendera.
Register ini sangat penting untuk operasi prosesor (lihat halaman bendera).

Setiap bit dari register status bertanggung jawab untuk menunjukkan suatu
peristiwa tertentu. Jika suatu peristiwa terjadi, bit status yang sesuai diatur (1).
Jika suatu peristiwa tidak terjadi, bit status yang sesuai diatur ulang (0). Dalam
kombinasi dengan perintah yang sesuai, bit status ini dapat digunakan untuk
memicu lompatan hanya jika peristiwa tertentu terjadi, bukan sebaliknya.
Lompatan seperti itu disebut lompatan kondisional daripada lompatan tanpa
syarat.
Contoh

Buka lingkungan pengembangan dan muat ruang kerja bernama "Lompatan


Bersyarat" (opsi menu: File / Buka ruang kerja ...) sebagai berikut: Pilih "Muat
template" dari jendela "Buka ruang kerja" dan klik "Teknologi Komputer Mikro
2". Semua ruang kerja yang terkait dengan kursus kemudian terdaftar di jendela
pilihan. Pilih ruang kerja "Lompatan Bersyarat". Pasang program dan buka
debugger. Amati efek program dalam mode satu langkah (tekan tombol STEP).

Aliran program:

Pertama, angka 15j dimasukkan ke register A dan ditampilkan pada port


keluaran 00j. Ini diikuti oleh lompatan tanpa syarat ke alamat 000bh. Di sana,
nomor ffh dimuat ke register A dan output ke 00h. Perintah selanjutnya
membalikkan flag CY (carry bit) sehingga status sinyalnya menjadi 1. Perintah
"jc" (lompatan carry: jika carry bit = 1) dijalankan karena carry bit adalah 1.
Sebagai hasilnya, eksekusi program berlanjut dari alamat 0000h. Pada pass
kedua, carry-bit dibalik lagi oleh perintah cmc, mis. Bit sekarang diatur ke 0.
Kali ini perintah jc tidak dieksekusi. Akibatnya, eksekusi program mulai dari
sini adalah linier lagi, mis. Perintah diproses tanpa lompatan apa pun.

Lompatan bersyarat tersedia untuk setiap bit status penting, sehingga


memungkinkan respons yang sesuai untuk semua peristiwa penting.

Anda mungkin juga menyukai