Hola, esto no es un tutorial ni un taller esto es simplemente que me aburro mucho y tengo ganas de escribir algo mientras "curro" asique hos informo un poco.
No me voy a dedicar a tocar temas basicos etc.. simplemente voy a escribir interrupciones etc.... por aburrimiento.
Juego con caracteres:
- Posicionando el cursor:
Interrupción 10 ( video )
Fucion 2 ( Posiciona cursor ). mov ah, 02h
Pagina ( La pantalla se divide en paginas ). mov bh, numeropagina
Posicion ( Posicion dentro de la pagina). mov dx, numeroposicion
- Introducción de caracter en pantalla:
Interrupcion 10 (video).
Funcion 9 (Imprimir caracter). mov ah, 09h
Atributo mov bl, atributo
Caracter ( caracter a meter), mov al, 'caracter'
Numero de caracteres ( lo dicho ) mov cx, numerocaracteres
Ale ya estoy hasta la polla de la interrupcion 10 xDDDDDDD vamos a ver el tamaño de la memoria y hos enseño un vacile con el debug de windows
Interrupcion 12 esta no tiene nada mas un servicio por lo cual no hay que tocar el valor de AH.
Si llamamos a la interrupcion 12 nos devuelve a AX el tamaño de la memoria baja, para esto y para todo no hace falta un ensamblador solo el debug de win pero en este caso es sencillo no hay que rallarse mucho.
Metemos en la cmd el comando debug nos saldra una rallita
-
escribimos a 100
quedaria
- a 100 (enter)
nos saltara a una linea nueva
entonces ponemos
int 12 y enter dos veces ( enter, enter o enter * 2 o imul enter, 2 ) vosotros mismo.
ahora queremos ver que ha pasado no? pues ponemos una p y enter
-p (enter).
Asi mirando el registro eax, 280h = 640 decimal.
ejemplo:
-a 100
1536:0100 int 12
1536:0102
-p
AX=0280 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1536 ES=1536 SS=1536 CS=1536 IP=0102 NV UP EI PL NZ NA PO NC
1536:0102 0000 ADD [BX+SI],AL DS:0000=CD
-q
Ale que hos divertais.
Este post no es un tuto ni nada por el estilo como digo al principio, ni esta depurado simplemente estoy aburrido en el curro y hos dejo esta info. Ale espero que le sirva a alguien
