Welcome to Scribd. Sign in or start your free trial to enjoy unlimited e-books, audiobooks & documents.Find out more
Download
Standard view
Full view
of .
Look up keyword
Like this
96Activity
0 of .
Results for:
No results containing your search query
P. 1
UNIDAD 4_ENSAMBLADOR

UNIDAD 4_ENSAMBLADOR

Ratings:

5.0

(1)
|Views: 3,857|Likes:
Published by richydo
Una pequeña ayuda aunqeu no esta completo
Una pequeña ayuda aunqeu no esta completo

More info:

Published by: richydo on Nov 25, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

06/22/2013

pdf

text

original

 
UNIDAD IV. PROGRAMACIÓN HÍBRIDA 
4.1 Directivas para compilación híbrida:
La compilación hibrida es utilizada en lo que esconocida como programación hibrida (válgase la redundancia).La programación hibrida es utilizada en los casos endonde el código en ensamblador dificulta la estructuracióndel programa. La programación híbrida proporciona unmecanismo por medio del cual podemos aprovechar las ventajasdel lenguaje ensamblador y los lenguajes de alto nivel, todoesto con el fin escribir programas más rápidos y eficientes.Ejemplo: la red es el siguiente donde utilizamos códigoen ensamblador y código pascal. El siguiente código sirvepara limpiar pantalla, está escrito en ensamblador dentro deuna función en pascal, lo que es lo mismo a la función
ClrScr
en pascal.
ProcedureLimpia_Pantalla; Assembler; Asm  Mov AX, 0600h Mov BH, 18h Mov CX, 0000h Mov DX, 184FhInt 10hEnd;
En fin podemos mezclar el digo ensamblador con elcódigo de cualquier otro lenguaje que admita esteprocedimiento. En pascal antes de escribir el digo enensamblador ay que poner
 Asm 
y al final de nuestro código
End.[1]Funciones en Ensamblador:Bloques en Ensamblador:
 
Operadores:
Operadores Aritméticos:Pueden emplearse libremente (+), (-), (*) y (/). En esteúltimo caso la división es siempre entera. También se admitenlos operadores MOD (resto de la división) y SHL/SHR(desplazar a la izquierda/derecha cierto número de bits).Operadores Lógicos:Pueden ser el AND, OR, XOR y NOT. Realizan las operacioneslógicas en las expresionesOperadores relacionales:Devuelven condiciones de cierto (0FFFFh o 0FFh) o falso (0)evaluando una expresn. Pueden ser: EQ (igual), NE (noigual), LT (menor que), GT (mayor que), LE (menor o igualque), GE (mayor o igual que)Operadores de retorno de valores:Operador SEG: devuelve el valor del segmento de la variable oetiqueta, silo se puede emplear en programas de tipo EXE:MOV AX,SEGtabla_datosOperador OFFSET:devuelve el desplazamiento de la variable o etiqueta en susegmento:MOV AX,OFFSETvariableSi se desea obtener el offset de una variable respectoal grupo (directiva GROUP) de segmentos en que esta definiday no respecto al segmento concreto en que está definida:MOV AX,OFFSET nombre_grupo:variableOperador .TYPE:Devuelve el modo de la expresión indicada en un byte. Elbit 0 indica modo «relativo al código» y el 1 modo «relativoa dato, si ambos bits esn inactivos significa modoabsoluto. El bit 5 indica si la expresión es local (0 si estádefinida externamente o indefinida); el bit 7 indica si laexpresión contiene una referencia externa. El TASM utiliza
 
tambn el bit 3 para indicar algo que desconozco. Esteoperador es útil sobre todo en las macros para determinar eltipo de los parámetros:info .TYPEvariableOperador TYPE:devuelve el tamaño (bytes) de la variable indicada. No validoen variables DUP:kilos DW 76MOV AX,TYPE kilos ;AX = 2Tratándose de etiquetas -en lugar de variables- indica si eslejana o FAR (0FFFEh) o cercana o NEAR (0FFFFh).Operadores SIZE y LENGTH: devuelven el tamaño (en bytes) o elno de elementos, respectivamente, de la variable indicada(definida obligatoriamente con DUP):matrix DW 100 DUP (12345)MOV AX,SIZE matriz ; AX =200MOV BX,LENGTH matriz ; BX =100Operadores MASK y WIDTH:Informan de los campos de un registro de bits (base RECORD).Operadores de Atributos:Operador PTR: redefine el atributo de tipo (BYTE, WORD,DWORD, QWORD, TBYTE) o el de distancia (NEAR o FAR) de unoperando de memoria. Por ejemplo, si se tiene una tabladefinida de la siguiente manera:Tabla DW 10 DUP (0) ;10 palabras a 0Para colocar en AL el primer byte de la misma, lainstrucción MOV AL, tabla es incorrecta, ya que tabla (una

Activity (96)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
Arelythaa TuUn liked this
EdiTth Ortega liked this
Adriana Chicho liked this
Salvador Ramon liked this
Karen Verdugo liked this
Karla L Ramirez liked this
Xochitl Gonzalez liked this

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->