Programes de llenguatge ensamblador 8086 senzills amb explicació

Proveu El Nostre Instrument Per Eliminar Problemes





La programació a nivell de muntatge és molt important per a nivells baixos sistema incrustat El disseny s’utilitza per accedir a les instruccions del processador per manipular maquinari. És un llenguatge de màquina més primitiu que s’utilitza per fer un codi eficient que consumeix menys nombre de cicles de rellotge i que consumeix menys memòria en comparació amb el llenguatge de programació d’alt nivell . És un llenguatge de programació complet orientat al maquinari per escriure un programa que el programador ha de tenir en compte del maquinari incrustat. Aquí oferim els fonaments bàsics de la programació de nivell de muntatge 8086.

Programació de nivell de muntatge 8086

Programació de nivell de muntatge 8086



Programació de nivell de muntatge 8086

El llenguatge de programació de muntatge és un llenguatge de baix nivell que es desenvolupa mitjançant l'ús de mnemotècnies. El microcontrolador o microprocessador només pot entendre el llenguatge binari com 0 o 1, per tant, el muntador converteix el llenguatge d’ensamblatge en llenguatge binari i emmagatzema la memòria per realitzar les tasques. Abans d’escriure el programa, els dissenyadors incrustats han de tenir prou coneixement sobre el maquinari concret del controlador o processador, de manera que primer hem de conèixer el maquinari del processador 8086.


Maquinari del processador

Maquinari del processador



Arquitectura del processador 8086

El 8086 és un processador que es representa per a tots els dispositius perifèrics, com ara el bus sèrie, i els dispositius E / S de RAM i ROM, etc., que es connecten externament a la CPU mitjançant un bus del sistema. El microprocessador 8086 té Arquitectura basada en CISC i té perifèrics com 32 E / S, Comunicació en sèrie , records i comptadors / temporitzadors . El microprocessador requereix un programa per realitzar les operacions que requereixen una memòria per llegir i desar les funcions.

Arquitectura del processador 8086

Arquitectura del processador 8086

La programació de nivell de muntatge 8086 es basa en els registres de memòria. Un registre és la part principal del microprocessadors i controladors que es troben a la memòria que proporciona una manera més ràpida de recollir i emmagatzemar les dades. Si volem manipular les dades a un processador o controlador mitjançant la multiplicació, l'addició, etc., no ho podem fer directament a la memòria on es necessiten registres per processar i emmagatzemar les dades. El microprocessador 8086 conté diversos tipus de registres que es poden classificar segons les seves instruccions, com ara

Registres d’ús general : La CPU 8086 consta de 8 registres de propòsit general i cada registre té el seu propi nom, tal com es mostra a la figura, com ara AX, BX, CX, DX, SI, DI, BP, SP. Tots aquests són registres de 16 bits on quatre registres es divideixen en dues parts, com ara AX, BX, CX i DX, que s’utilitza principalment per mantenir els nombres.

Registres amb finalitats especials : La CPU 8086 consta de 2 registres de funcions especials, com ara registres IP i indicadors. El registre IP apunta a la instrucció d’execució actual i sempre funciona per reunir-se amb el registre de segments CS. La funció principal dels registres de banderes és modificar les operacions de la CPU després de completar les funcions mecàniques i no hi podem accedir directament
Registres de segments: la CPU 8086 consta de registres de 4 segments, com ara CS, DS, ES, SS, que s'utilitza principalment per emmagatzemar qualsevol dada als registres de segments i podem accedir a un bloc de memòria mitjançant registres de segments.


Programes de llenguatge d'assemblatge senzill 8086

La programació en llenguatge assemblador 8086 té algunes regles com ara

  • El nivell de muntatge programació 8086 el codi s’ha d’escriure en majúscules
  • Les etiquetes han d'anar seguides de dos punts, per exemple: label:
  • Totes les etiquetes i símbols han de començar amb una lletra
  • Tots els comentaris s’escriuen amb minúscula
  • L'última línia del programa s'ha d'acabar amb la directiva END

Els processadors 8086 tenen altres dues instruccions per accedir a les dades, com ara WORD PTR - per a paraula (dos bytes), BYTE PTR - per a bytes.

Op-Code i Operand

Op-Code i Operand

Codi operatiu: Es diu una única instrucció com a codi op que pot executar la CPU. Aquí s’anomena la instrucció ‘MOV’ com a codi op.

Operands: Les dades d'una sola peça s'anomenen operands que poden ser operats mitjançant el codi op. Per exemple, l'operació de resta la realitzen els operands que són restats per l'operand.
Sintaxi: SUB b, c

Programes de llenguatge de muntatge de microprocessadors 8086

Escriviu un programa per llegir un personatge des del teclat

MOV ah, 1h // subprograma d’entrada de teclat
INT 21h // entrada de caràcters
// el caràcter s’emmagatzema a al
MOV c, al // copia el caràcter de l’alt c

Escriviu un programa per llegir i mostrar un personatge

MOV ah, 1h // subprograma d’entrada de teclat
INT 21h // llegeix el caràcter al
MOV dl, al // copia el caràcter a dl
MOV ah, 2h // subprograma de sortida de caràcters
INT 21h // mostra el caràcter en dl

Escriviu un programa amb registres d’ús general

ORG 100h
MOU AL, VAR1 // comproveu el valor de VAR1 movent-lo a l'AL.
LEA BX, VAR1 // obté l'adreça de VAR1 a BX.
MOV BYTE PTR [BX], 44h // modifica el contingut de VAR1.
MOU AL, VAR1 // comproveu el valor de VAR1 movent-lo a l'AL.
DRET
VAR1 DB 22h
FINAL

Escriviu un programa per mostrar la cadena mitjançant les funcions de biblioteca

inclou emu8086.inc // Declaració de macro
ORG 100h
IMPRIMEIX 'Hola món!'
GOTOXY 10, 5
PUTC 65 // 65: és un codi ASCII per a 'A'
PUTC 'B'
RET // torna al sistema operatiu.
END // directiva per aturar el compilador.

Instruccions aritmètiques i lògiques

Els processos de la unitat lògica i aritmètica 8086 s'han separat en tres grups, com ara l'addició, la divisió i l'operació d'increment. La majoria Instruccions aritmètiques i lògiques afecten el registre d'estat del processador.

La programació del llenguatge assemblador 8086 mnemotècnia té la forma de codi op, com ara MOV, MUL, JMP, etc., que s'utilitzen per realitzar les operacions. Programació en llenguatge assemblador 8086 exemples

Addició
ORG0000h
MOV DX, # 07H // moveu el valor 7 al registre AX //
MOV AX, # 09H // mou el valor 9 a l’acumulador AX //
Afegiu AX, 00H // afegiu valor CX amb valor R0 i emmagatzema el resultat a AX //
FINAL
Multiplicació
ORG0000h
MOV DX, # 04H // moveu el valor 4 al registre DX //
MOV AX, # 08H // moveu el valor 8 al acumulador AX //
MUL AX, 06H // El resultat multiplicat s’emmagatzema a l’acumulador AX //
FINAL
Resta
ORG 0000h
MOV DX, # 02H // mou el valor 2 per registrar DX //
MOV AX, # 08H // moveu el valor 8 al acumulador AX //
SUBB AX, 09H // El valor del resultat s’emmagatzema a l’Acumulador A X //
FINAL
Divisió
ORG 0000h
MOV DX, # 08H // moveu el valor 3 per registrar DX //
MOV AX, # 19H // mou el valor 5 a l’acumulador AX //
DIV AX, 08H // El valor final s’emmagatzema a l’acumulador AX //
FINAL

Per tant, això és tot un assumpte de programació a nivell de muntatge 8086, 8086 Arquitectura de processadors, exemples de programes senzills per a processadors 8086, instruccions aritmètiques i lògiques.