arquitectura de computadoras clase4

9
Arquitectura de Computadoras y Ensambladores 1 Clase No. 4 Universidad de San Carlos de Guatemala Josue Daniel Pirir Morales 1er . Semestre de 2011

Upload: josue-pirir

Post on 25-Jul-2015

444 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Arquitectura de Computadoras clase4

Arquitectura de Computadoras y Ensambladores 1

Clase No. 4Universidad de San Carlos de Guatemala

Josue Daniel Pirir Morales1er . Semestre de 2011

Page 2: Arquitectura de Computadoras clase4

A continuación revisaremos en ejemplos simples las estructuras de control if, if- then-else, case y ciclos do while, while, repeat y su implementación con el lenguaje Ensamblador.

Estructuras de Control y Ciclos

Page 3: Arquitectura de Computadoras clase4

IF-THENPseudocodigo ASM

IF AX< 0 THEN Reemplacé AX con su complemento.END_IF

CMP AX,0   JNL END_IF   NEG AX

END_IF: Hace_mas_cosas…

La instrucción NEG nos devuelve el complemento del operando

Page 4: Arquitectura de Computadoras clase4

IF-THEN-ELSEPseudocodigo ASM

IF AL<= BL  THEN      Mostar el contenido de AL  ELSE      Mostrar el contenido de BL END_IF

MOV AH,2 ; programar la salida

CMP AL,BL   JNBE ELSE_    MOV DL,AL   JMP DISPLAY_

ELSE_:   MOV DL,BL

DISPLAY_:   INT 21H ; mostrar la salida

END_IF:

Page 5: Arquitectura de Computadoras clase4

CasePseudocodigo ASM

IF AX tiene un valor negativo   THEN coloar -1 in BXIF AX contiene el valor de 0   THEN colocar 0 in BXIF AX tiene un valor positivo   THEN colocar1 in BX

CMP AX,0   JL   NEGATIVE_   JG   POSITIVE     MOV BX,0   JMP END_CASE

 NEGATIVE_:   MOV BX,-1   JMP END_CASE

POSITIVE_:  MOV BX,1  JMP END_CASE

END_CASE:

Page 6: Arquitectura de Computadoras clase4

Repeat UntilPseudocodigo ASM

REPEAT Hace_cosasUNTIL condicion true

El siguiente programa realizara una lectura del teclado hasta que el contenido sea igual a %

    MOV AH,1; programamos la lecturaREPEAT_:    INT 21H    CMP AL,‘%'    JNE REPEAT_ 

Page 7: Arquitectura de Computadoras clase4

FORPseudocodigo ASM

FOR times<condicion DO Hace_cosasEND_FOR

El siguiente programa imprimira 80 veces el caracter * en pantalla

MOV CX,80MOV AH,2 ; programación para escrituraMOV DL,'*'

TOP:                               INT 21H   LOOP TOP     

La instrucción LOOP se vale del registro CX y su contenido para determinar cuando detenerse. Por cada ejecución de LOOP TOP el contenido de CX se decrementa en valor de 1          

Page 8: Arquitectura de Computadoras clase4

WHILEPseudocodigo ASM

WHILE   condición DO Hace_cosasEND_WHILE

El siguiente ejemplo nos permitira leer la cantidad de caracteres en una línea de entrada.

MOV DX,0MOV AH,1 ; Programamos la lecturaINT 21H

WHILE_:     CMP AL,13     JE END_WHILE      INC  DX     INT 21H     JMP WHILE_

END_WHILE:         

Page 9: Arquitectura de Computadoras clase4

Bibliografía

1. MICROPROCESADORES INTEL : ARQUITECTURA, PROGRAMACION E INTERFAZ Barry B. BreyQuinta Edición

2. http://www.cs.princeton.edu/