Program Bahasa Rakitan 8086 Sederhana dengan Penjelasan

Coba Instrumen Kami Untuk Menghilangkan Masalah





Pemrograman tingkat perakitan sangat penting untuk tingkat rendah sistem tertanam desain digunakan untuk mengakses instruksi prosesor untuk memanipulasi perangkat keras. Ini adalah bahasa tingkat mesin paling primitif yang digunakan untuk membuat kode efisien yang mengkonsumsi lebih sedikit jumlah siklus jam dan membutuhkan lebih sedikit memori dibandingkan dengan bahasa pemrograman tingkat tinggi . Ini adalah bahasa pemrograman berorientasi perangkat keras lengkap untuk menulis program yang pemrogram harus menyadari perangkat keras tertanam. Di sini, kami menyediakan dasar-dasar pemrograman tingkat perakitan 8086.

Pemrograman Tingkat Perakitan 8086

Pemrograman Tingkat Perakitan 8086



Pemrograman Tingkat Perakitan 8086

Itu bahasa pemrograman assembly adalah bahasa tingkat rendah yang dikembangkan dengan menggunakan mnemonik. Mikrokontroler atau mikroprosesor hanya dapat memahami bahasa biner seperti 0 atau 1, oleh karena itu assembler mengubah bahasa assembly menjadi bahasa biner dan menyimpannya dalam memori untuk melakukan tugas. Sebelum menulis program, para desainer yang tertanam harus memiliki pengetahuan yang cukup tentang perangkat keras tertentu dari pengontrol atau prosesor, maka pertama-tama kita harus mengetahui perangkat keras prosesor 8086.


Perangkat Keras Prosesor

Perangkat Keras Prosesor



8086 Arsitektur Prosesor

8086 adalah prosesor yang diwakili untuk semua perangkat periferal seperti serial bus, dan RAM dan ROM, perangkat I / O dan seterusnya yang semuanya terhubung secara eksternal ke CPU dengan menggunakan bus sistem. Mikroprosesor 8086 memiliki Arsitektur berbasis CISC , dan memiliki periferal seperti 32 I / O, Komunikasi serial , kenangan dan penghitung / timer . Mikroprosesor membutuhkan program untuk melakukan operasi yang membutuhkan memori untuk membaca dan menyimpan fungsi.

8086 Arsitektur Prosesor

8086 Arsitektur Prosesor

Pemrograman tingkat perakitan 8086 didasarkan pada register memori. Register adalah bagian utama dari mikroprosesor dan pengontrol yang terletak di memori yang menyediakan cara yang lebih cepat untuk mengumpulkan dan menyimpan data. Jika kita ingin memanipulasi data ke prosesor atau pengontrol dengan melakukan perkalian, penjumlahan, dll., Kita tidak dapat melakukannya secara langsung di memori yang memerlukan register untuk memproses dan menyimpan data. Mikroprosesor 8086 berisi berbagai jenis register yang dapat diklasifikasikan menurut instruksinya seperti

Register tujuan umum : CPU 8086 terdiri dari 8 register tujuan umum dan setiap register memiliki namanya sendiri seperti yang ditunjukkan pada gambar seperti AX, BX, CX, DX, SI, DI, BP, SP. Ini semua adalah register 16-bit di mana empat register dibagi menjadi dua bagian seperti AX, BX, CX, dan DX yang terutama digunakan untuk menyimpan angka.

Register tujuan khusus : CPU 8086 terdiri dari 2 register fungsi khusus seperti register IP dan flag. Register IP menunjuk ke instruksi pelaksana saat ini dan selalu bekerja untuk berkumpul dengan register segmen CS. Fungsi utama register bendera adalah untuk memodifikasi operasi CPU setelah fungsi mekanis selesai dan kita tidak dapat mengakses secara langsung
Segment register: CPU 8086 terdiri dari 4-segmen register seperti CS, DS, ES, SS yang utamanya digunakan untuk menyimpan data apa pun di register segmen dan kita dapat mengakses blok memori menggunakan register segmen.


Program Bahasa Perakitan Sederhana 8086

Pemrograman bahasa assembly 8086 memiliki beberapa aturan seperti

  • Tingkat perakitan pemrograman 8086 kode harus ditulis dengan huruf besar
  • Label harus diikuti dengan titik dua, contoh: label:
  • Semua label dan simbol harus dimulai dengan huruf
  • Semua komentar diketik dalam huruf kecil
  • Baris terakhir program harus diakhiri dengan perintah END

Prosesor 8086 memiliki dua instruksi lain untuk mengakses data, seperti WORD PTR - untuk kata (dua byte), BYTE PTR - untuk byte.

Op-Code dan Operand

Op-Code dan Operand

Kode op: Sebuah instruksi tunggal disebut sebagai op-code yang dapat dijalankan oleh CPU. Di sini instruksi 'MOV' disebut sebagai kode-op.

Operand: Data satu bagian disebut operand yang dapat dioperasikan oleh kode op. Contoh, operasi pengurangan dilakukan dengan operan yang dikurangi dengan operan.
Sintaksis: SUB b, c

8086 program bahasa perakitan mikroprosesor

Tulis Program Untuk Membaca Karakter Dari Keyboard

MOV ah, 1j // subprogram masukan keyboard
INT 21h // masukan karakter
// karakter disimpan di al
MOV c, al // salin karakter dari alto c

Tulis Program Untuk Membaca dan Menampilkan Karakter

MOV ah, 1j // subprogram masukan keyboard
INT 21h // membaca karakter menjadi al
MOV dl, al // salin karakter ke dl
MOV ah, 2j // subprogram keluaran karakter
INT 21h // menampilkan karakter dalam dl

Menulis Program Menggunakan Register Tujuan Umum

ORG 100 jam
MOV AL, VAR1 // periksa nilai VAR1 dengan memindahkannya ke AL.
LEA BX, VAR1 // dapatkan alamat VAR1 di BX.
MOV BYTE PTR [BX], 44j // memodifikasi konten VAR1.
MOV AL, VAR1 // periksa nilai VAR1 dengan memindahkannya ke AL.
BAIK
VAR1 DB 22j
AKHIR

Tulis Program Untuk Menampilkan String Menggunakan Fungsi Perpustakaan

include emu8086.inc // Deklarasi makro
ORG 100 jam
CETAK ‘Halo Dunia!’
GOTOXY 10, 5
PUTC 65 // 65 - adalah kode ASCII untuk 'A'
PUTC 'B'
RET // kembali ke sistem operasi.
END // direktif untuk menghentikan kompilator.

Aritmatika dan Instruksi Logika

Proses 8086 unit aritmatika dan logika telah dipisahkan menjadi tiga kelompok seperti operasi penjumlahan, pembagian, dan kenaikan. Paling Aritmatika dan Instruksi Logika mempengaruhi register status prosesor.

Bahasa assembly bahasa pemrograman 8086 mnemonics berbentuk op-code seperti MOV, MUL, JMP, dan lain sebagainya yang digunakan untuk menjalankan operasi. Bahasa pemrograman assembly 8086 contoh

Tambahan
ORG0000j
MOV DX, # 07H // pindahkan nilai 7 ke register AX //
MOV AX, # 09H // pindahkan nilai 9 ke akumulator AX //
Tambahkan AX, 00H // tambahkan nilai CX dengan nilai R0 dan simpan hasilnya di AX //
AKHIR
Perkalian
ORG0000j
MOV DX, # 04H // pindahkan nilai 4 ke register DX //
MOV AX, # 08H // pindahkan nilai 8 ke akumulator AX //
MUL AX, 06H // Hasil yang dikalikan disimpan di Accumulator AX //
AKHIR
Pengurangan
ORG 0000h
MOV DX, # 02H // pindahkan nilai 2 untuk mendaftar DX //
MOV AX, # 08H // pindahkan nilai 8 ke akumulator AX //
SUBB AX, 09H // Nilai hasil disimpan di Accumulator A X //
AKHIR
Divisi
ORG 0000h
MOV DX, # 08H // pindahkan nilai 3 untuk mendaftar DX //
MOV AX, # 19H // pindahkan nilai 5 ke akumulator AX //
DIV AX, 08H // nilai akhir disimpan di Accumulator AX //
AKHIR

Oleh karena itu, ini semua tentang Pemrograman Tingkat Perakitan 8086, 8086 Arsitektur Prosesor program contoh sederhana untuk prosesor 8086, Instruksi Aritmatika dan Logika. Selain itu, setiap pertanyaan tentang artikel ini atau proyek elektronik, Anda dapat menghubungi kami dengan berkomentar di bagian komentar di bawah.