Copy Link
Add to Bookmark
Report

Black Lodge - Revista Digital No. 4

eZine's profile picture
Published in 
Black Lodge
 · 15 Sep 2022

*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/* 

P010101b 01 1010 d0101010 01 01
01 100 10 010101 10 0 10 10
10 00 01 10 10 10 01 01
01010d 10 01 01 01 10.01
10101P 01 10101010 10 0101.
01 00 10 01010101 01 10 10
10 010 01 01 10 10 10 0 01 01
d101010d 10101010 01 01 b1010101 10 10

xx .xxxxxx. xxxxxxx. .xxxxxx. .xxxxxx.
xx xxxxxxxx xx .xx xxxxxxxx xxxxxxxx
xx xx xx xx xx xx xx
xx xx xx xx xx xx :xxx xxxx:
xx xx xx xx xx xx :xxx xxxx:
xx xx xx xx xx xx xx xx
xx xx xxxxxxxx xx .xx xxxxxxxx xxxxxxxx
xxxxxxxx .xxxxxx. Xxxxxxx. .xxxxxx. .xxxxxx.

M A G A Z I N E

*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*

Revista Digital No. 4

Sitio Oficial de Descarga:
http://blacklodge.8k.com

Distribuidores y Sitios de Promocion:
http://www.vanhackez.com
http://www.dreamers.com/fondoperdido



CONTENIDO:


---EDITORIAL---
---INTRODUCCION A ENSAMBLADOR---
---DELPHI---
---VER CODIGO HTML PROTEGIDO CON SCRIPTS---
---TRUCOS DEL JUEGO SANITARIUM---
---TU PRIMER PROGRAMA CON TASM---
---UNA BROMA PESADA---





---EDITORIAL---

Definitivamente el ASCII no es lo mio, pero creo que se necesita practica
para hacer algo decente. Comenzamos bien este numero con una introduccion a
Ensamblador, espero sea lo suficientemente basica para comprender las bases.
Es inevitable encontrar empresas que usen entornos de programacion grafica,
por eso incluyo una guia para usar Delphi, el entorno de programacion mas
usado por los programadores serios de Windows (si es que los hay).

Ahora si, por fin algo respecto a paginas web !. El articulo de "ver codigo
HTML protegido con Scripts" nos ayuda para poder aprender de los buenos
codigos que estan en linea, especialmente los de JavaScript. Generalmente
las mejores paginas dejan que puedas ver su codigo, pero hay algunos
dise~adores de paginas personales muy buenos que usan scripts para evitar
que vean su codigo, pero nada es imposible aqui.

Es un placer presentarles un articulo referente a uno de los mejores juegos
que se han hecho: SANITARIUM. Aqui podras ver algunos trucos que te ayudaran
para pasar los capitulos. Es solo una ayuda debido a que hay un bug que
no deja terminar el juego en el capitulo 2. Tambien escribo esto debido a que
como se basa en conversaciones con los personajes, pero lamentablemente estan
en ingles (tiene los subtitulos <en ingles> como opcion). Al principio es
un poco complicado sin una ayuda (no te culpo si lo tienes pirata, ya que
casi no se consigue).

Para complementar la introduccion al ensamblador, veremos un primer programa
especial para compilarse con TASM. Por ultimo, una broma muy pesada, segun
sea el caso. POR FAVOR, ten cuidado con lo que haces, esto seria de mal
gusto para cualquiera.



---INTRODUCCION A ENSAMBLADOR---


################################
# #
# ######################## #
# # # #
# # xx xxx. x. .x # #
# # x x x x x x # #
# # xxxx xxx. x x x # #
# # x x x x x # #
# # x x .xxx x x # #
# # # #
# ######################## #
# #
################################


El Lenguaje Ensamblador es lo mas humanamente cercano que
existe para platicar con la maquina. Hasta que comprendes
la velocidad y capacidad de el, es cuando te haces fan
y lo complicado de su programacion se vuelve un reto.

A la computadora le debes de decir todo lo que quieres
que ella haga, no es adivina. El detalle esta en que tienes
que ser mas especifico aqui, incluso, decirle cuanta memoria
debes usar, que registros utilizar, en que parte de la memoria
poner un dato, etc. Parece muy dificil y complicado pero cada
vez te acostumbras mas, de hecho, se dice que esto es el verdadero
sentido de programar una computadora.

Un programa hecho en ensamblador es mas rapido, mas compacto,
con mas capacidad, poder y sobretodo, obtenemos el conocimiento
y control del sistema.

Para programar ensamblador debemos conocer la maquina: el
procesador, la memoria, los dispositivos, etc. No hablamos
del fisico, sino de como funcionan.

El procesador tiene 14 registros internos de 16 bits cada uno,
donde los primeros cuatro son de uso general (AX, BX, CX, DX)
y tienen la caracteristica de poder ser utilizados como 2 registros
de 8 bits. Para refirirse a ellos se utilizan las letras H y L que son
la representacion de los bytes de nivel alto (high) y nivel bajo (low)
del registro, asi que podemos, por ejemplo, dividir AX en AH y AL.
Tambien se les llama "mas significativo" o "menos significativo"
como me decia mi maestra, pero es una jalada de pelos.
Eso nos ense~a que no debes creer ciegamente en tus maestros, debes
sacar tus conclusiones con la experimentacion. Lo importante no es como
llames tu las cosas, sino como las llama la computadora :).

Un registro es un conjunto de algunos flip-flops, que no son
otra cosa que estados de encendido y apagado, que se representan
con ceros y unos respectivamente (en realidad son voltajes bajos
y altos de 0.5 volts y 5 volts respectivamente). Es decir, un registro
es como una variable del procesador y los flip-flops son los bits de
tama~o de esa variable.

Imaginemos un registro asi:
_______________________________
|0|0|0|1|0|1|0|0|1|0|0|0|0|1|1|0|
^ ^
\____0.5 Volts \___5 Volts


Los registros del procesador son pues los siguientes:

AX Acumulador
BX Registro Base
CX Registro Contador
DX Registro de Datos

DS Registro del Segmento de Datos
ES Registro del Segmento Extra
SS Registro del Segmento de Pila
CS Registro del Segmento de Codigo
BP Registro de Apuntadores Base
SI Registro de Indice Fuente
DI Registro de Indice Destino
SP Registro del Apuntador de la Pila
IP Registro del Apuntador de la Siguiente Instruccion
F Registro de Banderas


Y todos ellos tienen sus usos particulares, de hecho, la ventaja es que
muchas operaciones son asignadas a ciertos registros por default, y ahi
estara el resultado, es por eso que los buenos programas en ensamblador
vuelan de rapido, porque los registros del procesador es como memoria,
pero al estar en el procesador, es lo mas rapido que hay.
Porque no se hace mas de esta memoria?... pues sale bastante caro.
Porque no se hacen mas aplicaciones en ensamblador?, porque es una joda,
hasta los programadores mas avanzados huyen del ensamblador.
Se puede programar desde cero en ensamblador con un editor de textos,
escribimos el codigo, lo compilamos y lo enlazamos. Tambien podemos
editar lo que hay en memoria o un programa ejecutable con el debug.

En modo DOS tecleamos:

C:\>debug [Enter]

Aparecera un guion, el cual es el indicador del debug que ya podemos
trabajar con el. El comando r sirve para desplegar el contenido de
los registros. Podemos agregar como parametro el registro que queramos
visualizar en especial, por ejemplo, el ax:
-rax [Enter]

Apareceran dos puntos (:) donde podemos cambiar el valor de ese registro
o dejarlo oprimiendo la tecla enter.

Banderas

El Registro de Banderas contiene informacion respecto a las operaciones
del procesador.


Overflow
NV=No hay desbordaiento
OV=Hay desbordamiento

Direction
UP=Hacia adelante
DN=Hacia atras

Interrupts
DI=Desactivadas
EI=Activadas

Sign
PL=Positivo
NG=Negativo

Zero
NZ=No es Cero
ZR=Es Cero

Auxiliary Carry
NA=No hay acarreo Auxiliar
AC=Hay acarreo auxiliar

Parity
PO=Paridad Non
PE=Paridad Par

Acarreo
NC=No hay acarreo
CY=Hay acarreo



En el lenguaje Ensamblador, las lineas de codigo constan de dos
partes, el nombre de la instruccion y los parametros, por ejemplo:

add AX, BX

Las instrucciones son nombres mnemotecnicos (de 2 a 4 letras)
que representan lo que queremos que realice el procesador.

add AL, [170]

Donde los corchetes representan que su contenido es el numero de
casilla de memoria y no un valor. Esto se conoce comunmente como
direccionamiento directo.

La memoria guarda datos y les asigna una direccion para saber
donde dejo ese dato:

+------+------------+
> + 0001 + datosABCDE +
+ 0002 + masdatos01 +
+ 0003 + otrosDatos +
+ 0004 + 8524110422 +
+------+------------+

La flechita es el apuntador de direcciones de memoria, es como la
persona que se encarga de traerte el dato. Imagina que son libros
y tu le dices, ya sea el titulo del libro (indirecto) o la clave
exacta del libro (directo).

MOV
Sirve para la transferencia de datos entre celdas de memoria,
registros y acumulador.

MOV destino, fuente

Los tipos de movimientos permitidos son:

Memoria Acumulador
Acumulador Memoria
Regisrtro de Segmento Memoria/Registro
Memoria/Regisrtro Registro de segmento
Registro Registro
Registro Memoria
Memoria Registro
Registro Dato Inmediato
Memoria Dato Inmediato


MOVS
Este comando no necesita parametros, ya que toma el valor fuente
del registro SI y el destino de DI, por ejemplo:

MOV SI, OFFSET VAR1
MOV DI, OFFSET VAR2
MOVS

Se copia el contenido de VAR1 a VAR2.

Los comandos MOVSB y MOVSW mueven un byte y una palabra respectivamente.

Ya se que te suena a chino esto, pero se necesita tiempo para tener
un concepto claro de esto y se necesita sobretodo, mucho estudio.

En el Debug, vamos a crear nuestro primer programa. Tecleamos a0100
y damos enter (a=assambler y 0100 es la direccion donde comenzaremos
a trabajar).

Apareceran unos numeros y teclearemos:
mov ax,0002
mov bx,0004
add ax,bx
int 20

Donde asignamos valores a los primeros registros, luego le sumamos
a AX lo que tiene BX y salimos con la interrupcion 20 (salir a DOS).

Hay un aspecto bastante importante e interesante, que en ensamblador
usamos numeracion de maquina, que podrian ser los ceros y unos, pero
se descubrio una numeracion mas efectiva, la hexadecimal, la cual
divide a un byte de 8 bits por la mitad y ese numero se representa
por un numero del 0 al 15 (que es la posible representacion de cuatro
digitos binarios). Como en decimal podemos representar solo del 0 al 9
con un solo digito, se opto por utilizar las letras A, B, C, D, E y F
para los numeros 10, 11, 12, 13, 14 y 15 respectivamente. Para saber
que es un numero hexadecimal, se pone un cero al principio y una letra
h al final de este numero, por ejemplo, podemos ver numeros:
02Ah, 075h, 0FFh, 0A9h, etc.

Para ensamblar nuestro programa desde debug, se veria mas o menos asi:

0C1B:0100 mov ax,0002
0C1B:0103 mov bx,0004
0C1B:0106 add ax,bx
0C1B:0108 int 20h
0C1B:010A
- h 10a 100
020a 000a
- n prueba.com
- rcx
CX 0000
:000a
-w
Writing 000A bytes

---OJO---
Fijate bien en la diferencia del estado "-" al estado ":", donde en
el primero estamos en modo comando, y en el segundo en modo insersion
de datos para algun registro, ya que es fuente de errores al principio.

Para obtener la longitud de un programa se utiliza el comando "h",
el cual nos muestra la suma y resta de dos numeros en hexadecimal.
Para obtener la longitud del nuestro, le proporcionamos como
parametros el valor de la direccion final de nuestro programa
(10A) y el valor de la direccion inicial (100).

El primer resultado que nos muestra el comando es la suma de
los parametros y el segundo es la resta.
El comando "n" nos permite poner un nombre al programa.
El comando "rcx" nos permite cambiar el contenido del registro CX
al valor que obtuvimos del tama~o del archivo con "h", en este caso
000A, ya que nos interesa el resultado de la resta de la direccion
inicial a la direccion final.
Por ultimo el comando w escribe nuestro programa en el disco,
indicandonos cuantos bytes escribio.

Para cargar el programa, usamos el comando l (load).

- n prueba.com
- l
- u 100 109
0C3D:0100 B80200 MOV AX,0002
0C3D:0103 BB0400 MOV BX,0004
0C3D:0106 01D8 ADD AX,BX
0C3D:0108 CD20 INT 20


El ultimo comando, "u", se utiliza para verificar que el programa
se cargo en memoria, lo que hace es desensamblar el codigo y
mostrarlo ya desensamblado. Los parametros le indican a Debug
desde donde y hasta donde desensamblar.

Debug siempre carga los programas en memoria en la direccion 100H,
a menos que se le indique alguna otra.



---DELPHI---


DDDDDDDDD EEEEEEEE LLL PPPPPPP HHH HHH IIIIIIIII
DDDDDDDDDD EEEEEEEE LLL PPPPPPPP HHH HHH III
DDD DD EEE LLL PPP PP HHH HHH III
DDD DD EEE LLL PPP PP HHH HHH III
DDD DD EEEEEE LLL PPPPPPPP HHHHHHHHH III
DDD DD EEE LLL PPPPPPP HHHHHHHHH III
DDD DD EEE LLL PPP HHH HHH III
DDDDDDDDDD EEEEEEEE LLLLLLLLL PPP HHH HHH III
DDDDDDDDD EEEEEEEE LLLLLLLLL PPP HHH HHH IIIIIIIIII


Para este curso vamos a usar el Delphi 4. Como aqui se maneja
solo modo texto, pues se tendran que imaginar las ventanas :p

Me imagino que ya has oido hablar algo de Delphi, asi que no
voy a echar el rollo de siempre, si necesitas teoria puedes
consultar otro tutorial o comprar un libro.

La primera vez que abrimos un lenguaje de programacion de entorno
grafico como el Delphi, nos impresionan todos los botones y
pesta~as, pero no nos dejemos impresionar.

En la parte alta se encuentran unos menus graficos con titulos
como Standar Additional Win95 ...

____________________________________________________________
| Standard | Additional | Win95 | System | Internet | Data ..


Imagina aunque sea por un momento que Bill Gates te da unas cajas
con las figuras usadas en Windows (botones, dialogos, ventanas,
menus...). Cuando oprimes una de estas opciones, la caja permanece
abierta para que pongas en tu aplicacion todos y cuantos quieras
elementos para tu programa o proyecto, es decir que ya no nos
complicamos tanto la vida.

Asi como ves la ventana de tu aplicacion, asi lucira al ejecutarla
(excepto por los puntos guias). Si pones un boton en una esquina,
si cambias el color del texto, etc. todo eso repercutira en el dise~o
de la ventana de la aplicacion. Puedes compilar asi la ventana
tal y como te aparece y habras hecho un programa sin ni siquiera
imaginarlo. Tu programa es una ventana que se minimiza, se
maximiza y se cierra como las que ya conoces; es lo unico que
hace, pero para no haber escrito codigo, esta perfecto,
no crees?. Para compilar basta oprimir la tecla F9 o el boton
de Play. Que facil, no ???.

Vamos a jugar un poco con los botones, en la pesta~a Standar la
cual esta por default pica el boton que dice 0k, date cuenta que
solo permanecera oprimido, asi que al dar click en nuestra ventana
aparecera un boton, podemos hacerlo mas grande como si crecieras una
ventana. Le podemos cambiar el texto, pero esto se hace en el Objet
Inspector, que es el que contiene las caracteristicas de nuestros
objetos que colocamos en la ventana (es el menu que esta a la
izquierda por default).


+-----------------------+
| Objet Inspector |
|-----------------------|
| Properties \ Events \ |
|-----------------------|
| Action |
| +Anchors |
| BiDiMode |
| |



En la pesta~a por default (Properties) esta la opcion Caption
donde podemos cambiar el texto del boton; escribe lo que quieras.
Puedes compilar de nuevo el programa ahora con nuestro botoncito,
oprimelo y no hara nada (porque no le dijimos que lo hiciera).

La ventana tiene todas las caracteristicas sencillas de Windows
(Minimizar, Restaurar, Cerrar, etc.). Cierra ahora esa ventana
que vamos a hacer algo aun mas interesante. Ve a el menu y elige
la opcion Project y despues Options. Te vas a la pesta~a
Application y das click en Load Icon, escojes un icono y listo !,
ahora tu aplicacion tiene su propio dise~o, cuando compiles y se
cree el ejecutable, este tendra el icono elegido, al igual que la
ventana.

Podemos cambiar las caracteristicas en el Inspector de Objetos
para ver que pasa. Pero ahora creo que es tiempo de que haga
algo nuestro boton, verdad?. Para esto necesitamos programar
un poco, es decir, escribir codigo.

Primero haremos que el boton cierre la ventana (y por lo tanto,
la aplicacion). Damos doble click al boton de tu aplicacion,
aparecera una ventana con codigo parecido al Pascal, pero este
esta Orientado a Objetos. Nos situa entre Begin y end; aqui
colocamos el codigo para el boton, que sera la dificilisima
instruccion 'close();'.

Ahora compila y corre el programa y oprime tu boton, veras que
cerrara la ventana sin mas.

Puedes agregar texto con Label (El boton de la letra A) a la
ventana principal de nuestra aplicacion, como el titulo o lo
que se te ocurra. Tambien en la pesta~a Additional se encuentra
un boton de un paisaje, donde podemos insertar imagenes de
Mapa de bits, jpg o iconos al dar doble click en el cuadro que
colocamos en nuestra ventana de aplicacion y oprimir Load.

Ya que nos aburrimos de mover aqui y alla, sigamos con esto.

La programacion en Windows se basa en hacer objetos que manden
mensajes y tengan eventos. Los mensajes se utilizan para
comunicarse los objetos entre si, con el sistema o con el usuario.
Los eventos son los que se realizan para que la aplicacion haga
algo.

Vamos a ver ahora unos ejemplos para utilizar todo esto:
Dale doble click al boton de tu proyecto para editar el codigo.
Escribe:

ShowMessage('Este es el mensaje mas sencillo');

En otro boton puedes poner:

ShowMessagePos ('Despues sigue este con Coordenadas',
Screen.Width div 30,Screen.Height div 2);

En este tipo de cuadros de mensajes le podemos dar las coordenadas
directamente o, como en el ejemplo, sacar los datos
referenciandonos con el tama~o de la pantalla.

ShowMessagePos ('Ventana en la parte superior izquierda',1,1);

Observa el codigo y el programa que incluyo en este numero, espero
te sirvan para comprender mejor algunos conceptos.



---VER CODIGO HTML PROTEGIDO CON SCRIPTS---

______ ______
/ \ / \
< (*) > < (*) >
\______/ \______/


Cuando comence a hacer paginas de internet, descubri que la mejor forma
de aprender era viendo el codigo fuente html disponible de cualquier
pagina respetable.

En las que yo aprendi mucho fueron Yahoo, Dreamtheater.net, altavista, etc.
Es por eso que a veces cuando empezamos nos topamos con scripts que no nos
dejan ver el codigo fuente de alguna u otra manera, especialmente en paginas
no comerciales. Los que iniciamos, no vemos la salida, pero con un poco de
conocimiento de JavaScript y sentido comun, salimos adelante.

Recuerdo 2 paginas en las que me detuve un poco, www.vivacolima.com.mx
y www.scorpions.net.

En la primera, al entrar, nos manda a un segundo link que es una ventana
que no tiene mas que el recuadro y al dar click con el boton derecho nos
manda el tipico alert diciendo que no hagas eso. La solucion que se me
ocurrio fue agregarla a favoritos, asi al abrirla, tendra una ventana
completa y poner "ver codigo fuente" o "guardar como". Si tenia frames
utilizaba la tactica siguiente. Aqui lo que hizo el autor, fue un script
que mandara a una ventana nueva, pero le indico las propiedades de la ventana
del explorador, por lo que le podia quitar barras y manejarla a su gusto.

La segunda estaba un poco complicada, ya que consiste de varios frames,
y tu sabes que al guardar la pagina, no te serviran de nada unos llamados a
frames. Eran varios, los cuales no se veian, unos ocupaban la minima parte
de la pantalla en la parte de arriba y abajo y se llamaban entre si, la
solucion simple es buscar la principal de una por una, osea la que contiene
el codigo que quieres ver. Por ejemplo, si se llama frame01.html, escribe la
direccion llamando a esa pagina asi: -->www.scorpions.net/frame01.html

Ahora si de lo que se trata es de tomar una foto, no te rompas la cabeza,
simplemente oprime la tecla Imprimir pantalla y pega en un editor grafico
y editala. Esto es algo simple, pero estos consejos se que les serviran
a alguien.

Cualquier problema se soluciona tambien bajando la pagina con un programa
como el GOzilla y destriparlo en tu casa, jeje.




---TRUCOS DEL JUEGO SANITARIUM---



W W H H .OOO. A MM MM IIIII ????.
W W W HHHH O O A A M M M M I ?
W W W W HHHH O O AAAAA M M M I ???
W W H H .OOO. A A M M IIIII ?
.


No se cuantos conozcan este super juego de rol. Tiene unos cinematics
formidables que se llevan a los de Diablo II. Un sonido arrollador y la
mejor historia en un juego que haya visto o conocido hasta la fecha.
Tiene un gran defecto: esta en ingles, pero creo que hay un parche para
traducir los subtitulos a espa~ol. La verdad es un punto clave para el
desarrollo del juego, ya que se basa en las platicas que haces con los
personajes que salen a lo largo de los capitulos y la mayoria te dice
las pistas para salir de cada episodio. Al principio es frustrante, pero
si logras salir del segundo capitulo, ya estaras casi del otro lado,
porque el segundo capitulo es para mi punto de vista el mas dificil y
aparte es el mas largo y tiene trampas, accion y bugs, por eso digo que
si lo pasas, sabras como seguir con lo demas.
El cinematic de inicio comienza cuando un hombre va caminando por un
estacionamiento y platica con su esposa acerca de algo que descubrio y
que le habia tomado a~os lograrlo. En eso va en la carretera y sufre
un accidente y amanece en un asilo antiguo para dementes. Aqui es el primer
capitulo, tu eres el hombre con la cabeza vendada y te desplazas con el
boton secundario del mouse arrastrando hacia donde te quieras dirigir.

Aqui no tiene chiste, recuerda que en todo el escenario pueden haber objetos
que te sirvan para pasar pruebas. Los recoges dando click en ellos. Observa
que al pasar el raton sobre ellos, la lupa (puntero del mouse) parpadea y
despues de la observacion que dice el personaje, el puntero se convierte en
una mano (significa que puedes recoger el objeto). Para hacer uso de lo que
has recogido, da click en el personaje y elije, despues das otro click en
el area donde lo quieras aplicar.

El segundo capitulo es desconcertante y bastante tenebroso, se trata de un
pueblo abandonado lleno de ni~os mutantes, dominados por un moustro producido
por un cometa caido en un plantio de calabazas. Son muchisimos los objetos
que debes tener y utilizar a lo largo de la trama. Lo importante es matar a
"Mother" para liberar a los ni~os de su maldad. Lo que me costo mas trabajo
fue conseguir la ca~a de pescar para sacar la cruz de hierro, la tienen
Timothy O Toole, y es muy religioso, me imagino que ya sabes que debes hacer
sonar la campana para que vaya a misa, pero como???. Hay un objeto afuera
de la iglesia que te ayudara. Para matar a los cuervos (algo que pone en
tension al jugador) es con la guada~a, da click en ellos. Para matar al
hombre calabaza, debes golpear (y eliminar) las calabazas de alrededor del
palo donde salio el espantapajaros. Ahora tienes que electrocutar a
"Mother", como te decia, hay muchos objetos que necesitas y no te voy a
echar a perder la sorpresa. Solo te digo que es obligatorio jugar a las
escondidillas con Deniss O Toole y sus amigos. Hay una barra que desaparece
si la encuentras despues, no se cuando exactamente, pero nunca acabarias el
juego sin ella, asi que recogela en la casita que esta en el panteon, no
donde esta el cadaver, sino en donde se guardan las cosas de jardineria.
Es lo mas importante, lo demas lleva tiempo pero es lo interesante, porque
no es facil, pero si te sale el bug, te frustras. Otra cosa importante es
que ya que pasas a la seccion donde esta Mother, hay una tabla que puedes
tirar como puente (me recuerda al cerdito que montas y se cae), de esta
forma ya no rodeas todo el plantio de calabazas y pasas directamente al
almacen, ahorrandote tiempo necesario. Para finalizar, el sermon tiene
algo que ver con una clave del juego.

En el capitulo del circo, solo te digo que lo importante es divertirte y
encontrar mas cosas.
Ya que pasaste la casa del terror casi estas del otro lado.
En el laboratorio, la clave son las letras que sobresalen, hay que formar
frases con ellas, lo anterior, lo del aparato raro, checa las coincidencias.
Creo que son los tips que te puedo pasar, no quiero estropear tu juego,
disfruta y diviertete mucho.



---TU PRIMER PROGRAMA CON TASM---


Para ensamblarlo, usa tasm asi:

C:\tasm programa.asm /a /z

Que, aunque no tendra errores, los parametros a y z sirve para mostrar
donde se cometieron los errores de una forma mas especifica (escribe el
numero de linea y el contenido de la linea de error).

Asi, generas un programa .obj, que esta en codigo maquina pero no lo puedes
ejecutar, asi que tienes que ligarlo con el tlink asi:

C:\tlink programa

Ya que supone que existe un .obj con ese nombre.

Aqui tienes:

;--->

.MODEL SMALL
.CODE
PROGRAMA:
MOV AX,@DATA
MOV DS,AX
MOV DX,OFFSET TEXTO
MOV AH,9
int 21H
MOV AX,4C00H
INT 21H
.DATA
TEXTO DB 'MENSAJE EN PANTALLA.$'
.STACK
END PROGRAMA

;---<

Lo unico que hace es mandar un mensaje en pantalla, no esperes mucho, jeje.
La ventaja es que contiene el formato basico para un programa en ensamblador.
Cuando lleve esta materia en la escuela, la maestra se preocupo mas por las
directivas de conteo de paginas, de titulo y en el debugger que en trabajar
con los comandos y hacer algo util, en fin, no se pierdan el siguiente numero
de Black Lodge para un estudio profundo del ASM.



---UNA BROMA PESADA---

Imaginemos que estamos frente a la computadora de alguien que nos cae en
el higado. Que podemos hacer para que se le suba la sangre a la cabeza
al usar su computadora?. Lo que haremos es que elegimos un tipo de archivo
que utilice mucho, puede ser .txt, .doc, .jpg, .xls, .db, .html, etc. La
primer broma consiste en hacer que cuando abran ese archivo, este se borre
misteriosamente. La otra broma consiste en mandar su sistema a la goma,
obligandolo a reiniciar gracias a un buen bug de windoz, ambas cosas las
veremos a detalle aqui.
Nos vamos a Mi PC (o explorador, sabias que es lo mismo?). En Ver,
Opciones de Carpeta, aparecera una ventana con 3 pesta~as, elegimos la
tercera, Tipos de Archivo. Ahi apareceran las extensiones y los programas
que abren esos archivos. Lo unico por hacer es decirle que no ejecute el
programa que tiene, sino lo que queremos. Ya que esta seleccionado el tipo
de archivo deseado, oprimes el boton edicion, te aparecera otra ventana.
Hay una parte que dice Acciones y por lo menos, aparecera la palabra
open o abrir. La debes seleccionar y oprimir el boton editar que esta mas
abajo. Aparecera otra ventanita donde aparece la ruta (path) de la accion.
Aqui pones la opcion que quieres, en el primer caso (que borre el archivo)
debes hacer un archivo por lotes (.bat) con anterioridad que contenga lo
siguiente:

@echo off
del "%1"

Como ya sabes, el primer comando hace que no se vea lo ejecutado, y el
segundo borra el archivo dado. Cuando hagas ese archivo, colocalo en la
carpeta Windows y ponle un nombre que no llame la atencion, ve sus
propiedades, ponle la caracteristica de oculto y en la pesta~a Programa
opcion Ejecutar, elige minimizado. Entonces en el path que estabamos
hablando anteriormente pones C:\Windows\winn.bat (por poner un ejemplo).
Para la segunda broma, simplemente ejecuta el bug C:\con\con te aseguro
que no abra otra mas que reiniciar, no lo intentes, te dolera tener que
apagar tu computadora y ver su sufrimiento ;). <aplica solo win 9x).

Esto es algo muy bajo si se lo haces a alguien, asi que piensalo bien, no
causes da~o a alguien que se gana la vida bien con su computadora. Este
articulo lo hice solo para que te dieras cuenta de lo maravilloso que es
saber las cosas y en dado caso de que conozcas a alguien pesado e inutil,
mandalo a ver la tele.


*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT