Académique Documents
Professionnel Documents
Culture Documents
0.- MOTIVACION.
MOV AX,0
MOV DS,AX
MOV BX,9
MOV AL,[BX]
MOV CX,10
BUCLE:
instrucciones
LOOP BUCLE
MOV AL,62H
MOV DX,1000H
OUT DX,AL
CLD
MOV AX,0
MOV DS,AX
MOV SI,20
LODSB
CLD
MOV DX,0
MOV ES,DX
MOV DI,2048
STOSB
Mensaje DB 'Hola'
Peso DB 70
Nada DW (?)
Vector DB 0,0,0,13,120,76,76,76,76,76,76
MOV AX,DATOS
MOV DS,AX
Por otro lado, siempre será necesario llamar a una función del DOS
para terminar el programa, liberando la memoria y devolviendo el
control al sistema operativo. La encargada de realizar esta tarea
es la función 4CH de INT 21H, de manera que al final del segmento
de código será preciso introducir las siguientes dos líneas:
MOV AH,4CH
INT 21H
3.-MODOS DE DIRECCIONAMIENTO.
BX SI
+ + despl
BP DI
.DATA
CADENA DB 'ABCDEFGHIJKL',0
.CODE
.CODE
MOV AX,@DATA
MOV DS,AX
...
MOV SI,OFFSET CADENA + 8
MOV AL,[SI]
...
MOV BX,8
MOV AL,[CADENA+BX]
...
MOV BX,OFFSET CADENA
MOV AL,[BX+8]
...
MOV SI,8
MOV AL,[CADENA+SI]
...
MOV BX,3
MOV SI,4
MOV AL,[CADENA+BX+SI+1]
MOV AX,Datos2
MOV Datos1,AX
MOV AX,ES
MOV DS,AX
MOV AX,Datos
MOV DS,AX
PUSH AX
PUSH BX
.
.
POP BX
POP AX
PUSH AX
POP BX
IN acumulador,puerto
OUT puerto,acumulador
MOV AL,[BX+SI+20]
MOV DX,BX
ADD DX,SI
ADD SI,20
LEA registro,mem16
LEA DX,[BX+SI+20]
LDS reg16,mem32
LDS BX,Etiqueta
ADD destino,fuente
SUB destino,fuente
AX ¦ Divisor
+------
AH AL
DX¦AX ¦ Divisor
+------
DX AX
AND destino,fuente
OR destino,fuente
XOR destino,fuente
. Transferencia incondicional
. Transferencia condicional
. Bucles
CALL etiqueta
instrucciones siguientes
.
.
etiqueta:
MIPROC PROC
instrucciones siguientes
.
RET
MIPROC ENDP
CALL etiqueta1
instrucciones siguientes
.
.
etiqueta1:
MIPROC1 PROC
instrucciones siguientes
.
CALL etiqueta2
.
RET
MIPROC1 ENDP
etiqueta2:
MIPROC2 PROC
instrucciones siguientes
.
.
RET
MIPROC2 ENDP
J[mnemonico] destino_corto
JZ salta si cero
JNZ salta si no cero
J[x] etiqueta_lejana
escribimos
JN[x] etiqueta
JMP etiqueta_lejana
etiqueta:
CMP destino,fuente
CMP BX,AX
JB etiqueta
CMP BX,AX
JL etiqueta
MOV CX,repeticiones
comienzo:
.
.
.
DEC CX
JNZ comienzo
MOV CX,repeticiones
comienzo:
.
.
.
LOOP comienzo ; si CX[]0, salta a comienzo
; de lo contrario, sigue en esta línea
En resumen:
+-----------+ STOS
¦ AX ¦ AL ¦ -----------] ES:DI [----+
+-----------+ ¦
MOVS
+-----------+ LODS ¦
¦ AX ¦ AL ¦ [----------- DS:SI -----+
+-----------+
MOV AH,4CH
INT 21H
MOV AX,0B800H
MOV ES,AX
MOV DI,0 ; apuntamos ES:DI al inicio de la RAM de video
MOV AL,32
MOV AH,07H ; carácter 32, gris sobre negro
MOV CX,2000 ; 2000 caracteres
REP STOSW
MOV AH,1
INT 21H
MOV AH,3FH
MOV BX,0
MOV CX,[LONGITUD MAXIMA]
MOV DX,[DESTINO DE LA CADENA]
INT 21H
AND AX,AX