PRÁCTICA 2 CONVERSIÓN DE UN NÚMERO DECIMAL A BINARIO Y HEXADECIMAL Y VICEVERSA 1. INTRODUCCIÓN 2. OBJETIVOS 3. DESARROLLO

Tamaño: px
Comenzar la demostración a partir de la página:

Download "PRÁCTICA 2 CONVERSIÓN DE UN NÚMERO DECIMAL A BINARIO Y HEXADECIMAL Y VICEVERSA 1. INTRODUCCIÓN 2. OBJETIVOS 3. DESARROLLO"

Transcripción

1 PRÁCTICA 2 CONVRSIÓN D UN NÚMRO DCIMAL A BINARIO Y HXADCIMAL Y VICVRSA 1. INTRODUCCIÓN n esta práctica convertiremos un número decimal, introducido por el teclado, a binario y hexadecimal y viceversa. Usaremos módulos anteriores y veremos módulos nuevos. 2. OBJTIVOS Al término de esta práctica el alumno sabrá: 2.1 Leer una cadena de caracteres mediante servicio AH, de la interrupción 21H. 2.2 Realizar conversiones entre diferentes bases. 2.3 Hacer que un programa sea más informativo con el usuario. 2.4 Hacer que un programa acepte parámetros del usuario. 3. DSARROLLO 3.1 Procedimiento para leer cadenas. PUBLIC LeeCadena LeeCadena L CADNA CON TCLAS D DICIÓN ntrada: DI = dirección destino de la cadena CL = límite máximo de cadena sin incluir terminador nulo Si CL =, LeeCadena no hace nada Salida: Cadena copiada de la entrada estándar en el buffer Registros: ninguno LeeCadena and cl,cl s CL =? si, sale push ax Salva registros usados 2-1

2 push bx push dx push si mov [Buffer.maxlon],cl Pone byte de largo máximo mov ah,ah ntrada de cadenas con DOS mov dx,offset Buffer.maxlon DS:DX apunta a la estructura int 21h DOS captura la cadena xor bh,bh Parte alta de BX a cero mov bl,[buffer.cadlon] BX = número de caracteres en el Buffer mov [bx + Buffer.carac],ASCnulo Cambia RC a ASCII nulo () mov si,offset Buffer.carac Apunta al buffer con SI call CopiaCad Copia cadena al buffer del usuario pop si Repone registros pop dx bx ax Regresa a programa fuente LeeCadena Mediante este procedimiento se introducirá el número a convertir. Utilizaremos la interrupción 21H, servicio AH para introducir caracteres por el teclado y para capturar la cadena oprimimos RTURN. 3.2 Capturar el módulo anterior en el programa CADNAS.ASM ensamblarlo y meterlo a la librería RM: C>TASM /zi CADNAS C>TLIB / RM -+CADNAS 3.3 Procedimientos para copiar una cadena en otra y moverla a la izquierda. PUBLIC CopiaCad, MueveIzq CopiaCad COPIA UNA CADNA N OTRA ntrada: SI = dirección de cadena fuente, cad1 DI = dirección de cadena destino, cad2 Salida Caracteres en cad1 copiados en cad2 Registros: Ninguno CopiaCad push bx Salva registros push cx push dx xchg si,di Trueca SI y DI call LargoCad Halla largo de cad1 (fuente) 2-2

3 inc cx Más uno para incluir terminador xchg si,di Repone SI y DI xor bx,bx Índice de la fuente = xor dx,dx Índice del destino = call MueveIzq Copia fuente a destino pop dx Repone registros pop cx pop bx CopiaCad MueveIzq MUV BLOQU D BYTS A LA IZQ. (HACIA ABAJO) N MMORIA ntrada: SI = dirección de cadena fuente, cad1 DI = dirección de cadena destino, cad2 BX = índice de cad1,i1 DX = índice de cad2,i2 CX = número de bytes a mover (K) Salida: Se mueven K bytes de cad1 [i1] a cad2 [i2] Registros: Ninguno Salir si K = push cx Salva registros modificados push si push di add si,bx Agrega índice add di,dx Agrega índice al destino cld incrementando direcciones rep movsb Mover mientras CX <> pop di pop si cx MueveIzq Con estos procedimientos copiamos la cadena original en otra para posteriormente eliminar ceros delanteros (ceros a la izquierda). 3.4 Capturar estos módulos en el programa MANCAD.ASM, ensamblarlos y agregarlos a la librería RM. C>TASM /zi MANCAD C>TLIB / RM +-MANCAD 2-3

4 3.5 Procedimientos para convertir cadenas de números binarios a y viceversa. PUBLIC PUBLIC BinSAscDec, ValCar, AscNum BinAscBin, AscBin, CarBas BinSAscDec CONVRTIR BINARIO CON SIGNO A CADNA ASCII DCIMAL ntrada: Misma que BinAscHex (AX es ahora de 16 bits, signado) Salida: Ninguna Registros: AX, CX push bx Salva BX y DI push di cmp ax, s AX negativo Brinca si >= neg ax Forma complemento a 2 de AX mov [byte di],'-' Pone un "-" en la cadena inc di mov bx,1 Pone base igual a 1 call NumAsc Convierte AX a ASCII pop di bx Recupera registros BinSscBin ntrada: Salida: Registros: BinSAscDec CONVIRT VALOR BINARIO A CADNA ASCII D DÍGITOS BINARIOS Misma que BinAscHex Ninguna AX, CX (indirectamente) BinAscBin push bx Salva en la pila mov bx,2 Base = 2 call NumAsc Pasa a ASCII pop bx BinAscBin 2-4

5 AscBin CONVIRT CADNA ASCII A BINARIO ntrada: DI = cadena ASCII a convertir a binario H al fin de cadena = hexadecimal B al fin de cadena = binario D al fin de cadena = decimal _ indica número negativo No se permiten blancos en la cadena Salida: CF = 1: carácter ilegal. AX es irrelevante CF = : AX = valor binario Registro: @@99: push bx cx dx si Salva registros call MayusCad Convierte cadena a mayúscula call LargoCad CX = largo de cadena en DI xor ax,ax Resultado parcial = Sí largo = cero. AX= CF= mov si,di Dirección cadena con SI add si,cx Avanza Si al terminador nulo cmp [byte di],'-' Verifica si es negativo pushf Salva banderas de comparación Brinca si es positivo inc di Brinca al signo de menos call CarBase Pone BX = número base. SI = último digito call AscNum Convierte ASCII a número rcl bx,1 Salva CF en BX popf Repone banderas de comparación neg ax Forma complemento a 2s de AX dec di Repone DI a cabeza de cadena rcr bx,1 Repone CF desde BX pop si dx cx bx Repone registros Regresa AscBin 2-5

6 CarBase RTORNA BAS A UNA CADNA ASCII NOTA: Rutina privada para AscBin. No llamarla directamente ntrada: SI apunta al terminador nulo al fin de la cadena Salida: BX = 2 (binario), 1 (decimal), 16 (hexadecimal) SI = dirección del último dígito de la cadena Registros: BX, DL, SI CarBase mov dl,[byte si-1] Trae último carácter de la cadena mov bx,16 Pone si es hexadecimal cmp dl,'h' s cadena hex? Si, brinca mov bx,2 Por si es binario cmp dl,'b' s binario? Si, brinca mov bx,1 Pon si es decimal cmp dl,'d' s decimal? Brinca si dec si Ajusta CarBase AscNum CONVIRT CARACTRS ASCII A BINARIO NOTA: Rutina privada para AscBin. No llamarla directamente ntrada: AX = valor inicial () BX = base (2=binario, 1=decimal, 16=hexadecimal) DI = dirección de cadena no asignada (cualquier formato) SI = dirección de último dígito de la cadena Salida: CF = : AX valor binario sin signo CF = 1: conversión no fue posible Registros: AX, CX, DX, SI mov cx,1 Inicia multiplicador cmp si,di Al inicio de la cadena dec si Procesa siguiente carácter a la izquierda mov dl,[byte si] Pone carácter en DL call ValCar Convierte a valor en DX Sale si error (carácter ilegal) 2-6

7 push cx xchg ax,cx AX = multiplicador CX = res. parcial mul dx DX,AX = valor dígito*multiplicador add cx,ax CX = nuevo valor parcial pop ax Repone multiplicador mul bx DX.AX = mult*base xchg ax,cx AX = res. parcial CX = nuevo multiplicador AscNum VarCar CONVIRT D DÍGITO N ASCII A VALOR BINARIO ntrada: DL = dígito ASCII. 9, A. F BX = base (2= binario, 1=decimal, 16=hexadecimal) Salida: CF = : DX = valor binario equivalente CF = 1: mal carácter para esta base (DX es irrelevante) Registros: cmp dl,'9' Verifica si es dígito hex Brinca si no sub dl,7 Ajusta dígito hex a rango 3A..3F sub dl,'' Convierte ASCII a decimal test dl,fh Verifica 4 bits altos (CF = ) Brinca si error (no dígito o A-F) xor dh,dh Convierte DL a 16 bits cmp dx,bx Compara con no. base (CF = 1 si bien) cmc Complementa para fijar bandera de error Regresa ValCar l procedimiento BinSASCDec convierte un número negativo a cadena ASCII decimal anteponiendo el signo negativo al exhibirlo. l procedimiento BinASCBin convierte una cadena binaria a cadena ASCII de números binarios, colocando en el registro BX la base de conversión. l procedimiento ASCBin convierte la cadena de entrada a mayúsculas, luego cuenta los 2-7

8 caracteres de la cadena si no hay caracteres este procedimiento no hace nada y sale. Además prueba si la cadena tiene el signo "-", si es así salva el signo y llama a CarBase. Luego llama al procedimiento ASCNum, el cual convierte caracteres ASCII a binario si CF es uno el carácter encontrado es ilegal. l procedimiento ValCar convierte dígito ASCII a binario, CF es uno el carácter es ilegal. 3.6 Capturar los módulos anteriores en el programa BINASC.ASM. 3.7 nsamblar y poner en librería el programa BINASC.ASM C>TASM /zi BINASC C>TLIB / RM -+BINASC 3.8 Procedimientos para procesar parámetros en líneas de comandos de DOS. %TITL "SADOR (PARSR) D PARÁMTROS N LÍNA D COMANDOS D DOS" IDAL DOSSG MODL small QUs LargoCola QU 8h Sesgo del byte de longitud de parámetro ColaCmndo QU 81h Sesgo de parámetros DATASG NumParam DW? Número de parámetros params DB 128 DUP (?) 128 bytes para las cadenas CODSG PUBLIC CuentaPar, TraePar, TraeUnPar Separa ntrada: Salida: Registros: RUTINA PRIVADA QU BUSCA SPACIOS, TABULADORS Y RTORNO D CARRO DS: SI apunta a carácter a verificar ZF = 1 (je) carácter es blanco, tabulador o orno de carro ZF = (jne) carácter separador AC Separa mov al,[si] Trae carácter en DS:SI cmp al,2h spacio? 2-8

9 je Si, brinca cmp al,9h Tabulador? je Si, brinca cmp al,dh Retorno de car.? Separa Regresa CuentaPar RGRSA CONTO D LOS PARÁMTROS INTRODUCIDOS ntrada: Ninguna Salida: DX = número de parámetros en línea de comando Al usar TraeUnPar, CX debe ser menor que el valor ornado Registros: DX CuentaPar mov dx,[numparam] Trae valor de la variable Regresa CuentaPar TraePar OBTIN LOS PARÁMTROS D LA LÍNA D COMANDOS ntrada: DS = PSP = prefijo del segmento del programa S = segmento de datos del programa Llamar esta rutina antes de iniciar DS Salida: Parámetros globales llenos de cadenas ASCIIZ DS = segmento de datos del programa Registros: AL, BX, DX, SI, DS TraePar Inicia contador (CX), y registros índice (SI,DI) xor ch,ch Parte alta de CX a cero mov cl,[ds:largocola] CX = número de bytes introducidos inc cx Incluir RC al final mov si,colacmndo Apunta a parámetros con SI mov di,offset params Salta espacios y tabs call Separa Salta tabs. y espacios Brinca si no espacio ni tabulador inc si Salta este carácter 2-9

10 loop Copia cadenas de parámetros a parámetros push cx Salva CX para más tarde Omite movsb si cuenta = cld Autoincrementa rep movsb Copia CX bytes de DS:SI a S:DI Convierte blancos a nulos y push es Salva S en pila pop ds Hace DS = S pop cx xor bx,bx Inicia conteo de parámetros Omite bucle si largo = mov si,offset params Apunta a parámetros con SI call Separa Verifica si blanco, tabulador o orno de carro Brinca si no es separador mov [byte ptr si], Cambia separador a nulo inc bx Incrementa conteo de parámetros inc si Apunta a siguiente carácter Sigue hasta agotar CX mov [NumParam],bx Salva número de parámetros TraePar TraeUnPar OBTIN DIRCCIÓN DL PARÁMTRO PDIDO POR NÚMRO ntrada: CS = número de parámetros ( = primero) NOTA: CX debe ser menor que el número de parámetros Salida: DI = sesgo de cadena ASCIIZ del parámetro Registros: AL, CX, DI TraeUnPar xor al,al AL = ASCII de terminador mov di,offset params Apunta a cadena de parámetros 2-1

11 jcxz Si CX =, ya está hecho cmp CX,[NumParam] Salir si CX > número máximo jae cld Autoincrementa DI scasb xamina si es nulo jnz Repite hasta hallarlo loop Hasta agotar CX TraeUnPar ND Fin de módulo PARAMS.ASM 3.9 Capturar los módulos anteriores con el nombre PARAMS.ASM 3.1 nsamblarlos e introducirlos a la librería RM: C>TASM /zi PARAMS C>TLIB / RM -+PARAMS 3.11 Verificar la librería RM C>TLIB RM,CON 3.12 Capturar el programa para convertir un número decimal a binario, hexadecimal decimal sin signo y con signo. %TITL "CONVIRT NÚMROS DCIMALS, BINARIOS Y HXADCIMALS" QUs IDAL DOSSG MODL small STACK 256 FDC QU Fin de cadena rc QU 13 Ret. de carro nl QU 1 ASCII para nueva línea LarMax QU 4 Máximo largo de cadena de entrada 2-11

12 DATASG ClaveFin DB Código de error de DOS Saludo DB rc,nl,'convierte valores decimales, binarios y hex' DB rc,nl,'dar el número a convertir en decimal' DB rc,nl,'dar NTR para salir',rc,nl,fdc apronta DB rc,nl,nl,nl,' Número a convertir? ',FDC error DB rc,nl,'rror: carácter ilegal en línea',fdc binario DB rc,nl,'binario... :',FDC hex DB rc,nl,'hexadecimal... :',FDC decimal DB rc,nl,'decimal sin signo.. :',FDC decimals DB rc,nl,'decimal con signo.. :',FDC valor DW? Resultado de AscBin Respuesta DB LarMax +1 DUP (?) Cadena para entrada/respuesta del usuario CODSG De MANCAD.OBJ XTRN LargoCad:proc,CopiaCad:proc De CADNAS.OBJ XTRN LeeCadena:proc,SacaCadena:proc,NuevaLinea:proc De BINASC.OBJ XTRN XTRN BinAscHex:proc,BinSAscDec:proc,BinAscDec:proc BinAscBin:proc,AscBin:proc De PARAMS.OBJ XTRN TraePar:proc,CuentaPar:proc,TraeUnPar:proc Inicia: normal: mov ax,@data Inicia S con segmento de datos mov es,ax call TraePar Trae parámetros de línea de comando mov ds,ax inicia segmento call CuentaPar and dx,dx Hubo parámetros? je normal No, brinca mov cx, Trae primer parámetro call TraeUnPar mov si,offset Respuesta SI apunta a buffer de entrada xchg di,si call CopiaCad 1er parámetro en cadena de entrada jmp short rep1 Salta a repetir (omite saludo) mov di,offset saludo Apunta a bienvenida 2-12

13 call SacaCadena xhibe bienvenida Apronta al usuario Repite: rep1: seguir: mov di,offset apronta Apunta apronta call SacaCadena xhibe apronta mov di,offset Respuesta Trae respuesta del usuario mov cx,larmax Máxima longitud call LeeCadena call NuevaLinea xhibe otra línea call LargoCad Usuario dio NTR? jcxz Salir Si, sale (CX = ) call AscBin Convierte cadena a AX mov [valor],ax Pone resultado en variable jnc seguir Brinca si CF es (no error) mov di,offset error Caso contrario saca mensaje error. call SacaCadena xhibe error. jmp repite mov di,offset binario Apunta a etiqueta para binario call Sacacadena xhibe cadena mov ax,[valor] Trae valor a convertir mov cx,16 xhibe 16 dígitos por lo menos mov di,offset respuesta Usa misma cadena de resultado call BinAscBin Halla dígitos binarios call Sacacadena xhíbelos mov di,offset hex Apunta a etiqueta para hexadecimal call Sacacadena xhibe cadena mov ax,[valor] Trae valor a convertir mov cx,4 xhibe 4 dígitos por lo menos mov di,offset respuesta Usa misma cadena de resultado call BinAscHex Halla dígitos hex. call Sacacadena xhíbelos mov di,offset decimal Apunta a etiqueta para decimal call Sacacadena xhibe cadena mov ax,[valor] Trae valor a convertir mov cx,1 xhibe un dígito por lo menos mov di,offset respuesta Usa misma cadena de resultado call BinAscDec Halla dígitos decimales call Sacacadena xhíbelos mov di,offset decimals Apunta a cadena call Sacacadena xhibe cadena mov ax,[valor] Trae valor a convertir mov cx,1 xhibe un dígito mov di,offset respuesta Usa misma cadena de resultado call BinSAscDec Halla dígitos decimales call Sacacadena xhíbelos 2-13

14 Salir: mov mov int ah,4ch al,[clavefin] 21h ND inicia Fin de módulo CONVI.ASM l programa exhibe el saludo y comentarios, por medio de otro letrero espera la entrada del número a convertir una vez introducido el número, se llama a los procedimientos que se encuentran en el módulo BINASC.ASM, los cuales se encargan de hacer las operaciones pertinentes nsamblar y crear el programa ejecutable mediante los comandos: C>TASM /zi CONVI C>TLINK /v CONVI,,,RM. Si no se tiene el archivo TLINK, teclear: C>LINK CONVI,,,RM 3.14 jecutar el programa con el comando: C>CONVI y: C>CONVI ste programa se puede depurar con Turbo Debugger mediante el siguiente comando: C>TD CONVI.X 3.16 Ir a la ventana VIW, en la opción RGS oprimir la tecla NTR, hacer más chica la ventana con el ratón. Con F8 correr un procedimiento, con F7 ir paso a paso y con F9 correr el programa. Analizar con cuidado la conversión de un número ASCII a binario. 4. TARAS 4.1 xtender hasta 24 bits los números binarios soportados, según sugiere la tabla dada más abajo. 4.2 Hacer que el programa pueda convertir más de un parámetro. 2-14

15 4.3 Hacer que el programa sea más informativo con el usuario y exhibir un letrero con opción de realizar otro cálculo antes de salir del programa. 4.4 Introducir al programa el procedimiento Confirma y llamarlo para verificar la salida del programa, por si hay error. 4.5 Hacer un programa que escriba su propio nombre, incluyendo la ruta, de tal modo que si es cambiado de nombre con el comando RN de DOS reporte en nombre nuevo. Lo mismo si es movido o copiado a otro directorio. NOTA: Cuando se hagan modificaciones en un programa hay que ensamblarlo, meterlo a la librería o crear el ejecutable, según sea el caso. COLUMNAS DL NUMRO HXADCIMAL H X DC H X DC H X DC H X DC H X DC H X DC A B C D F 1,48,576 2,97,152 3,145,728 4,194,34 5,242,88 6,291,456 7,34,32 8,388,68 9,437,184 1,485,76 11,534,336 12,582,912 13,631,488 14,68,64 15,728, A B C D F 65, ,72 196,68 262, ,68 393, , , , ,36 72, , , ,54 983, A B C D F 4,96 8,192 12,288 16,384 2,48 24,576 28,672 32,768 36,864 4,96 45,56 49,152 53,248 57,344 61, A B C D F ,24 1,28 1,536 1,792 2,48 2,34 2,56 2,816 3,72 3,328 3,584 3, A B C D F A B C D F BYT MAYOR BYT MDIANO BYT MNOR Tabla para conversión de hexadecimal a decimal de 24 bits 2-15

16 C:\SM386>convi JMPLOS D CORRIDAS Convierte valores decimales, binarios y hexadecimales Dar NTR para salir Número a convertir? b Binario Hexadecimal 675 Decimal sin signo 1653 Decimal con signo 1653 Número a convertir? 1a3e h Binario Hexadecimal 1A3 Decimal sin signo 6718 Decimal con signo 6718 C:\SM386> Número a convertir? C:\SM386>convi Binario Hexadecimal 877 Decimal sin signo Decimal con signo Número a convertir? Binario Hexadecimal D9A7 Decimal sin signo Decimal con signo Número a convertir? 234 d Binario Hexadecimal A Decimal sin signo 234 Decimal con signo

17 C:\SM386> Número a convertir? ff h Binario Hexadecimal FF Decimal sin signo 6528 Decimal con signo -256 Número a convertir? Binario Hexadecimal 2B67 Decimal sin signo Decimal con signo Número a convertir? 12a3 -- RROR: carácter ilegal en línea Número a convertir? 2-17

18 Nombre de archivo: practica 2 ensamblador 8386 Directorio: C:\Computacion V\practicas 8386 Plantilla: C:\WINDOWS\Application Data\Microsoft\Plantillas\Normal.dot Título: PRÁCTICA 2 Asunto: Prácticas de laboratorio de Computación V Autor: M. en C. Salvador Saucedo Flores Palabras clave: Comentarios: Fecha de creación: 5/7/2 4: P.M. Cambio número: 31 Guardado el: 22/7/2 12:46 P.M. Guardado por: Pablo Fuentes Ramos Tiempo de edición: 646 minutos Impreso el: 29/7/2 1:46 P.M. Última impresión completa Número de páginas: 17 Número de palabras: 2,442 (aprox.) Número de caracteres: 13,925 (aprox.)

PRÁCTICA 3 OPERACIONES BÁSICAS CON DOS NÚMEROS BCD ENTEROS POSITIVOS 1. INTRODUCCIÓN 2. OBJETIVOS 3. DESARROLLO

PRÁCTICA 3 OPERACIONES BÁSICAS CON DOS NÚMEROS BCD ENTEROS POSITIVOS 1. INTRODUCCIÓN 2. OBJETIVOS 3. DESARROLLO PRÁCTICA 3 OPERACIONES BÁSICAS CON DOS NÚMEROS BCD ENTEROS POSITIVOS 1. INTRODUCCIÓN Mediante esta práctica trabajaremos con números BCD de hasta veinte dígitos y haremos las operaciones básicas, suma,

Más detalles

CON LOS VALORES ASCII

CON LOS VALORES ASCII PRÁCTICA 6 FAMILIARIZARSE CON LOS VALORES ASCII DE TODAS LAS FUNCIONES DEL TECLADO. INTRODUCCIÓN La práctica siguiente está enfocada a que el alumno se familiarice con los valores ASCII de todas las funciones

Más detalles

LENGUAJE ENSAMBLADOR PRÁCTICA 1 PRÁCTICA 1 PROGRAMA PARA EXHIBIR EN PANTALLA EL CÓDIGO DE BARRIDO DE LA TECLA OPRIMIDA

LENGUAJE ENSAMBLADOR PRÁCTICA 1 PRÁCTICA 1 PROGRAMA PARA EXHIBIR EN PANTALLA EL CÓDIGO DE BARRIDO DE LA TECLA OPRIMIDA PRÁCTICA 1 PROGRAMA PARA EXHIBIR EN PANTALLA EL CÓDIGO DE BARRIDO DE LA TECLA OPRIMIDA 1. INTRODUCCIÓN Mediante el desarrollo de esta práctica se realizará un programa que exhiba en pantalla el código

Más detalles

LENGUAJE ENSAMBLADOR 80386 PRÁCTICA 11 PRÁCTICA 11 CUATRO OPERACIONES FUNDAMENTALES EN NÚMEROS DE 8 BYTES

LENGUAJE ENSAMBLADOR 80386 PRÁCTICA 11 PRÁCTICA 11 CUATRO OPERACIONES FUNDAMENTALES EN NÚMEROS DE 8 BYTES PRÁCTICA 11 SUMA, RESTA, MULTIPLICACIÓN Y DIVISIÓN DE DOS NÚMEROS ENTEROS POSITIVOS DE HASTA 20 DÍGITOS DECIMALES 1. INTRODUCCIÓN Mediante esta práctica, trabajaremos con números binarios de hasta veinte

Más detalles

LENGUAJE ENSAMBLADOR PRÁCTICA 12 PRÁCTICA 12

LENGUAJE ENSAMBLADOR PRÁCTICA 12 PRÁCTICA 12 PRÁCTICA 12 EJECUCIÓN DE UN PROGRAMA HIJO DESDE UN PROGRAMA PADRE 1. INTRODUCCIÓN En esta práctica veremos como se puede ejecutar un programa cualquiera desde nuestro programa mediante la función EXEC

Más detalles

LENGUAJE ENSAMBLADOR 80386 PRÁCTICA 16 PRÁCTICA 16

LENGUAJE ENSAMBLADOR 80386 PRÁCTICA 16 PRÁCTICA 16 PRÁCTICA 16 PROGRAMA RESIDENTE QUE PUEDE USAR FUNCIONES DE DOS PARA CAPTURAR LA SALIDA A IMPRESORA 1. INTRODUCCIÓN La práctica está dedicada a ilustrar el método para hacer programas residentes en memoria

Más detalles

PRÁCTICA 4 GENERACIÓN DE SONIDOS DE DIFERENTES FRECUENCIAS 1. INTRODUCCIÓN 2. OBJETIVOS 3 DESARROLLO %TITLE IDEAL DOSSEG DATASEG

PRÁCTICA 4 GENERACIÓN DE SONIDOS DE DIFERENTES FRECUENCIAS 1. INTRODUCCIÓN 2. OBJETIVOS 3 DESARROLLO %TITLE IDEAL DOSSEG DATASEG PRÁCTICA 4 GENERACIÓN DE SONIDOS DE DIFERENTES FRECUENCIAS 1. INTRODUCCIÓN Esta práctica está centrada a los sonidos que se pueden emitir en una computadora a través de un programa en LENGUAJE ENSAMBLADOR.

Más detalles

PRÁCTICA 7 MOUSE, EFECTOS SONOROS Y PROGRAMA QUE INFORMA DEL MICROPROCESADOR INSTALADO 1. INTRODUCCIÓN 2. OBJETIVOS 3 DESARROLLO

PRÁCTICA 7 MOUSE, EFECTOS SONOROS Y PROGRAMA QUE INFORMA DEL MICROPROCESADOR INSTALADO 1. INTRODUCCIÓN 2. OBJETIVOS 3 DESARROLLO PRÁCTICA 7 MOUSE, EFECTOS SONOROS Y PROGRAMA QUE INFORMA DEL MICROESADOR INSTALADO 1. INTRODUCCIÓN Esta práctica ayudará a familiarizarse con el MOUSE y las ventajas que se pueden tener del mismo, así

Más detalles

P1.- Para facilitar la tarea, suponemos definido en el segmento de datos lo siguiente:

P1.- Para facilitar la tarea, suponemos definido en el segmento de datos lo siguiente: Problemas P1.- Para facilitar la tarea, suponemos definido en el segmento de datos lo siguiente: ascii DB 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 7_segm DB 3fh,06h,,71h el núcleo del código sería: mov dl, al lea

Más detalles

62/8&,21(6$/(;$0(1'( /$%25$725,2'((6758&785$6'(/26&20387$'25(6 &8562)(%5(52

62/8&,21(6$/(;$0(1'( /$%25$725,2'((6758&785$6'(/26&20387$'25(6 &8562)(%5(52 62/8&,21(6$/(;$0(1'( /$%25$725,2'((6758&785$6'(/26&20387$'25(6 &8562)(%5(52 3DUWHGH(QVDPEODGRU 4º) Escribir un programa en ensamblador que pida un número de una cifra por teclado y saque como resultado

Más detalles

[etiqueta:] REP MOVSn

[etiqueta:] REP MOVSn INSTRUCCIONES DE CADENA Instrucción MOVSn MOVS mueve un byte, palabra o palabra doble desde una localidad en memoria a otra. Se carga la dirección de los operandos en los registros DI (Apuntador a la cadena

Más detalles

Instrucciones del microprocesador

Instrucciones del microprocesador Instrucciones del microprocesador Formato de las Instrucciones Las líneas de instrucciones se integran de 4 campos. [Identificador]: Se utiliza par etiquetar a las intrucciones donde se realizara el salto,nombre

Más detalles

Arquitectura de Computadores II 8086 Parte II

Arquitectura de Computadores II 8086 Parte II 8086 Parte II Facultad de Ingeniería Universidad de la República Instituto de Computación Contenido Funciones recursivas Manejadores de dispositivos Rutinas recursivas(1/10) Introducción Salvar contexto.

Más detalles

LENGUAJE ENSAMBLADOR PRÁCTICA 10 PRÁCTICA 10

LENGUAJE ENSAMBLADOR PRÁCTICA 10 PRÁCTICA 10 PRÁCTICA 10 USO DE MENÚS PARA MODIFICAR ARCHIVOS DE CONFIGURACIÓN 1 INTRODUCCIÓN Esta práctica ayudará a familiarizarse con el uso de menús, para modificar archivos de configuración. La implementación

Más detalles

Conceptos de Arquitectura de Computadoras Curso 2015

Conceptos de Arquitectura de Computadoras Curso 2015 PRACTICA 1 Assembly, Instrucciones, Programas, Subrutinas y Simulador MSX88 Objetivos: que el alumno Domine las instrucciones básicas del lenguaje assembly del MSX88. Utilice los diferentes modos de direccionamiento.

Más detalles

Intel 8086 modelo básico (primera parte) Registros:

Intel 8086 modelo básico (primera parte) Registros: Intel 8086 modelo básico (primera parte) Registros: Uso general: AX, BX, CX, DX, SI, DI, BP. Uso con direccionamento especial: SP, IP. Registros de segmento: CS, SS, DS, ES. Modelo de los registros: 20

Más detalles

EJEMPLOS EJERCICIOS RESUELTOS MOV CX,320*200 ; ESTA OPERACIÓN LA REALIZA EL ENSAMBLADOR XOR DI,DI CLD REP STOSB

EJEMPLOS EJERCICIOS RESUELTOS MOV CX,320*200 ; ESTA OPERACIÓN LA REALIZA EL ENSAMBLADOR XOR DI,DI CLD REP STOSB EJEMPLOS Y EJERCICIOS RESUELTOS Ejemplo: el siguiente código borra la pantalla (estableciendo el color 0 a todos los pixels): MOV MOV AX,0A000H ES,AX MOV CX,320*200 ; ESTA OPERACIÓN LA REALIZA EL ENSAMBLADOR

Más detalles

Universidad Nacional de Ingeniería Arquitectura de Maquinas I. Unidad II: Arquitectura y Programacion de un Microprocesador (80X86)

Universidad Nacional de Ingeniería Arquitectura de Maquinas I. Unidad II: Arquitectura y Programacion de un Microprocesador (80X86) Universidad Nacional de Ingeniería Arquitectura de Maquinas I Unidad II: Arquitectura y Programacion de un Microprocesador (80X86) Arq. de Computadora I Ing. Carlos Ortega H. 1 Interrupciones FUNCIÓN INT

Más detalles

Trabajo Práctico Nro 5 Pase de Parámetros e Instrucciones de Cadena

Trabajo Práctico Nro 5 Pase de Parámetros e Instrucciones de Cadena Instrucciones de Cadena Pase de parámetros Introducción El envío de parámetros a una función de asembler es un problema que nos enfrentamos comúnmente a la hora de desarrollar un software en este lenguaje,

Más detalles

Resumen de las instrucciones del 8086/8088

Resumen de las instrucciones del 8086/8088 Resumen de las instrucciones del 8086/8088 En este capítulo se hace un resumen de las instrucciones del 8086/8088. Estas instrucciones se encuentran explicadas más detalladamente en otro capítulo. Se puede

Más detalles

Pregunta correcta= 0,3 Pregunta no contestada= 0 Pregunta incorrecta (tipo test)= -0,15

Pregunta correcta= 0,3 Pregunta no contestada= 0 Pregunta incorrecta (tipo test)= -0,15 Pregunta correcta= 0,3 Pregunta no contestada= 0 Pregunta incorrecta (tipo test)= -0,15 Sistemas operativos, arquitectura von Neumann, configuración del PC (3 puntos) 1) Señale la opción correcta: [_]

Más detalles

Tema 5. Presentación de datos por pantalla

Tema 5. Presentación de datos por pantalla Tema 5. Presentación de datos por pantalla Laboratorio de Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Transparencia: 2 / 24 Índice El registro de flags del i8086

Más detalles

LENGUAJE ENSAMBLADOR PRÁCTICA 8 PRÁCTICA 8 COMUNICACIÓN SERIAL DE UNA PC

LENGUAJE ENSAMBLADOR PRÁCTICA 8 PRÁCTICA 8 COMUNICACIÓN SERIAL DE UNA PC PRÁCTICA 8 COMUNICACIÓN SERIAL DE UNA PC 1. INTRODUCCIÓN Esta práctica está enfocada a la comunicación serial de un PC, interceptando la interrupción de uno de los puertos 2 OBJETIVOS 2.1 El alumno aprenderá

Más detalles

Pregunta correcta=0,4 Pregunta no contestada=0 Pregunta incorrecta (tipo test)=-0,15

Pregunta correcta=0,4 Pregunta no contestada=0 Pregunta incorrecta (tipo test)=-0,15 Pregunta correcta=0,4 Pregunta no contestada=0 Pregunta incorrecta (tipo test)=-0,15 Sistemas operativos, arquitectura von Neumann, configuración del PC (3 puntos) 1) Cual de las siguientes afirmaciones

Más detalles

DEBUG Y USO DE CADENAS.

DEBUG Y USO DE CADENAS. 1 Facultad: Ingeniería. Escuela: Electrónica. Asignatura: Microprocesadores. Lugar de ejecución: Microprocesadores (Edificio 3, 2da planta). DEBUG Y USO DE CADENAS. Objetivos específicos Analizar paso

Más detalles

Formato para prácticas de laboratorio

Formato para prácticas de laboratorio Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE ASIGNATURA IC 2005 1 5041 NOMBRE DE LA ASIGNATURA Organización de Computadoras y Lenguaje Ensamblador PRÁCTICA No. 7 LABORATORIO DE NOMBRE

Más detalles

Intel 8086. Arquitectura. Programación en Ensamblador Ing. Marcelo Tosini - 2001

Intel 8086. Arquitectura. Programación en Ensamblador Ing. Marcelo Tosini - 2001 Intel 8086 Arquitectura Características generales Procesador de 16 bits Bus de direcciones de 20 bits : 1 Mbyte Bus de datos interno de 16 bits Bus de datos externo de 16 bits en el 8086 8 bits en el 8088

Más detalles

CONJUNTO DE INSTRUCCIONES µp8086

CONJUNTO DE INSTRUCCIONES µp8086 CONJUNTO DE INSTRUCCIONES µp8086 Se llama INSTRUCCIÓN a las palabras reservadas ó MNEMÓNICOS en ensamblador, los cuales se traducen a lenguaje máquina para su posterior ejecución por parte de la CPU. Existen

Más detalles

Tema 2. Presentación de datos por pantalla. La ROM-BIOS

Tema 2. Presentación de datos por pantalla. La ROM-BIOS Tema 2. Presentación de datos por pantalla. La ROM-BIOS Laboratorio de Estructura y Organización de Computadores Grados en Ingeniería Informática e Ingeniería de Computadores Curso 2012-2013 Tema 2: Presentación

Más detalles

Examen de Laboratorio de Estructura de Computadores I.T. Informática de Gestión / Sistemas. 16 de junio de 2010 Departamento de Automática ATC

Examen de Laboratorio de Estructura de Computadores I.T. Informática de Gestión / Sistemas. 16 de junio de 2010 Departamento de Automática ATC ExamendeLaboratoriodeEstructuradeComputadores I.T.InformáticadeGestión/Sistemas.16dejuniode2010 DepartamentodeAutomática ATC Test (3 puntos) Pregunta correcta = 0,30 Pregunta no contestada = 0 Pregunta

Más detalles

CONJUNTO DE INSTRUCCIONES Microprocesador 8086

CONJUNTO DE INSTRUCCIONES Microprocesador 8086 CONJUNTO DE INSTRUCCIONES Microprocesador 8086 Clasificación: TRANSFERENCIA DE DATOS ARITMÉTICAS LÓGICAS TRANSFERENCIA DE CONTROL MANEJO DE CADENAS CONTROL DE MAQUINA ENTRADA/SALIDA El formato general

Más detalles

Pregunta correcta=0,4 Pregunta no contestada=0 Pregunta incorrecta (tipo test)=-0,2

Pregunta correcta=0,4 Pregunta no contestada=0 Pregunta incorrecta (tipo test)=-0,2 Pregunta correcta=0,4 Pregunta no contestada=0 Pregunta incorrecta (tipo test)=-0,2 Sistemas operativos, arquitectura von Neumann, configuración del PC (4 puntos).- Señale la opción incorrecta: [_] a)

Más detalles

ITT-327-T Microprocesadores

ITT-327-T Microprocesadores ITT-327-T Microprocesadores Lenguaje de Programación Ensamblador. Set de Instrucciones del 8088/8086. El set de instrucciones de un microprocesador define las operaciones básicas que el programador puede

Más detalles

Tema 5.1: Presentación de datos en pantalla

Tema 5.1: Presentación de datos en pantalla Tema 5.1: Presentación de datos en pantalla El registro de flags del i8086 Instrucciones de transferencia Instrucciones de transferencia de control Instrucciones aritméticas: comparación Representación

Más detalles

62/8&,21(6&20(17$'$6$/(;$0(1'( /$%25$725,2(6758&785$6'(/26&20387$'25(6 6(37,(0%5('(

62/8&,21(6&20(17$'$6$/(;$0(1'( /$%25$725,2(6758&785$6'(/26&20387$'25(6 6(37,(0%5('( 62/8&,21(6&20(17$'$6$/($0(1'( /$%25$725,2(6758&785$6'(/26&20387$'25(6 6(37,(0%5('(,7,*(67,Ï1,7,6,67(0$6 1º) Se desea realizar un fichero BAT que cumpla los siguientes requisitos: a) Si no se le pasa ningún

Más detalles

Trabajo Práctico Nro 3: Assembler

Trabajo Práctico Nro 3: Assembler Año 28 Banderas Nombre Estado = Estado = 1 Desbordamiento: Indica cuando el resultado de una operación con NV-No hubo OV-Desborde signo a excedido la capacidad del up. desborde Dirección: Controla la selección

Más detalles

2 de septiembre de 2010 Hoja: 1 / 10. Solamente existe una opción válida en las preguntas de respuesta múltiple.

2 de septiembre de 2010 Hoja: 1 / 10. Solamente existe una opción válida en las preguntas de respuesta múltiple. 2 de septiembre de 2 Hoja: / Normas del examen: Solamente existe una opción válida en las preguntas de respuesta múltiple. No se podrá emplear documentación adicional a la del examen. No se podrá emplear

Más detalles

Tema 1. Fundamentos del lenguaje ensamblador

Tema 1. Fundamentos del lenguaje ensamblador Tema 1. Fundamentos del lenguaje ensamblador Laboratorio de Estructura y Organización de Computadores Grados en Ingeniería Informática e Ingeniería de Computadores Curso 2012-2013 Índice Estructura del

Más detalles

Examen Parcial de Arquitectura de Computadoras Prof: Ing. José ESTRADA MONTES

Examen Parcial de Arquitectura de Computadoras Prof: Ing. José ESTRADA MONTES Examen Parcial de Arquitectura de Computadoras Prof: Ing José ESTRADA MONTES 1- Diseñe un sistema de control de un motor de paso ( hardware y software ) a través de una computadora y una tarjeta de interfase

Más detalles

Examen de teoría (5 puntos)

Examen de teoría (5 puntos) Bien: Mal: No contestadas: Examen de teoría (5 puntos) El examen tendrá una duración total de 2 horas. El examen constará de dos partes: teoría y problemas. La nota final será la suma de las dos partes

Más detalles

Examen de teoría (5 puntos)

Examen de teoría (5 puntos) Examen de Estructura de Computadores. Septiembre de 25 Bien: Mal: No contestadas: Examen de teoría (5 puntos) El examen constará de dos partes: El examen tendrá una duración total de 2 horas. La nota final

Más detalles

Examen de Laboratorio de Estructura de Computadores Septiembre 2005 I.T. Informática de Sistemas / Gestión Departamento de Automática ATC -

Examen de Laboratorio de Estructura de Computadores Septiembre 2005 I.T. Informática de Sistemas / Gestión Departamento de Automática ATC - Test (3 puntos) Pregunta correcta= 0,3 Pregunta no contestada= 0 Pregunta incorrecta (tipo test)= -0,15 1) Cual de las siguientes afirmaciones es correcta? [_] a) En lenguaje máquina se representan las

Más detalles

Nombre del módulo: Instalación de Sistemas Microprocesados. Guía sobre Programación en Ensamblador usando Emulador (emu8086)

Nombre del módulo: Instalación de Sistemas Microprocesados. Guía sobre Programación en Ensamblador usando Emulador (emu8086) Nombre del Plantel: Conalep Tehuacán 150 Nombre del módulo: Instalación de Sistemas Microprocesados Guía sobre Programación en Ensamblador usando Emulador (emu8086) Ing. Jonathan Quiroga Tinoco Grupo:

Más detalles

Tema 4. Lenguaje máquina y lenguaje ensamblador

Tema 4. Lenguaje máquina y lenguaje ensamblador Enunciados de problemas Tema 4. Lenguaje máquina y lenguaje ensamblador Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Tema 4: Hoja: 2 / 28 Tema 4: Hoja: 3 / 28 Base

Más detalles

SISTEMAS BASADOS EN MICROPROCESADOR 2º Grado Ingeniería Informática (EPS UAM) EXAMEN FINAL EXTRAORDINARIO JULIO 2013 ENUNCIADO DEL PROBLEMA

SISTEMAS BASADOS EN MICROPROCESADOR 2º Grado Ingeniería Informática (EPS UAM) EXAMEN FINAL EXTRAORDINARIO JULIO 2013 ENUNCIADO DEL PROBLEMA SISTEMAS BASADOS EN MICROPROCESADOR 2º Grado Ingeniería Informática (EPS UAM) EXAMEN FINAL EXTRAORDINARIO JULIO 2013 ENUNCIADO DEL PROBLEMA IMPLEMENTACIÓN DE UN DRIVER DOS INTERFAZ CON UN SISTEMA DE RADIO

Más detalles

PROBLEMAS DE ESTRUCTURA DE LOS COMPUTADORES LENGUAJE MÁQUINA Y ENSAMBLADOR

PROBLEMAS DE ESTRUCTURA DE LOS COMPUTADORES LENGUAJE MÁQUINA Y ENSAMBLADOR PROBLEMAS DE ESTRUCTURA DE LOS COMPUTADORES EJERCICIO 1: Se tiene la siguiente instrucción del i80x86: MOV AL, Numero: S Se sabe que el contador de programa IP vale 6. S La instrucción ocupa 3 bytes. S

Más detalles

PROCESAMIENTO DE LOS DATOS. Procesamiento de datos ascii a binario y de binario a ascii

PROCESAMIENTO DE LOS DATOS. Procesamiento de datos ascii a binario y de binario a ascii PROCESAMIENTO DE LOS DATOS Procesamiento de datos ascii a binario y de binario a ascii En ensamblador el tipo de dato es un carácter, por lo tanto es necesario procesar este dato y convertir de su correspondiente

Más detalles

Los números naturales y enteros en el 80X86 y en LAN

Los números naturales y enteros en el 80X86 y en LAN Los números naturales y enteros en el 80X86 y en LAN 1. Los números naturales en el 80X86/TASM Representación Sistema de representación En el 80X86 (y en la mayoría de los procesadores), los números naturales

Más detalles

Práctica 4. Lenguaje máquina y lenguaje ensamblador

Práctica 4. Lenguaje máquina y lenguaje ensamblador Enunciados de prácticas Práctica 4. Lenguaje máquina y lenguaje ensamblador Estructura y Organización de Computadores Grados en Ingeniería Informática e Ingeniería de Computadores Curso 2012-2013 Práctica

Más detalles

Unidad II: Programación básica

Unidad II: Programación básica Unidad II: Programación básica 2.1 Ensamblador (y ligador) a utilizar Aunque todos los ensambladores realizan básicamente las mismas tareas, podemos clasificarlos de acuerdo a características. Así podemos

Más detalles

EJEMPLOS EN ENSAMBLADOR

EJEMPLOS EN ENSAMBLADOR EJEMPLOS EN ENSAMBLADOR Introducción El lenguaje ensamblador como cualquier lenguaje de programación es un conjunto de palabras que le indican al ordenador lo que tiene que hacer. Sin embargo la diferencia

Más detalles

El presente documento contiene la guia para poder construir metodos numericos en lenguaje ensamblador en este caso con FASM.

El presente documento contiene la guia para poder construir metodos numericos en lenguaje ensamblador en este caso con FASM. Introduccion: El presente documento contiene la guia para poder construir metodos numericos en lenguaje ensamblador en este caso con FASM. Se explicara paso por paso e instruccion por instruccion que se

Más detalles

Instrucciones de Control de Flujo y Usos de la Pila

Instrucciones de Control de Flujo y Usos de la Pila 1 Instrucciones de Control de Flujo y Usos de la Pila Objetivos Generales Facultad: Estudios Tecnologicos. Escuela: Electrónica Asignatura: Microprocesadores Analizar la forma en que se ejecutan algunas

Más detalles

ESTRUCTURA Y ORGANIZACIÓN DE COMPUTADORES

ESTRUCTURA Y ORGANIZACIÓN DE COMPUTADORES Instrucciones del 8088/8086. Instrucciones de trasferencia de datos. MOV MOV destino, origen Transfiere un byte o una palabra desde el operando origen al operando destino. PUSH PUSH origen Decrementa el

Más detalles

Instrucción De Salto Incondicional

Instrucción De Salto Incondicional INSTRUCCIONES DE CONTROL DE FLUJO Los programas que se han desarrollado hasta ahora se ejecutan en forma secuencial, esto es, el programa inicia su ejecución con la primera instrucción y continúa de arriba

Más detalles

Práctica 2. Registros y posiciones de memoria

Práctica 2. Registros y posiciones de memoria Enunciados de prácticas Práctica 2. Registros y posiciones de memoria Estructura y Organización de Computadores Grados en Ingeniería Informática e Ingeniería de Computadores Curso 2012-2013 Práctica 2:

Más detalles

Tema 4. Fundamentos del ensamblador

Tema 4. Fundamentos del ensamblador Tema 4. Fundamentos del ensamblador Laboratorio de Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Transparencia: 2 / 30 Índice Filosofía de programación Organigramas

Más detalles

REPERTORIO DE INSTRUCCIONES DEL MICROPROCESADOR 8086

REPERTORIO DE INSTRUCCIONES DEL MICROPROCESADOR 8086 REPERTORIO DE INSTRUCCIONES DEL MICROPROCESADOR 8086 INSTRUCCIONES DE TRANSFERENCIA: NINGUNA INSTRUCCIÓN DE TRANSFERENCIA AFECTA AL REGISTRO DE ESTADO (SALVO LAS EXPLÍCITAS CON EL REGISTRO DE ESTADO) A)

Más detalles

LENGUAJE ENSAMBLADOR PRÁCTICA 15 PRÁCTICA 15 ENCRIPTADO DE ARCHIVOS, CLASIFICACIÓN POR MÉTODO DE PARTICIÓN / INTERCAMBIO

LENGUAJE ENSAMBLADOR PRÁCTICA 15 PRÁCTICA 15 ENCRIPTADO DE ARCHIVOS, CLASIFICACIÓN POR MÉTODO DE PARTICIÓN / INTERCAMBIO PRÁCTICA 15 ENCRIPTADO DE ARCHIVOS, CLASIFICACIÓN POR MÉTODO DE PARTICIÓN / INTERCAMBIO 1. INTRODUCCIÓN Esta práctica ayudará a familiarizarse con el encriptado de archivos y las ventajas que se pueden

Más detalles

Asignatura: ASSEMBLER INF-153 LABORATORIO 1

Asignatura: ASSEMBLER INF-153 LABORATORIO 1 UNIVERSIDAD MAYOR DE SÁN ANDRES FACULTAD DE CIENCIAS PURAS Y NATURALES CARRERA DE INFORMÁTICA Asignatura: ASSEMBLER INF-153 LABORATORIO 1 Catedrático: Ms.C. Carlos Mullisaca Choque 12 de agosto de 2009

Más detalles

Tema 4. Lenguaje máquina y lenguaje ensamblador

Tema 4. Lenguaje máquina y lenguaje ensamblador Soluciones a los problemas impares Tema 4. Lenguaje máquina y lenguaje ensamblador Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Tema 4: Hoja: 2 / 36 Tema 4: Hoja:

Más detalles

Examen de teoría (5 puntos)

Examen de teoría (5 puntos) Examen de Estructura de Computadores. 4 de Septiembre de 24 Bien: Mal: No contestadas: Examen de teoría (5 puntos) El examen constará de dos partes: ª parte: Test, con una puntuación de 5 puntos y 3 minutos

Más detalles

(2) Unidad 2. Modelo de Programación del 80x86 de Intel SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM

(2) Unidad 2. Modelo de Programación del 80x86 de Intel SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM (2) Unidad 2 Modelo de Programación del 80x86 de Intel SISTEMAS BASADOS EN MICROPROCESADORES Grado en Ingeniería Informática EPS - UAM (2) Índice 2. Modelo de programación del 80x86 de Intel. 2.1. Familia

Más detalles

Comparativas del número de ciclos de ejecución de un programa en ensamblador

Comparativas del número de ciclos de ejecución de un programa en ensamblador Trabajo evaluable 1 Comparativas del número de ciclos de ejecución de un programa en ensamblador Arquitectura de Computadores I I. T. Informática de Sistemas Curso 2009-2010 Trabajo evaluable 1: Hoja:

Más detalles

Estructura de Computadores: Tema 1. Introducción. Índice. Arquitectura del i8086

Estructura de Computadores: Tema 1. Introducción. Índice. Arquitectura del i8086 Estructura de Computadores: Tema 1 El procesador Introducción Estudiaremos la arquitectura del procesador i8086 (CPU, registros,...), su gestion de la memoria y su conjunto de instrucciones. Programaremos

Más detalles

Este grupo es una continuación del anterior, incluye las siguientes instrucciones:

Este grupo es una continuación del anterior, incluye las siguientes instrucciones: CONJUNTO DE INSTRUCCIONES (Microprocesadores 8086/8088) Se pueden clasificar en los siguientes grupos: Instrucciones de Transferencia de Datos. Estas instrucciones mueven datos de una parte a otra del

Más detalles

MOV ;movemos a ax el contenido de la cadena "A" eso significa el y data del segmento de datos

MOV ;movemos a ax el contenido de la cadena A eso significa el y data del segmento de datos TITLE SUMA.MODEL SMALL.STACK 100H.DATA ;titulo del porgrama :modelo de la memoria ;tamaño de la pila ;segmento de datos A DB "teclea dos caracteres: $" ;cadena que vamos a mostrar en pantalla.code ;inicia

Más detalles

62/8&,21(6&20(17$'$6$/(;$0(1'( /$%25$725,2(6758&785$6'(/26&20387$'25(6 )(%5(52'(

62/8&,21(6&20(17$'$6$/(;$0(1'( /$%25$725,2(6758&785$6'(/26&20387$'25(6 )(%5(52'( 62/8&,21(6&20(17$'$6$/($0(1'( /$%25$725,2(6758&785$6'(/26&20387$'25(6 )(%5(52'( 1º) Se desea realizar un fichero BAT que cumpla los siguientes requisitos: a) Si no se le pasa ningún parámetro o se le

Más detalles

1. Introducción a los microprocesadores de la familia Intel 8088/8086

1. Introducción a los microprocesadores de la familia Intel 8088/8086 1. Introducción a los microprocesadores de la familia Intel 8088/8086 2 Descripción de las patas de conexión del 8088 1 2.1 Descripción de las patas en modo mínimo 2 1 Conexión en modo mínimo Vcc De lóg.

Más detalles

Tema 4. La pila, los procedimientos y las macros

Tema 4. La pila, los procedimientos y las macros Tema 4. La pila, los procedimientos y las macros Laboratorio de Estructura y Organización de Computadores Grados en Ingeniería Informática e Ingeniería de Computadores Curso 2012-2013 2010-2011 Índice

Más detalles

ENSAMBLADOR DE ARCHIVO TASM MASM NASM GAS. Características de un Ensamblador de Archivo

ENSAMBLADOR DE ARCHIVO TASM MASM NASM GAS. Características de un Ensamblador de Archivo ENSAMBLADOR DE ARCHIVO TASM MASM NASM GAS Características de un Ensamblador de Archivo Traduce de Leng Ensamblador a Lenguaje máquina Permite definición de etiquetas Reserva memoria para variables octales

Más detalles

Tema 6. Segmentación y modos de direccionamiento

Tema 6. Segmentación y modos de direccionamiento Tema 6. Segmentación y modos de direccionamiento Laboratorio de Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Transparencia: 2 / 21 Índice Segmentación Modos de direccionamiento

Más detalles

MICROPOCESADOR NOTAS DE CURSO (Versión 2.1)

MICROPOCESADOR NOTAS DE CURSO (Versión 2.1) MICROPOCESADOR 8086 NOTAS DE CURSO (Versión 2.1) Arquitectura de Computadores 2 Facultad de Ingeniería ÍNDICE DIRECCIONAMIENTO DE MEMORIA... 2 MODOS DE DIRECCIONAMIENTO... 3 REGISTRO... 3 VALOR o INMEDIATO...

Más detalles

Tema 5: La pila, las macros y los procedimientos

Tema 5: La pila, las macros y los procedimientos Tema 5: La pila, las macros y los procedimientos S La pila S Las macros S Definición de procedimientos S Tipos de procedimientos: NEAR y FAR S Paso de parámetros a un procedimiento S Mediante registros

Más detalles

Ingeniería en Sistemas. Sistemas Operativos. Trabajo Práctico: Repaso de Interrupciones, direccionamiento de memoria y registros del procesador.

Ingeniería en Sistemas. Sistemas Operativos. Trabajo Práctico: Repaso de Interrupciones, direccionamiento de memoria y registros del procesador. Sistemas Operativos Trabajo Práctico: Repaso de Interrupciones, direccionamiento de memoria y registros del procesador. Modalidad: Obligatorio. Objetivos: Abordar la materia Sistemas Operativos desde el

Más detalles

El Diseño de un Lenguaje Máquina

El Diseño de un Lenguaje Máquina Arquitectura de Ordenadores Juego de Instrucciones del Procesador Intel Pentium Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática El Diseño de un Lenguaje

Más detalles

Tema 2: Segmentación y modos de direccionamiento

Tema 2: Segmentación y modos de direccionamiento Tema 2: Segmentación y modos de direccionamiento Segmentación Modos de direccionamiento Direccionamiento relativo Instrucciones de transferencia de control Instrucciones aritméticas: comparación Ejemplo

Más detalles

Tema 5.2: Segmentación y modos de direccionamiento

Tema 5.2: Segmentación y modos de direccionamiento Tema 5.2: Segmentación y modos de direccionamiento Segmentación Modos de direccionamiento Direccionamiento relativo Instrucciones de desplazamiento Instrucciones lógicas Ejemplo de acceso a una cadena

Más detalles

Introducción al ensamblador 80x86

Introducción al ensamblador 80x86 Introducción al ensamblador 80x86 Por: Sadot Alexandres Fernández Colaboran: Carlos Rodríguez Morcillo, Javier Goyanes. Departamento de Electrónica y Automática Escuela Técnica Superior de Ingeniería Universidad

Más detalles

OPCIONES DE INT 21H (LLAMADAS A FUNCIONES DE DOS)

OPCIONES DE INT 21H (LLAMADAS A FUNCIONES DE DOS) OPCIONES DE INT 21H (LLAMADAS A FUNCIONES DE DOS) AH Propósito Tipo Descripción. 0 Terminación del programa Control Termina la ejecución de un programa. 1 Entrada desde el teclado Teclado Espera entrada

Más detalles

SISTEMAS BASADOS EN MICROPROCESADORES

SISTEMAS BASADOS EN MICROPROCESADORES SISTEMAS BASADOS EN MICROPROCESADORES Grado en Ingeniería Informática Escuela Politécnica Superior UAM COLECCIÓN DE PROBLEMAS DE LOS TEMAS 5.5 A 7.2 P1. Escribir una rutina de ensamblador que se quede

Más detalles

(3) Unidad 3. Interfaz del ensamblador con el lenguaje C SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM

(3) Unidad 3. Interfaz del ensamblador con el lenguaje C SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM Unidad 3 Interfaz del ensamblador con el lenguaje C SISTEMAS BASADOS EN MICROPROCESADORES Grado en Ingeniería Informática EPS - UAM Índice 3. Interfaz del ensamblador con el lenguaje C. 3.1. Características

Más detalles

Ejemplo del uso de las subrutinas

Ejemplo del uso de las subrutinas Ejemplo del uso de las subrutinas Enunciado del problema: Diseñar un contador BCD que cuente de 0 a 59 para simular un timer de 60 segundos y que el conteo de dos dígitos BCD, sea desplegado en los displays

Más detalles

UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL SAN NICOLÁS INGENIERIA EN ELECTRÓNICA

UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL SAN NICOLÁS INGENIERIA EN ELECTRÓNICA UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL SAN NICOLÁS INGENIERIA EN ELECTRÓNICA TÉCNICAS DIGITALES III TRABAJO PRÁCTICO N 3 ENLACE DE RUTINAS DE ASSEMBLER EN UN LEGUAJE DE ALTO NIVEL COMO C AÑO

Más detalles

SISTEMAS BASADOS EN MICROPROCESADORES

SISTEMAS BASADOS EN MICROPROCESADORES SISTEMAS BASADOS EN MICROPROCESADORES Grado en Ingeniería Informática Escuela Politécnica Superior UAM COLECCIÓN DE PROBLEMAS DE LOS TEMAS 2.7 A 5.4 P1. Si SP=0006h y FLAGS=0210h al inicio de la ejecución

Más detalles

RELACIÓN DE PROBLEMAS DE LÓGICA PROGRAMADA (TEMA 4)

RELACIÓN DE PROBLEMAS DE LÓGICA PROGRAMADA (TEMA 4) RELACIÓN DE PROBLEMAS DE LÓGICA PROGRAMADA (TEMA 4) 1) Se ha escrito el programa adjunto en lenguaje ensamblador del microprocesador 8085. Sabiendo que se encuentra almacenado a partir de la posición 2000H

Más detalles

Instrucciones de manejo de cadenas

Instrucciones de manejo de cadenas Instrucciones de manejo de cadenas Nombre: Formato: MOVS/MOVSB/MOVSW (MOV BYTE/WORD STRING) MOVS destino, fuente MOVSB/MOSW Descripción: Transfiere el byte o la palabra apuntada por DS:SI al byte o palabra

Más detalles

Arquitectura (Procesador familia 80 x 86 )

Arquitectura (Procesador familia 80 x 86 ) Arquitectura (Procesador familia 80 x 86 ) Diseño de operación Basada en la arquitectura Von Newman Memoria CPU asignadas direcciones I / O BUS: Es un canal de comunicaciones Bus de direcciones: Contiene

Más detalles

A. La estructura del código fuente será la siguiente: copie y pegue la información mediante la computadora

A. La estructura del código fuente será la siguiente: copie y pegue la información mediante la computadora 3. Factorial de un número en sistema decimal A. La estructura del código fuente será la siguiente: copie y pegue la información mediante la computadora name "fact" putc macro char push ax mov al, char

Más detalles

Buses y Periféricos. ITIS. Ensamblador y Turbo debugger

Buses y Periféricos. ITIS. Ensamblador y Turbo debugger BUSES Y PERIFÉRICOS (Práctica de introducción a ensamblador. Va acompañada del documento Ensamblador del 8086.doc. Su realización no cuenta para la nota de prácticas) Programación en ensamblador utilizando

Más detalles

Programación en lenguaje ensamblador. Instrucciones básicas. Formatos. Direccionamientos

Programación en lenguaje ensamblador. Instrucciones básicas. Formatos. Direccionamientos TEMA 33 Programación en lenguaje ensamblador. Instrucciones básicas. Formatos. Direccionamientos Mª Luisa Garzón Villar Cuerpo de Profesores de Enseñanza Secundaria Volumen II. Informática ÍNDICE SISTEMÁTICO

Más detalles

Comparaciones en lenguaje ensamblador

Comparaciones en lenguaje ensamblador Comparaciones en lenguaje ensamblador Objetivo: Entender cómo se realizan las comparaciones de datos en lenguaje ensamblador En lenguaje ensamblador no existe la instrucción IF como se trabaja en otros

Más detalles

Tema 3: ASCII y operaciones de desplazamiento y lógicas

Tema 3: ASCII y operaciones de desplazamiento y lógicas Tema 3: ASCII y operaciones de desplazamiento y lógicas S Representación de cadenas de caracteres (alfanuméricas) S Operaciones de desplazamiento S Desplazamientos lógicos S Desplazamientos aritméticos

Más detalles

Fig. 1: Tipos de datos que puede manejar el procesador

Fig. 1: Tipos de datos que puede manejar el procesador 1. Introducción 2. Registros internos 3. Almacenamiento de datos 4. Modos de direccionamiento 5. Juego de Instrucciones 6. Etiquetas, cometarios y directivas 7. Problemas 1. Introducción El lenguaje ensamblador

Más detalles

PRONTUARIO I. INFORMACIÓN GENERAL

PRONTUARIO I. INFORMACIÓN GENERAL UNIVERSIDAD INTERAMERICANA DE PUERTO RICO RECINTO METROPOLITANO FACULTAD DE CIENCIAS Y TECNOLOGÍA DEPARTAMENTO DE CIENCIAS DE COMPUTADORAS Y MATEMÁTICAS PRONTUARIO I. INFORMACIÓN GENERAL Título del Curso:

Más detalles

TAREA 1 ARITMETICA PARA BCD Y ASCII.

TAREA 1 ARITMETICA PARA BCD Y ASCII. 1 Facultad: Ingeniería. Escuela: Electrónica. Asignatura: Microprocesadores. TAREA 1 ARITMETICA PARA BCD Y ASCII. Objetivos específicos Conocer el manejo de los caracteres ASCII para la presentación en

Más detalles

MANUAL DE PROGRAMACIÓN EN ENSAMBLADOR 8086

MANUAL DE PROGRAMACIÓN EN ENSAMBLADOR 8086 MANUAL DE PROGRAMACIÓN EN ENSAMBLADOR 8086 ALUMNO: SANTIAGO SÁNCHEZ GONZÁLEZ TITULACIÓN: I.T.I. SISTEMAS ARQUITECTURA DE COMPUTADORES I ÍNDICE: PÁGINA Introducción al ensamblador...2 Procesos para la creación

Más detalles

BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN

BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN PRÁCTICA DE LABORATORIO No I NOMBRE DE LA PRÁCTICA: COMANDOS BÁSICOS DE DEBUG( PARTE I) OBJETIVO: APRENDER LOS COMANDOS

Más detalles

Registros Arquitectura x86. M. en C. Erika Vilches

Registros Arquitectura x86. M. en C. Erika Vilches Registros Arquitectura x86 M. en C. Erika Vilches Registro Area especial de almacenamiento de alta velocidad dentro del CPU Registros del procesador x86 Registros de datos de propósito general Registros

Más detalles