Jednostavni programi skupštinskog jezika 8086 s objašnjenjem

Isprobajte Naš Instrument Za Uklanjanje Problema





Programiranje na razini skupštine vrlo je važno za nisku razinu ugrađeni sustav dizajn se koristi za pristup uputama procesora za manipulaciju hardverom. To je najprimitivniji jezik na strojnoj razini koji se koristi za stvaranje učinkovitog koda koji troši manje broja ciklusa takta i zauzima manje memorije u usporedbi s programski jezik visoke razine . Kompletni je hardverski orijentirani programski jezik za pisanje programa koji programer mora biti svjestan ugrađenog hardvera. Ovdje pružamo osnove programiranja na razini montaže 8086.

Programiranje na razini skupštine 8086

Programiranje na razini skupštine 8086



Programiranje na razini skupštine 8086

The programski jezik montaže je jezik niske razine koji se razvija pomoću mnemotehnike. Mikrokontroler ili mikroprocesor može razumjeti samo binarni jezik poput 0 ili 1, stoga asembler pretvara montažni jezik u binarni jezik i sprema ga u memoriju za izvršavanje zadataka. Prije pisanja programa ugrađeni dizajneri moraju imati dovoljno znanja o određenom hardveru kontrolera ili procesora, pa smo prvo trebali znati hardver procesora 8086.


Hardver procesora

Hardver procesora



8086 Arhitektura procesora

8086 je procesor koji je predstavljen za sve periferne uređaje poput serijske sabirnice te RAM-a i ROM-a, I / O uređaja i tako dalje koji su svi spojeni na CPU pomoću sistemske sabirnice. Mikroprocesor 8086 ima Arhitektura utemeljena na CISC-u , a ima periferne uređaje poput 32 I / O, Serijska komunikacija , uspomene i brojači / brojači vremena . Mikroprocesor zahtijeva program za izvođenje operacija kojima je potrebna memorija za čitanje i spremanje funkcija.

8086 Arhitektura procesora

8086 Arhitektura procesora

Programiranje razine sklopa 8086 temelji se na memorijskim registrima. Registar je glavni dio mikroprocesori i kontroleri koji se nalaze u memoriji koja omogućuje brži način prikupljanja i pohrane podataka. Ako želimo manipulirati podacima s procesorom ili kontrolerom izvođenjem množenja, zbrajanja itd., To ne možemo učiniti izravno u memoriji gdje su registri potrebni za obradu i pohranu podataka. Mikroprocesor 8086 sadrži razne vrste registara koji se mogu klasificirati prema njihovim uputama kao što su

Registri opće namjene : CPU 8086 sastojao se od 8 općih registara i svaki registar ima svoje ime kao što je prikazano na slici kao što su AX, BX, CX, DX, SI, DI, BP, SP. Sve su to 16-bitni registri gdje su četiri registra podijeljena u dva dijela kao što su AX, BX, CX i DX koji se uglavnom koristi za zadržavanje brojeva.

Registri posebne namjene : CPU 8086 sastojao se od 2 registra posebne funkcije kao što su IP i registri zastava. IP registar usmjerava na trenutnu izvršnu uputu i uvijek radi na prikupljanju s registrom CS segmenta. Glavna funkcija registara zastavica je modificiranje CPU operacija nakon dovršenja mehaničkih funkcija i ne možemo pristupiti izravno
Registri segmenata: CPU 8086 sastojao se od 4-segmentnih registara kao što su CS, DS, ES, SS koji se uglavnom koristi za spremanje bilo kakvih podataka u segmentne registre, a bloku memorije možemo pristupiti pomoću registara segmenata.


Jednostavni skupni jezični programi 8086

Programiranje 8086 u asemblerskom jeziku ima neka pravila kao što su

  • Razina montaže programiranje 8086 kod mora biti napisan velikim slovima
  • Oznake mora slijediti dvotačka, na primjer: label:
  • Sve oznake i simboli moraju počinjati slovom
  • Svi se komentari upisuju malim slovima
  • Posljednji redak programa mora se završiti direktivom END

8086 procesori imaju dvije druge upute za pristup podacima, poput WORD PTR - za riječ (dva bajta), BYTE PTR - za bajt.

Op-Code i Operand

Op-Code i Operand

Op kod: Jedna uputa naziva se op-kodom koji CPU može izvršiti. Ovdje se uputa „MOV“ poziva kao op-kod.

Operandi: Podaci od jednog dijela nazivaju se operandi kojima se može upravljati pomoću op-koda. Primjerice, operaciju oduzimanja izvode operandi koji se oduzimaju od operanda.
Sintaksa: SUB b, c

Programi za zborni jezik mikroprocesorskih 8086

Napišite tipku za čitanje lika s tipkovnice

MOV ah, 1h // potprogram za unos tipkovnice
INT 21h // unos znakova
// znak je pohranjen u al
MOV c, al // kopiranje znaka iz alt c

Napišite program za čitanje i prikazivanje znaka

MOV ah, 1h // potprogram za unos tipkovnice
INT 21h // čitanje znaka u al
MOV dl, al // kopiraj znak u dl
MOV ah, 2h // potprogram za izlaz znakova
INT 21h // prikaz znaka u dl

Napišite program pomoću registara opće namjene

ORG 100h
MOV AL, VAR1 // provjera vrijednosti VAR1 pomicanjem u AL.
LEA BX, VAR1 // dobivanje adrese VAR1 u BX.
MOV BYTE PTR [BX], 44h // izmjena sadržaja VAR1.
MOV AL, VAR1 // provjera vrijednosti VAR1 pomicanjem u AL.
PRAVO
VAR1 DB 22h
KRAJ

Napišite program za prikaz niza pomoću knjižničnih funkcija

uključuju emu8086.inc // Makro deklaracija
ORG 100h
TISAK ‘Pozdrav svijetu!’
GOTOXY 10, 5
PUTC 65 // 65 - je ASCII kod za 'A'
PUTC 'B'
RET // povratak u operativni sustav.
END // direktiva za zaustavljanje prevoditelja.

Aritmetičke i logičke upute

Procesi aritmetičke i logičke jedinice 8086 razdvojili su se u tri skupine kao što su zbrajanje, dijeljenje i operacija prirasta. Najviše Aritmetičke i logičke upute utječu na registar statusa procesora.

Mnemotehnika za programiranje 8086 u skupštinskom jeziku u obliku je op-koda, kao što su MOV, MUL, JMP i tako dalje, koji se koriste za izvođenje operacija. Programiranje jezika skupštine 8086 primjera

Dodatak
ORG0000h
MOV DX, # 07H // premještanje vrijednosti 7 u registar AX //
MOV AX, # 09H // premještanje vrijednosti 9 u akumulator AX //
Dodaj AX, 00H // dodaj CX vrijednost s R0 vrijednošću i rezultat pohrani u AX //
KRAJ
Množenje
ORG0000h
MOV DX, # 04H // premještanje vrijednosti 4 u registar DX //
MOV AX, # 08H // premještanje vrijednosti 8 u akumulator AX //
MUL AX, 06H // Umnoženi rezultat pohranjuje se u Akumulator AX //
KRAJ
Oduzimanje
ORG 0000h
MOV DX, # 02H // pomicanje vrijednosti 2 za registraciju DX //
MOV AX, # 08H // premještanje vrijednosti 8 u akumulator AX //
SUBB AX, 09H // Vrijednost rezultata pohranjena je u akumulatoru A X //
KRAJ
Podjela
ORG 0000h
MOV DX, # 08H // pomicanje vrijednosti 3 za registraciju DX //
MOV AX, # 19H // premještanje vrijednosti 5 u akumulator AX //
DIV AX, 08H // konačna vrijednost pohranjena je u Akumulator AX //
KRAJ

Stoga je ovo sve o Programiranju na razini skupštine 8086, 8086 Arhitektura procesora, jednostavni primjeri programa za procesore 8086, aritmetičke i logičke upute. Dalje, bilo kakva pitanja u vezi s ovim člankom ili elektroničkim projektima, možete nas kontaktirati komentirajući u odjeljku za komentare u nastavku.