Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

Código documentado.docx

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Próximo SlideShare
Intrucciones 16 bits.pdf
Intrucciones 16 bits.pdf
Cargando en…3
×

Eche un vistazo a continuación

1 de 4 Anuncio

Más Contenido Relacionado

Similares a Código documentado.docx (20)

Más reciente (20)

Anuncio

Código documentado.docx

  1. 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. 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. 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. 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.

×