Pengaturcaraan peringkat pemasangan sangat penting untuk peringkat rendah sistem tertanam reka bentuk digunakan untuk mengakses arahan pemproses untuk memanipulasi perkakasan. Ini adalah bahasa tingkat mesin yang paling primitif digunakan untuk membuat kod yang cekap yang menggunakan lebih sedikit bilangan pusingan jam dan mengambil lebih sedikit memori dibandingkan dengan bahasa pengaturcaraan peringkat tinggi . Ini adalah bahasa pengaturcaraan yang berorientasikan perkakasan yang lengkap untuk menulis program yang mesti diketahui oleh pengaturcara mengenai perkakasan tertanam. Di sini, kami menyediakan asas pengaturcaraan peringkat pemasangan 8086.
Pengaturcaraan Tahap Perhimpunan 8086
Pengaturcaraan Tahap Perhimpunan 8086
The bahasa pengaturcaraan perhimpunan adalah bahasa peringkat rendah yang dikembangkan dengan menggunakan mnemonics. Mikrokontroler atau mikropemproses hanya dapat memahami bahasa binari seperti 0 atau 1 oleh itu assembler menukar bahasa pemasangan ke bahasa binari dan menyimpannya memori untuk melaksanakan tugas. Sebelum menulis program, pereka tertanam mesti mempunyai pengetahuan yang mencukupi mengenai perkakasan pengawal atau pemproses tertentu, jadi pertama-tama kita harus mengetahui perkakasan pemproses 8086.
Perkakasan Pemproses
8086 Senibina Pemproses
8086 adalah pemproses yang diwakili untuk semua peranti periferal seperti bus bersiri, dan RAM dan ROM, peranti I / O dan sebagainya yang semuanya disambungkan secara eksternal ke CPU dengan menggunakan bus sistem. Mikropemproses 8086 mempunyai Senibina berasaskan CISC , dan mempunyai periferal seperti 32 I / O, Komunikasi bersiri , kenangan dan pembilang / pemasa . Mikropemproses memerlukan program untuk menjalankan operasi yang memerlukan memori untuk membaca dan menyimpan fungsinya.
8086 Senibina Pemproses
Pengaturcaraan tahap pemasangan 8086 didasarkan pada daftar memori. Daftar adalah bahagian utama dari mikropemproses dan pengawal yang berada di dalam memori yang menyediakan kaedah mengumpulkan dan menyimpan data yang lebih pantas. Sekiranya kita ingin memanipulasi data ke pemproses atau pengawal dengan melakukan pendaraban, penambahan, dan lain-lain, kita tidak dapat melakukannya secara langsung dalam memori di mana memerlukan daftar untuk memproses dan menyimpan data. Mikroprosesor 8086 mengandungi pelbagai jenis daftar yang dapat dikelaskan mengikut arahan mereka seperti
Daftar tujuan am : CPU 8086 terdiri dari 8 register tujuan umum dan setiap register memiliki namanya sendiri seperti yang ditunjukkan dalam gambar seperti AX, BX, CX, DX, SI, DI, BP, SP. Ini semua adalah register 16-bit di mana empat register dibahagikan kepada dua bahagian seperti AX, BX, CX, dan DX yang digunakan terutamanya untuk menyimpan nombor.
Daftar tujuan khas : CPU 8086 telah terdiri dari 2- daftar fungsi khas seperti daftar IP dan bendera. Daftar IP menunjukkan arahan pelaksanaan semasa dan selalu berfungsi untuk mengumpulkan dengan daftar segmen CS. Fungsi utama register bendera adalah untuk mengubah operasi CPU setelah fungsi mekanikal selesai dan kita tidak dapat mengakses secara langsung
Daftar segmen: CPU 8086 terdiri dari daftar segmen 4 seperti CS, DS, ES, SS yang terutama digunakan untuk menyimpan data dalam daftar segmen dan kita dapat mengakses blok memori menggunakan register segmen.
Program Bahasa Perhimpunan Ringkas 8086
Pengaturcaraan bahasa perhimpunan 8086 mempunyai beberapa peraturan seperti
- Tahap pemasangan pengaturcaraan 8086 kod mesti ditulis dengan huruf besar
- Label mesti diikuti dengan titik dua, contohnya: label:
- Semua label dan simbol mesti bermula dengan huruf
- Semua komen ditaip dengan huruf kecil
- Baris terakhir program mesti diakhiri dengan arahan TAMAT
8086 pemproses mempunyai dua arahan lain untuk mengakses data, seperti WORD PTR - untuk kata (dua bait), BYTE PTR - untuk bait.
Op-Kod dan Operan
Kod op: Satu arahan dipanggil sebagai op-code yang dapat dijalankan oleh CPU. Di sini arahan ‘MOV’ disebut sebagai op-code.
Operan: Data sepotong disebut operan yang dapat dikendalikan oleh op-code. Contohnya, operasi penolakan dilakukan oleh operan yang ditolak oleh operan.
Sintaks: SUB b, c
8086 program bahasa pemasangan mikropemproses
Tulis Program Untuk Membaca Watak Dari Papan Kekunci
Subprogram input papan kekunci MOV ah, 1h //
INT 21h // input watak
// watak disimpan dalam al
MOV c, al // salin watak dari alto c
Tulis Program Untuk Membaca dan Menampilkan Watak
Subprogram input papan kekunci MOV ah, 1h //
INT 21h // membaca watak menjadi al
MOV dl, al // salin watak ke dl
MOV ah, subprogram output watak 2h // watak
INT 21h // watak watak dalam dl
Tulis Program Menggunakan Daftar Tujuan Umum
ORG 100jam
MOV AL, VAR1 // periksa nilai VAR1 dengan memindahkannya ke AL.
LEA BX, VAR1 // dapatkan alamat VAR1 di BX.
MOV BYTE PTR [BX], 44h // ubah kandungan VAR1.
MOV AL, VAR1 // periksa nilai VAR1 dengan memindahkannya ke AL.
BETUL
VAR1 DB 22jam
TAMAT
Tulis Program Untuk Memaparkan Rentetan Menggunakan Fungsi Perpustakaan
sertakan emu8086.inc // Pengisytiharan makro
ORG 100jam
CETAK ‘Hello World!’
GOTOXY 10, 5
PUTC 65 // 65 - adalah kod ASCII untuk ‘A’
PUTC ‘B’
RET // kembali ke sistem operasi.
TAMAT // arahan untuk menghentikan penyusun.
Arahan Aritmetik dan Logik
Proses 8086 unit aritmetik dan logik telah dipisahkan menjadi tiga kumpulan seperti operasi penambahan, pembahagian, dan kenaikan. Paling Arahan Aritmetik dan Logik mempengaruhi daftar status pemproses.
Pengaturcaraan bahasa pemasangan 8086 mnemonics adalah dalam bentuk op-code, seperti MOV, MUL, JMP, dan sebagainya, yang digunakan untuk menjalankan operasi. Pengaturcaraan bahasa perhimpunan 8086 contoh
Penambahan
ORG0000jam
MOV DX, # 07H // pindahkan nilai 7 ke daftar AX //
MOV AX, # 09H // pindahkan nilai 9 ke penumpuk AX //
Tambah AX, 00H // tambahkan nilai CX dengan nilai R0 dan simpan hasilnya di AX //
TAMAT
Pendaraban
ORG0000jam
MOV DX, # 04H // pindahkan nilai 4 ke daftar DX //
MOV AX, # 08H // pindahkan nilai 8 ke penumpuk AX //
MUL AX, 06H // Hasil darab disimpan di dalam Accumulator AX //
TAMAT
Penolakan
ORG 0000j
MOV DX, # 02H // pindahkan nilai 2 untuk mendaftar DX //
MOV AX, # 08H // pindahkan nilai 8 ke penumpuk AX //
SUBB AX, 09H // Nilai hasil disimpan di Accumulator A X //
TAMAT
Bahagian
ORG 0000j
MOV DX, # 08H // pindahkan nilai 3 untuk mendaftar DX //
MOV AX, # 19H // pindahkan nilai 5 ke penumpuk AX //
DIV AX, 08H // nilai akhir disimpan di Accumulator AX //
TAMAT
Oleh itu, ini semua mengenai program Contoh Perancangan Pengaturcaraan 8086, 8086 Arkitek Prosesor untuk program pemprosesan 8086, Aritmetik dan Arahan Logik. Selain itu, sebarang pertanyaan mengenai artikel ini atau projek elektronik, anda boleh menghubungi kami dengan memberi komen di bahagian komen di bawah.