arquitectura de computadoras clase4
TRANSCRIPT
![Page 1: Arquitectura de Computadoras clase4](https://reader036.vdocuments.net/reader036/viewer/2022071819/55b3403cbb61eb3c028b4722/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071819/55b3403cbb61eb3c028b4722/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071819/55b3403cbb61eb3c028b4722/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071819/55b3403cbb61eb3c028b4722/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071819/55b3403cbb61eb3c028b4722/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071819/55b3403cbb61eb3c028b4722/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071819/55b3403cbb61eb3c028b4722/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071819/55b3403cbb61eb3c028b4722/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071819/55b3403cbb61eb3c028b4722/html5/thumbnails/9.jpg)
Bibliografía
1. MICROPROCESADORES INTEL : ARQUITECTURA, PROGRAMACION E INTERFAZ Barry B. BreyQuinta Edición
2. http://www.cs.princeton.edu/