Dentro de los lenguajes de alto nivel podemos decir que se encuentran java, visual c++ ( que he usado desde segundo ciclo)la particularidad de estos lenguajes de programación es que los códigos en binario fueron agrupados para poder utilizar palabras mas entendibles como un "if" o un "cout" que no son mas que una agrupación de tediosos y largos códigos en binario.
Ahora los lenguajes de bajo nivel, son los que mas comprende la pc, ya que la agrupacion de código binario es menor, en esta clasificación se encuentra el lenguaje ensamblador, el lenguaje binario.
Registros de puntero de segmento (CS,SS,DS,ES)
Registros de desplazamiento dentro de los segmentos (SP,BP,SI,DI)
El SP es el puntero de pila
El SI índice de segmento (index segment)
El DI índice de destino contienen desplazamientos de los punteros de segmento DS y ES en el manejo de cadena de caracteres.
El BP es el puntero base.
Tambien existe un registro llamado contador de programa, el cual ya veremos la gran utilidad
del mismo.
Registros de estado
Un registro de estado, S, de 16 bits con la siguiente asignación: Bit bo(C) es el acarreo, Bit b2(P) es el de paridad, Bit b4(A) es el de acarreo auxiliar, Bit b6(Z) el de cero, Bit b7(S) el de signo, Bit b8 (T) el de Trap, Bit b9(I) que sirve para controlar el bloqueo de las intrusiones, Bit b10(D) que determinan si se han de autoincrementar o autodecrementar los punteros SI y DI en las intrusiones que manejan cadenas de caracteres, Bit b11(O) que especifica el desbordamiento (Overflow).
Ejemplo de programación en Assembler
Los comentarios van despues del ";"
.MODEL SMALL
.CODE
;leer un caracter e imprimir su codigo hexa en decimal.
INICIO: MOV AH,01 ;mov para asignar valor a un reg o pos de memoria aca se carga un serv.
INT 21H ;realizar el servicio cargado en ah
MOV BL,AL ;guardo lo que teclee del al al bl
MOV AH,02H
MOV DL,0AH ;salto de linea o retorno de carro no recuerdo jeje
INT 21H
MOV DL,0DH
INT 21H
MOV AL,BL
MOV CL,04
SHR AL,CL
ADD AL,30H ; suma de al +30 en hexa
MOV DL,AL
INT 21H
AND BL,0FH
CMP BL,09 ;instucción que hace comparaciones
JA sig ; sentencia afirmativa luego de la comparación
ADD BL,30H
MOV DL,BL
INT 21H
JMP FIN ;salto a posicion donde se encuentra la etiqueta FIN, sin condiciones
sig: ADD BL,37H
MOV DL,BL
INT 21H
FIN: INT 21H
END ; fin del programa
Espero hayan podido entender un poco lo que es assembler, dejo la promesa de hacer un post de intrucciones en assembler para explicar cada una de ellas.
5 comentarios:
jajajaj aki la malograste :P
desempolvar neuronas q sabian assembler :-|
imaginate vivir el mundo de la computación de hace 20 o 25 años, en que estariamos programando, que dolor de cerebros no?... en fin si fueran 20 0 25 años no hubiera esos blogs.... TAN UTILES xD
ah bueno... si hablamos de utilidad, tengo otro blog, mas productivo q el de http://natogs.blogspot.com
Seria el de informatica: http://infnato.blogspot.com ;)
pero es verdad! hace 20 o 25 anhos, fuera de q yo no estaba ni en proyecto... habria sido una pesadilla... y pensar q ahora tenemos un dolor de cabeza por un puntero a null... imaginate un error en assembler :P jjajajaa
muy bueno, les recomiendo una web dodne estanrealizando videocursos de programacionen ensamblador muy buenos, son completamente gratuitos, no olviden ar clic en la web para apoyar a esos manes por su colaboracion
la web es: www.zonebit.net
Publicar un comentario