SlideShare une entreprise Scribd logo
1  sur  4
CÓDIGO DOCUMENTADO
MOV CX,0000 * Se inicializa el registro contador con 0000h.
Q: CMP CL,0F * Se hace una comparación entre el operando CL y el valor 0Fh.
JNB A * Si CL es mayor o igual que ser 0Fh se hace un salto a la etiqueta A.
JL B * Si CL es menor que 0Fh se hace un salto a la etiqueta B.
B: JMP C * Hace un salto a la etiqueta c.
A: PUSH CX * Guarda el valor del registro CX en la pila del segmento de stack.
MOV DL,CL * Se copia el valor de CL en DL.
MOV CX,0004 * Se guarda el valor 0004 en el registro CX.
D: SHR DL,1 * Hace un corrimiento en el valor de DL.
DEC CX * Se decrementa el registro contador.
CMP CX,+00 * Se hace una comparación entre el operando CX y el valor 0000.
JNZ D * Si el resultado entre la comparación de CX y +00 es diferente de 0 hace un salto a la etiqueta D.
CMP DL,09 * Se hace una comparación entre el operando DL y el valor 09.
JLE E * Sí DL es menor o igual a 09 hace un salto a la etiqueta E.
JG F * Sí DL es más grande que 09 hace un salto a la etiqueta F.
E: ADD DL,30 * Se le suma el valor 30h al registro DL.
MOV AH,02
INT 21
JMP G * Hace un salto a la etiqueta G.
F: ADD DL,37 * Se le suma el valor 37h al registro DL.
MOV AH,02
INT 21
G: POP CX * Se saca el valor de CX de la pila del segmento de stack.
MOV DL,CL * Se copia del valor de CL en DL.
AND DL,0F * Se le suma el valor de 07h al registro DL.
R: CMP DL,09 * Se hace una comparación entre el operando DL y el valor 09.
JLE H * Sí DL es menor o igual que el valor 09 hace un salto a la etiqueta H.
JG J * Sí dl es mayor que el valor 09 hace un salto a la etiqueta J.
H: ADD DL,30 * Se le suma el valor De 30h al registro DL.
MOV AH,02
INT 21
JMP K * Se hace un salto a la etiqueta K.
* Imprime el valor de DL el en pantalla.
* Imprime el valor de DL el en pantalla.
* Imprime el valor de DL el en pantalla.
J: ADD DL,37 * Se le suma el valor de 37h al registro DL.
MOV AH,02
INT 21
MOV DX,003A * Se guarda el valor 003Ah en el registro DX.
K: MOV AH,02
INT 21
MOV DL,CL * Se copia el valor de CL en el registro DL.
MOV AH,02
INT 21
PUSH CX * Se guarda el valor del registro contador en la pila del segmento de stack.
MOV DX, 003A * Se guarda el valor 003Ah en el registro DX.
MOV AH,02
INT 21
XOR AH,AH * Se aplica un XOR entre AH y AH.
MOV [0250],AH * Se guarda el valor AH en el contenido de la dirección 0250h.
MOV [0252],AH * Se guarda el valor AH en el contenido de la dirección 0252h.
MOV [0254],AH * Se guarda el valor AH en el contenido de la dirección 0254h.
MOV AL,CL * Se copia el valor de CL en AL.
M: CMP AL,0A * Se hace una comparación entre el operando AL y el valor 0Ah.
JB L * Si AL es menor que el valor 0Ah hace un salto a la etiqueta L.
SUB AL,0A * Se resta el valor 0Ah al registro AL.
MOV [0252],AH * Se guarda el valor del registro AH en el contenido de la dirección en memoria 0252h.
ADD AH,01 * Se hace una suma del valor 01h al registro AH.
MOV [0252],AH * Se guarda el valor del registro AH en el contenido de la dirección en memoria 0252h.
CMP AH,0A * Se hace una comparación entre el operando Ah y el valor 0Ah.
JL M * Si AH es menor que el valor 0Ah hace un salto a la etiqueta M.
MOV AH,[0250] * El contenido de la dirección en memoria 0250h se guarda en el registro AH.
ADD AH,01 * Se suma el valor de 01h al registro AH.
MOV [0250],AH * Se guarda el valor del registro AH en el contenido de la dirección en memoria 0250h.
MOV AH,[0252] * El contenido de la dirección en memoria 0252h se guarda en el registro AH.
XOR AH,AH * Se aplica un XOR entre AH y AH.
P: MOV [0252],AH * Se guarda el valor del registro AH en el contenido de la dirección en memoria 0252h.
JMP M * Se hace un salto a la etiqueta M.
L: MOV [0254],AL * Se guarda el valor del registro AL en el contenido de la dirección en memoria 0254h.
* Imprime el valor de DL el en pantalla.
* Imprime el valor de DL el en pantalla.
* Imprime el valor de DL el en pantalla.
* Imprime el valor de DL el en pantalla.
MOV SI,0030 * Se guarda el valor 0030h en el SI.
ADD [0250],SI * Se guarda el valor del SI en el contenido de la dirección en memoria 0250h.
ADD [0252],SI * Se guarda el valor del SI en el contenido de la dirección en memoria 0252h.
ADD [0254],SI * Se guarda el valor del SI en el contenido de la dirección en memoria 0254h.
MOV DL,[0250] * El contenido de la dirección en memoria 0250h se guarda en el registro DL.
MOV AH,02
INT 21
MOV DL,[0252] * El contenido de la dirección en memoria 0252h se guarda en el registro DL.
MOV AH,02
INT 21
MOV DL,[0254] * El contenido de la dirección en memoria 0254h se guarda en el registro DL.
MOV AH,02
INT 21
MOV AH,02
MOV DL,0D
INT 21
MOV AH,02
MOV DL,0A
INT 21
POP CX * Se saca el valor del registro CX de la pila del segmento de stack.
INC CX * Se incrementa el registro contador.
XOR DX,DX * Se aplica un XOR entre DX y DX.
XOR AX,AX * Se aplica un XOR entre AX y AX.
MOV AL,CL * Se copia el valor del registro CL en el registro AL.
MOV BX,000A * Se guarda el valor 000Ah en el registro BL.
DIV BX * Divide al registro BX.
CMP DX,0000 * Se hace una comparación entre el valor del registro DX y el valor 0000h.
JNZ N * Si el resultado de la comparación de DX y 0000h es diferente de 0 hace un salto a la etiqueta N.
MOV AH,07
INT 21
N: CMP CX,00FF * Se hace una comparación entre el valor del registro CX y el valor 00FFh.
JLE O * Si CX es menor o igual al valor 00FFh hace un salto a la etiqueta O.
JG P * Si CX es mayor que el valor 00FFh hace un salto a la etiqueta P.
O: JMP Q * Se hace un salto a la etiqueta Q.
Salto de línea
* Imprime el valor de DL el en pantalla.
* Imprime el valor de DL el en pantalla.
* Imprime el valor de DL el en pantalla.
* Se realiza una pausa en pantalla esperando a oprimir una tecla.
MOV DL,30 * Se guarda el valor 30h en el registro DL.
C: MOV AH,02
INT 21
MOV DL,CL * Se copia el valor de CL en CL.
JMP R * Se Hace un salto en la etiqueta R.
P:
* Imprime el valor de DL el en pantalla.

Contenu connexe

Similaire à Código documentado.docx

Instrucciones lenguaje assembler
Instrucciones lenguaje assemblerInstrucciones lenguaje assembler
Instrucciones lenguaje assembler
ANDREA
 
Parcial 2 tdic10_2010
Parcial 2 tdic10_2010Parcial 2 tdic10_2010
Parcial 2 tdic10_2010
Jair BG
 
MODOS DE DIRECIONAMIENTO DE LA MEMORIA DE PROGRAMA
MODOS DE DIRECIONAMIENTO DE LA MEMORIA DE PROGRAMAMODOS DE DIRECIONAMIENTO DE LA MEMORIA DE PROGRAMA
MODOS DE DIRECIONAMIENTO DE LA MEMORIA DE PROGRAMA
gbermeo
 

Similaire à Código documentado.docx (20)

Debug utilitario dos
Debug utilitario dosDebug utilitario dos
Debug utilitario dos
 
Tabla unidad2 los conselambiz
Tabla unidad2 los conselambizTabla unidad2 los conselambiz
Tabla unidad2 los conselambiz
 
Lab.270910.instrucciones basicas del pic 16 f84a
Lab.270910.instrucciones basicas del pic 16 f84aLab.270910.instrucciones basicas del pic 16 f84a
Lab.270910.instrucciones basicas del pic 16 f84a
 
Lab.270910.instrucciones basicas del pic 16 f84a
Lab.270910.instrucciones basicas del pic 16 f84aLab.270910.instrucciones basicas del pic 16 f84a
Lab.270910.instrucciones basicas del pic 16 f84a
 
teoria de costos nivel basicos para practicar power point
teoria de costos nivel basicos para practicar power pointteoria de costos nivel basicos para practicar power point
teoria de costos nivel basicos para practicar power point
 
Matematicos
MatematicosMatematicos
Matematicos
 
Instrucciones lenguaje assembler
Instrucciones lenguaje assemblerInstrucciones lenguaje assembler
Instrucciones lenguaje assembler
 
Curso de microcontroladores capitulo 08
Curso de microcontroladores capitulo 08Curso de microcontroladores capitulo 08
Curso de microcontroladores capitulo 08
 
scalamiento_analogico
scalamiento_analogicoscalamiento_analogico
scalamiento_analogico
 
14 2 escalamiento_analogico
14 2 escalamiento_analogico14 2 escalamiento_analogico
14 2 escalamiento_analogico
 
Curso Micro Tema 2
Curso Micro Tema 2Curso Micro Tema 2
Curso Micro Tema 2
 
Registros de la cpu
Registros de la cpuRegistros de la cpu
Registros de la cpu
 
Leccion 3 y4_p1
Leccion 3 y4_p1Leccion 3 y4_p1
Leccion 3 y4_p1
 
Arranque de Sistema Operativo con Assembler
Arranque de Sistema Operativo con AssemblerArranque de Sistema Operativo con Assembler
Arranque de Sistema Operativo con Assembler
 
Parcial 2 tdic10_2010
Parcial 2 tdic10_2010Parcial 2 tdic10_2010
Parcial 2 tdic10_2010
 
Tabla de instrucciones asembler
Tabla de instrucciones asemblerTabla de instrucciones asembler
Tabla de instrucciones asembler
 
MODOS DE DIRECIONAMIENTO DE LA MEMORIA DE PROGRAMA
MODOS DE DIRECIONAMIENTO DE LA MEMORIA DE PROGRAMAMODOS DE DIRECIONAMIENTO DE LA MEMORIA DE PROGRAMA
MODOS DE DIRECIONAMIENTO DE LA MEMORIA DE PROGRAMA
 
Tarea final
Tarea finalTarea final
Tarea final
 
Assembler
AssemblerAssembler
Assembler
 
18613352 assembler
18613352 assembler18613352 assembler
18613352 assembler
 

Dernier (10)

UNIDAD 2 DX DE NECESIDADES (1).fggfgfgfppt
UNIDAD 2 DX DE NECESIDADES (1).fggfgfgfpptUNIDAD 2 DX DE NECESIDADES (1).fggfgfgfppt
UNIDAD 2 DX DE NECESIDADES (1).fggfgfgfppt
 
Patologia General DRA Tiñini Banknco.pdf
Patologia General DRA Tiñini Banknco.pdfPatologia General DRA Tiñini Banknco.pdf
Patologia General DRA Tiñini Banknco.pdf
 
PPT UNSA - Talento Humano y Habilidades Blandas - Sesión 3.pdf
PPT UNSA - Talento Humano y Habilidades Blandas - Sesión 3.pdfPPT UNSA - Talento Humano y Habilidades Blandas - Sesión 3.pdf
PPT UNSA - Talento Humano y Habilidades Blandas - Sesión 3.pdf
 
Retiro de los fondo AFP en el Perú Año 2024
Retiro de los fondo AFP en el Perú Año 2024Retiro de los fondo AFP en el Perú Año 2024
Retiro de los fondo AFP en el Perú Año 2024
 
2 CONCEPTOS BASICOS EN FARMACOLOGIA.pptx
2 CONCEPTOS BASICOS EN FARMACOLOGIA.pptx2 CONCEPTOS BASICOS EN FARMACOLOGIA.pptx
2 CONCEPTOS BASICOS EN FARMACOLOGIA.pptx
 
¡Explora el boletín del 29 abril de 2024!
¡Explora el boletín del 29 abril de 2024!¡Explora el boletín del 29 abril de 2024!
¡Explora el boletín del 29 abril de 2024!
 
MODERNISMO VS POSMODERNISMO CUADRO SINOPTICO
MODERNISMO VS POSMODERNISMO CUADRO SINOPTICOMODERNISMO VS POSMODERNISMO CUADRO SINOPTICO
MODERNISMO VS POSMODERNISMO CUADRO SINOPTICO
 
Manual Corporativo Cafe Daelicia en pdf.
Manual Corporativo Cafe Daelicia en pdf.Manual Corporativo Cafe Daelicia en pdf.
Manual Corporativo Cafe Daelicia en pdf.
 
DECRETO 356 vigilancia y seguridad privada
DECRETO 356 vigilancia  y seguridad privadaDECRETO 356 vigilancia  y seguridad privada
DECRETO 356 vigilancia y seguridad privada
 
DIARIO EL PERUANO 19-06-202hhhhhhhh3.pdf
DIARIO EL PERUANO 19-06-202hhhhhhhh3.pdfDIARIO EL PERUANO 19-06-202hhhhhhhh3.pdf
DIARIO EL PERUANO 19-06-202hhhhhhhh3.pdf
 

Código documentado.docx

  • 1. CÓDIGO DOCUMENTADO MOV CX,0000 * Se inicializa el registro contador con 0000h. Q: CMP CL,0F * Se hace una comparación entre el operando CL y el valor 0Fh. JNB A * Si CL es mayor o igual que ser 0Fh se hace un salto a la etiqueta A. JL B * Si CL es menor que 0Fh se hace un salto a la etiqueta B. B: JMP C * Hace un salto a la etiqueta c. A: PUSH CX * Guarda el valor del registro CX en la pila del segmento de stack. MOV DL,CL * Se copia el valor de CL en DL. MOV CX,0004 * Se guarda el valor 0004 en el registro CX. D: SHR DL,1 * Hace un corrimiento en el valor de DL. DEC CX * Se decrementa el registro contador. CMP CX,+00 * Se hace una comparación entre el operando CX y el valor 0000. JNZ D * Si el resultado entre la comparación de CX y +00 es diferente de 0 hace un salto a la etiqueta D. CMP DL,09 * Se hace una comparación entre el operando DL y el valor 09. JLE E * Sí DL es menor o igual a 09 hace un salto a la etiqueta E. JG F * Sí DL es más grande que 09 hace un salto a la etiqueta F. E: ADD DL,30 * Se le suma el valor 30h al registro DL. MOV AH,02 INT 21 JMP G * Hace un salto a la etiqueta G. F: ADD DL,37 * Se le suma el valor 37h al registro DL. MOV AH,02 INT 21 G: POP CX * Se saca el valor de CX de la pila del segmento de stack. MOV DL,CL * Se copia del valor de CL en DL. AND DL,0F * Se le suma el valor de 07h al registro DL. R: CMP DL,09 * Se hace una comparación entre el operando DL y el valor 09. JLE H * Sí DL es menor o igual que el valor 09 hace un salto a la etiqueta H. JG J * Sí dl es mayor que el valor 09 hace un salto a la etiqueta J. H: ADD DL,30 * Se le suma el valor De 30h al registro DL. MOV AH,02 INT 21 JMP K * Se hace un salto a la etiqueta K. * Imprime el valor de DL el en pantalla. * Imprime el valor de DL el en pantalla. * Imprime el valor de DL el en pantalla.
  • 2. J: ADD DL,37 * Se le suma el valor de 37h al registro DL. MOV AH,02 INT 21 MOV DX,003A * Se guarda el valor 003Ah en el registro DX. K: MOV AH,02 INT 21 MOV DL,CL * Se copia el valor de CL en el registro DL. MOV AH,02 INT 21 PUSH CX * Se guarda el valor del registro contador en la pila del segmento de stack. MOV DX, 003A * Se guarda el valor 003Ah en el registro DX. MOV AH,02 INT 21 XOR AH,AH * Se aplica un XOR entre AH y AH. MOV [0250],AH * Se guarda el valor AH en el contenido de la dirección 0250h. MOV [0252],AH * Se guarda el valor AH en el contenido de la dirección 0252h. MOV [0254],AH * Se guarda el valor AH en el contenido de la dirección 0254h. MOV AL,CL * Se copia el valor de CL en AL. M: CMP AL,0A * Se hace una comparación entre el operando AL y el valor 0Ah. JB L * Si AL es menor que el valor 0Ah hace un salto a la etiqueta L. SUB AL,0A * Se resta el valor 0Ah al registro AL. MOV [0252],AH * Se guarda el valor del registro AH en el contenido de la dirección en memoria 0252h. ADD AH,01 * Se hace una suma del valor 01h al registro AH. MOV [0252],AH * Se guarda el valor del registro AH en el contenido de la dirección en memoria 0252h. CMP AH,0A * Se hace una comparación entre el operando Ah y el valor 0Ah. JL M * Si AH es menor que el valor 0Ah hace un salto a la etiqueta M. MOV AH,[0250] * El contenido de la dirección en memoria 0250h se guarda en el registro AH. ADD AH,01 * Se suma el valor de 01h al registro AH. MOV [0250],AH * Se guarda el valor del registro AH en el contenido de la dirección en memoria 0250h. MOV AH,[0252] * El contenido de la dirección en memoria 0252h se guarda en el registro AH. XOR AH,AH * Se aplica un XOR entre AH y AH. P: MOV [0252],AH * Se guarda el valor del registro AH en el contenido de la dirección en memoria 0252h. JMP M * Se hace un salto a la etiqueta M. L: MOV [0254],AL * Se guarda el valor del registro AL en el contenido de la dirección en memoria 0254h. * Imprime el valor de DL el en pantalla. * Imprime el valor de DL el en pantalla. * Imprime el valor de DL el en pantalla. * Imprime el valor de DL el en pantalla.
  • 3. MOV SI,0030 * Se guarda el valor 0030h en el SI. ADD [0250],SI * Se guarda el valor del SI en el contenido de la dirección en memoria 0250h. ADD [0252],SI * Se guarda el valor del SI en el contenido de la dirección en memoria 0252h. ADD [0254],SI * Se guarda el valor del SI en el contenido de la dirección en memoria 0254h. MOV DL,[0250] * El contenido de la dirección en memoria 0250h se guarda en el registro DL. MOV AH,02 INT 21 MOV DL,[0252] * El contenido de la dirección en memoria 0252h se guarda en el registro DL. MOV AH,02 INT 21 MOV DL,[0254] * El contenido de la dirección en memoria 0254h se guarda en el registro DL. MOV AH,02 INT 21 MOV AH,02 MOV DL,0D INT 21 MOV AH,02 MOV DL,0A INT 21 POP CX * Se saca el valor del registro CX de la pila del segmento de stack. INC CX * Se incrementa el registro contador. XOR DX,DX * Se aplica un XOR entre DX y DX. XOR AX,AX * Se aplica un XOR entre AX y AX. MOV AL,CL * Se copia el valor del registro CL en el registro AL. MOV BX,000A * Se guarda el valor 000Ah en el registro BL. DIV BX * Divide al registro BX. CMP DX,0000 * Se hace una comparación entre el valor del registro DX y el valor 0000h. JNZ N * Si el resultado de la comparación de DX y 0000h es diferente de 0 hace un salto a la etiqueta N. MOV AH,07 INT 21 N: CMP CX,00FF * Se hace una comparación entre el valor del registro CX y el valor 00FFh. JLE O * Si CX es menor o igual al valor 00FFh hace un salto a la etiqueta O. JG P * Si CX es mayor que el valor 00FFh hace un salto a la etiqueta P. O: JMP Q * Se hace un salto a la etiqueta Q. Salto de línea * Imprime el valor de DL el en pantalla. * Imprime el valor de DL el en pantalla. * Imprime el valor de DL el en pantalla. * Se realiza una pausa en pantalla esperando a oprimir una tecla.
  • 4. MOV DL,30 * Se guarda el valor 30h en el registro DL. C: MOV AH,02 INT 21 MOV DL,CL * Se copia el valor de CL en CL. JMP R * Se Hace un salto en la etiqueta R. P: * Imprime el valor de DL el en pantalla.