Anda di halaman 1dari 2

Tema 2 1.

Escriba un programa en assembler que tomando caracteres desde una lista deentr ada determine el menor, mostrndolo en pantalla. La lista esta integrada por 7 car acteres. 2.Describa la tcnica de interrupciones vectorizadas por el hardware. 3.Cules son los modos de direccionamiento que conoce? 4.Como utiliza la pila en su ejecucin las instrucciones: CALL, RET, PUSH yPOP. 1.-a100mov si,2000mov cl,[1500]mov al,[si]dec clrolo cmp al,[si+1]jb lolamov al, [si+1]lola inc sidec cljnz rolomov[700],alint 21-g2.Realiza las siguientes tarea s: Salvar el registro de flags. Salvar el IP de la direccin de regreso. Salvar el CS de la direccin de regreso. Salva los registros. Calcula el rea donde esta la direccin de la rutina de servicio de lasiguiente mane ra: tipo*4 , en el vector de interrupciones. Ejecuta la rutina de servicio.3.Modos de direccionamiento:Usando memoria: Modo inmediato: sirve para operar con datos que son constantes, por ejemplo:MOV AH, 07 Modo directo: sirve para operar con aislados en memoria, por ejemplo: MOV AH,[02 00] Modo indirecto: dentro de una direccin de memoria se encuentra otra direccin enla que esta el dato por ejemplo: MOV AH, [[0200]]Usando registro: Directo por registro: sirve para operar con un dato dentro de un registro por ej emplo: MOV AH, BH Indirecto por registro: es cuando la direccin de memoria se da a travs de unregist ro. Sirve para apuntar los sucesivos elementos de un vector por ejemplo:MOV SI, 2000 MOV AH, [SI] 4. CALL : ordena transfiere la ejecucin a una subrutina.Un near o intrasegmento Call llama una subrutina que esta en el mismo CS que el de lainstruccin Call.Un far o intersegmento CALL llama una subrutina que esta en un CS distinto que el de lai nstruccin CALL.En este caso primero se decrementa SP en dos y se copia en la pila el valor de CS. Luego otra vez se decrementa SP en dos, y se copia en la pila el IP con el offset de l a instruccinque sigue a CALL. Despus se carga CS con el valor de CS de la subrutin a,y se carga IPcon el offset de la primera instruccin de la subrutinaRET: Ordena saltar a la instruccin que sigue a la ultima CALL ejecutada.PUSH: Primero ordena decrementar en dos al SP, y luego salva 2 bytes. POP: Copia 2 bytes desde la cima de la pila (apuntada por SP) y los tranfiere al registro o destino indicado en la intruccion. Despues se incementa en dos el SP. Tema 11)Escriba un programa en assembler que tomando leyendo una lista de entrad acargada a partir de la posicin de memoria 2000, siendo que la cantidad decaracte res esta cargada en la posicin 1500, genere una lista de salida con losnegativos

cargndolos a partir de la posicin de memoria 40002)Como utiliza la pila en su ejec ucin las instrucciones: CALL, RET, PUSH y POP.3)Describa una tcnica de enmascarami ento de interrupciones4)Describa la tcnica de interrupciones vectorizadas por sof tware1--A 0100MOV CL, [1500]MOV SI, 2000MOV DI, 3000TOTO MOV AL,[SI]CMP AL, 0JL 0130PEPE INC SIDEC CLJNZ TOTOINT 20-G-A 0130MOV[DI], ALINC SIJMP PEPE2- ESTOOO N OOOOOOOOOOOO! Ver TEMA 2 CALL: llamada a subrutinaRET: restaura el IP, devolviendo el control al programa llamador.PUSH: pone en la pila.POP: saca de la pila 3Enmascaramiento de interrupciones:Una interrupcin enmascarable, segn el valor del flag I, a una interrupcin se lepuede dar curso o enmascarar. Esto ltimo significa qu e la interrupcin se tieneque quedar esperando hasta que sea I=1, no pudiendo ser interrumpido elprogramaComo se anticip, el valor de I se puede establecer por sof tware. As, si unprograma o secuencia no debe ser interrumpido, empezar con la inst ruccin CLI(Clear I), que hace I=0, y al terminar debe hacerse I=1 mediante la ins truccin STI(S=1). En el debug el flag I aparece en sus dos valores como EI (Enabl e I) y DI(disable I) 4-

la interrupcion INT xx da lugar a una interrupcion por software, en el sentido q uedesde un programa de usuario no se llama a una porcion del mismo, sino a unsub programa de la rom bios o del sistema operativo, se suspende la ejecucion deun p rograma, y en su lugar se pasa a ejecutar dicho subprograma de la rom bios odel sistema operativo llamado por el programa en cuestion.por tal motivo se hablade "autointerrupcion", provocada por la ejecucion de INT xx.

Anda mungkin juga menyukai