Pemrograman Mikropemproses

Week 1 (Jun 2019).

$config[ads_text] not found
Anonim

Pemrograman Mikropemproses

Litar Digital


soalan 1

Apakah perbezaan antara arahan JMP ("melompat") dan arahan CALL ("call") "# 1"> Menerangkan jawapan Sembunyikan jawapan

Arahan JMP hanya memberitahu mikropemproses untuk "melompat" ke alamat tertentu. Arahan CALL juga mengalihkan aliran program ke alamat tertentu, tetapi mengingati tempatnya supaya program boleh "kembali" di mana ia berhenti.

Nota:

Bincangkan konsep subrutin dengan pelajar anda, dan bagaimana subrutin mengecilkan saiz program.

Soalan 2

Ciri penting mikropemproses adalah penggunaan daftar bendera . Apa, sebenarnya, adalah "bendera", dan apa yang mereka gunakan untuk pengaturcaraan mikropemproses? Kenal pasti beberapa arahan mesin bahasa biasa yang menetapkan bendera, dan beberapa arahan biasa yang membaca bendera.

Mendedahkan jawapan Sembunyikan jawapan

Bendera adalah daftar bit tunggal dalam set mikropemproses mengikut hasil operasi. Operasi aritmetik dan logik adalah contoh biasa arahan yang menetapkan bendera. Operasi bersyarat seperti "Jump if Zero" didasarkan pada status bendera: iaitu status bendera tertentu menentukan apa operasi bersyarat akan dilakukan.

Nota:

Apabila saya mula belajar pengaturcaraan mikropemproses, saya tertanya-tanya bagaimana operasi bersyarat seperti JZ "tahu" sama ada untuk melompat atau tidak. Ia adalah jelas dari pemeriksaan terhadap pelbagai program yang operasi bersyarat ini berdasarkan "keputusan" mereka pada arahan sebelum ini, tetapi saya tidak tahu bagaimana hubungan komunikatif ini dibuat. Sekali saya meneliti bendera, walaupun, semuanya masuk akal.

  • ← Lembaran Kerja Sebelumnya

  • Indeks Lembaran Kerja

  • Lembaran kerja seterusnya →