¿Cómo es un programa compilado en lenguaje ensamblador?
El lenguaje ensamblador es un lenguaje simbólico que utiliza mnemónicos literales para representar instrucciones de máquina. Es el lenguaje más cercano al código de máquina. Sus principales ventajas son que consume menos recursos y tiene una alta eficiencia en la ejecución del programa. Sin embargo, el lenguaje ensamblador de diferentes CPU puede ser diferente, por lo que no es fácil de trasplantar y se usa principalmente para programar microcontroladores.
Actualmente, el foco principal de los productos de microcomputadoras de un solo chip sigue estando en el campo de los 8 bits, que se utiliza principalmente en seis mercados principales: aplicaciones automotrices, electrónica de consumo, computadoras y periféricos para PC, telecomunicaciones y comunicaciones. , automatización de oficinas y control industrial Entre ellos, el mercado automotriz se encuentra principalmente en Europa y Estados Unidos, mientras que la región de Asia y el Pacífico está dominada por la electrónica de consumo, con grandes cantidades y precios unitarios bajos como productos principales. Existe una diferencia de precio considerable entre los microcontroladores de 16 bits y los productos de 8 bits, y también se están abriendo nuevas áreas de aplicación. Aún en desarrollo, los primeros microcontroladores de 8 bits todavía eran la corriente principal de los productos de microcontroladores en 2005.
La siguiente es una señal de control de pulso enviada por un microcontrolador. Tiene anotaciones detalladas. ¡Puedes aprenderla!
datos .sección 'datos'
r1 equ [40h]
r2 equ [41h]
r3 equ [42h]
r4 ecu [43h]
r5 ecu [45h]
r6 ecu [46h]
r7 ecu [47h]
r8 equ [48h]
sw1 equ pa.1
sw2 equ pa.2
sw3 equ pa.3
sw4 equ pa.0
r9 equ pa.6
r10 equ pa.7
PN equ [50h].0
count equ [51h]
main .section 'código'
org 000h
jmp start
ORG 010H
******************INICIO PRO************
inicio:
clr recuento
mov a, 2
mov recuento, a
;****************** p>
clr r1
clr r2
clr pa.0
clr pb
mov a,0feh
mov pac,a
mov a,0f3h
mov pbc,a
set pb.2
clr pb .3
CLR [50H]
;******************UTILIZAR SÓLO PARA AR1501***** p>
****************************************** p >
Alp1: SZ PN
JMP PLUSE0
CLR PB2
SET PB3
SET PN
JMP ADELAY1
PLUSE0: SET PB2
CLR PB3
CLR PN
-******* *; *******EL TIEMPO DE RETARDO 38MS PLUSE ES ALTO***
Adelay1: mov a, 38; el nivel alto del pulso del motor inicia el tiempo
mov r1, a
Alp12: mov a, 165
mov r2, a
Alp11: sdz r
2
jmp Alp11
sdz r1
jmp Alp12
;************** ** *******************
clr pb.2
clr pb.3
;* *************************EL TIEMPO DE RETARDO 24MS PLUSE ES BAJO***
Adelay2: mov a, 24; nivel bajo de pulso Sincronización a tiempo
mov r1, a
Alp22: mov a, 165
mov r2, a
Alp21: sdz r2
jmp Alp21
sdz r1
jmp Alp22
;*************** *** ******END************
;********************** ******** **********
hongwai: NOP
lp1: NOP
establecer pa.0
;* ******************TIEMPO DE RETARDO 15.6MS PLUSE ES BAJO****
retardo1: mov a, 16 ; el nivel alto del pulso infrarrojo inicia el tiempo
mov r1, a
lp12: mov a, 162
mov r2, a
lp11 : sdz r2
jmp lp11
sdz r1
jmp lp12
;************ ******END**** ****
;******************TIEMPO DE RETARDO 46.8MS EL PULSO ES ALTO** ***
clr pa. 0
retraso2: mov a, 48; temporización de tiempo de encendido de bajo nivel de pulso infrarrojo
mov r1, a p>
lp22: mov a, 162
mov r2, a
lp21: sdz r2
jmp lp21
sdz r1
jmp lp22
;************************EDN ******* ***********
jmp Alp1