viernes, 24 de abril de 2009
entre
retando al futuro que siempre me cambia
y que no quiero entender
Despierto desde temprano
simplemente para crear mi ejercicio favorito
Entre los tumultos del futuro
y término entendiendo que tengo miedo de entrar a la ducha
desde el comienzo hasta el inevitable final
Siempre mantengo mis manos lejos de mi
No es que me deje solo
simplemente nunca estuve ahí
De cualquier forma
Leo mi futuro
Ahora lo puedo hacer
domingo, 19 de abril de 2009
Cuentos cortos para sueños largos.
visto de velo, mascaras y sonrisas
cubro mi rostro con bellos tatuajes
hermosas telas cubren mi cuerpo
fina piel adornan mis pies.
Por mí? Por decir?
Donde estoy?
De noche desgarro mi piel
De día busco la redención en tus brazos
Te llamo... Pero sin aparente resultado
mi voz resumbá en el cielo con fuerza.
Miento, chantajeo, encubro las cosas
camino sin rumbo fijo entre los muertos
y en los campos dejo de entender al mundo
Todo ello para poder contar la verdad
Y las cosas que siento
tu jamás las sabrás.
jueves, 16 de abril de 2009
Dave Matthews Band de regreso

Después que estos señores no sacaran nada desde ya hace un rato, regresaron al estudio para traernos un nuevo disco llamado BIG WHISKEY AND THE GROOGRUX KING.
Pese a que el disco sale en 2 de junio de este año, ya esta en preorden y podrás tener un set de 3 dsicos gratis que son el live trax Vol 15, Alpine Valley Music Theatre y el One of the most fan requested show for live.
Ya era hora de tener mas de ese rock-jazz que Dave y compañia nos pueden brindar.
Números primos vía ensamblador
clr A;
clr C;
mov DPTR, #TablaPrimos ;
mov r3, #00h ;
mov r4, #02h ;
mov r5, #0FEh ;
mov r6, #02h ;
mov 20h, #0Fh ;
mov 30h, #05h ;
mov 31h, #09h ;
mov 32h, #03h ;
;; primos
mov DPTR, #TablaPrimos;
mov 20h, #00h ;
acall paresinc ;
mov 20h, #41h
acall paresdec ;
;; Rutina de retardo
tiempito:
mov 90h, A;
mov r0, #02;
in1: mov r1, #040h;
in2: mov r2, #090h;
wait: djnz r2, wait;
djnz r1, in2;
djnz r0, in1;
ret;
;; Rutinas para pares
paresinc:
inc 20h ;
mov A, 20h ;
mov B, r6 ;
;; Divición entre 2
div AB ;
mov A, B ;
cjne A, #00h, paresinc ;
mov A, 20h ;
mov B, 20h ;
;; Divición entre si mismo
div AB ;
mov A, B ;
cjne A, #00h, paresinc ;
mov A, 20h ;
movc A, @A+DPTR ;
mov P1, A ;
acall tiempito ;
mov A, 20h ;
cjne A, #41h, paresinc ;
ret
paresdec:
dec 20h ;
mov A, 20h ;
mov B, r6 ;
;; Divición entre 2
div AB ;
mov A, B ;
cjne A, #00h, paresdec ;
mov A, 20h ;
mov B, 20h ;
;; Divición entre si mismo
div AB ;
mov A, B ;
cjne A, #00h, paresdec ;
movc A, @A+DPTR ;
mov P1, A ;
acall tiempito ;
mov A, 20h ;
cjne A, #00h, paresdec ;
ret
TablaPrimos:
DB 11111111B;
DB 11111110B;
DB 11111101B;
DB 11111100B;
DB 11111011B;
DB 11111010B;
DB 11111001B;6
DB 11111000B;7
DB 11110111B;8
DB 11110110B;9
DB 11110101B;10
DB 11110100B;11
DB 11110011B;12
DB 11110010B;13
DB 11110001B;14
DB 11110000B;15
DB 11101111B;16
DB 11101110B;17
DB 11101101B;18
DB 11101100B;19
DB 11101011B;20
DB 11101010B;
DB 11101001B;
DB 11101000B;
DB 11100111B;
DB 11100110B;
DB 11100101B;
DB 11100100B;
DB 11100011B;
DB 11100010B;
DB 11100001B;30
DB 11100000B;31
DB 11011111B;32
DB 11011110B;33
DB 11011101B;34
DB 11011100B;35
DB 11011011B;36
DB 11011010B;
DB 11011001B;38
DB 11011000B;39
DB 11010111B;40
DB 11010110B;41
DB 11010101B;42
DB 11010100B;43
DB 11010011B;44
DB 11010010B;45
DB 11010001B;
DB 11010000B;
DB 11001111B;
DB 11001110B;
DB 11001101B;50
DB 11001100B;
DB 11001011B;
DB 11001010B;
DB 11001001B;
DB 11001000B;55
DB 11000111B;
DB 11000110B;
DB 11000101B;
DB 11000100B;
DB 11000011B;60
DB 11000010B;
DB 11000001B;
DB 11000000B;
DB 10111111B;
DB 10111110B;65
end
martes, 14 de abril de 2009
De los deseos
Sigue ese camino lleno de mentiras
Oh, si. Eso es lo que deseo de ti
excita mi deseo, desborda mi pasión
Puedes venir cuando quieras
lo siento, me encanta jugar este juego
Por que te ves como una cereza
Y deseo explorarte
lunes, 13 de abril de 2009
miércoles, 8 de abril de 2009
sábado, 4 de abril de 2009
Confeción
Ordenados por las voces rabiosas en mi cabeza
doblegadas por el ser de mi mirada.
Sin ganas de gritar.
Todo llega completamente quieto
no podemos estar tan distantes
mientras la soledad es nombrada
Dulcemente vienes y dulcemente te vas
apareces y desapareces sin voluntad
Perdiendonos entre versos amorosos
Te pareces tanto a mi y eres diferente
que te revuelcas en mi felicidad
blasfemando de Dios
Pero te sigo adorando
No estaremos apatados jamás
Murmurar ahora no sirve de nada
Es el lugar donde los lamentos no tienen nombre
El remordimiento y la redención desaparecen.
Duele estar vivo lejos de lo que se ama
es la mentira que escogimos para los dos
nuestros dulces labios resecos
nuestros cuerpos apartados entre las sabanas
Murmura en mi oído que me amas
vuelveté loco al saber de mi
desborda tu amor sobre el único recuerdo
por que yo no estoy ahí.
blasfemas
Jugando con ensamblador. Que mello!!
Cada que me siento tras una IDE o un editor de textos como emacs o vi, en mi cabeza se invoca la voz de mi amiga Argelia que le reclama a su novio y a mi: Estas como medio obcesionado con la programación. Y como decirles que es mentira.
Normalmente me dedico a programar en java, c, cuando se requiere en sql estandar y de vez en cuando en algo mas como visual o C#, pero no son lenguajes que me llamen la atención. Pero ahora me ha tocado programar en un viejo amigo complemento de C, si, ensamblador, o como le llamamos: Empalador (Pa' los cuates).
Así que me puse a recordar el set de instrucciones para la serie 8086 (i386) de intel. Pero oh sorpresa que me di, pues el micro que usamos es uno viejito, pero lindo. Me refiero al 8051, y por suerte su set de instrucciones es mas simple, pero mas rarito que el complejo set del i386. Pero ya te tome modo y este es el RC1 para uno de mis proyectos.
Con ustedes, el código fuente!!! Aplausos, señores!
Este es un programa que manda por el puerto 1 numeros del 1 al F hexadesimal y hace dos sumas. Usa una tabla en apuntadores.
clr A;
clr C;
mov DPTR, #Tabla ;
mov r3, #0 ;
mov r4, #02 ;
mov 20h, #0Fh ;
mov 30h, #05h ;
mov 31h, #09h ;
mov 32h, #03h ;
;; led's test
acall test ;
NOP ;
acall separador ;
;; Suma
mov A, 30h ;
movc A, @A+DPTR ;
mov P1, A ;
acall tiempito ;
mov A, 32h ;
movc A, @A+DPTR ;
mov P1, A ;
acall tiempito ;
;; separador de suma
acall separador ;
mov A, 30h ;
add A, 32h ;
movc A, @A+DPTR ;
mov P1, A ;
acall Tiempito ;
acall separador ;
;; Suma
mov A, 31h ;
movc A, @A+DPTR ;
mov P1, A ;
acall tiempito ;
mov A, 30h ;
movc A, @A+DPTR ;
acall tiempito ;
;; Sepaarador de suma
acall separador ;
mov A, 31h ;
add A, 30h ;
movc A, @A+DPTR ;
mov P1, A ;
acall tiempito ;
;; tabla
Tabla:
DB 11000000B; 0
DB 11111001B; 1
DB 10100100B; 2
DB 10110000B; 3
DB 10011001B; 4
DB 10010010B; 5
DB 10000010B; 6
DB 11111000B; 7
DB 10000000B; 8
DB 10010000B; 9
DB 10001000B; a
DB 10000011B; b
DB 11000110B; c
DB 10100001B; d
DB 10000110B; e
DB 10001110B; f
;; Rutina de retardo
tiempito:
mov 90h, A;
mov r0, #02;
in1: mov r1, #040h;
in2: mov r2, #090h;
wait: djnz r2, wait;
djnz r1, in2;
djnz r0, in1;
ret;
;; Rutina del test
test: mov A, 20h ;
movc A, @A+DPTR ;
mov P1, A ;
acall tiempito;
mov A, 20h ;
decr: subb A, #01h ;
mov 21h, A ;
movc A, @A+DPTR ;
mov P1, A ;
acall tiempito ;
mov A, 21h ;
jnz decr ;
ret ;
;;Rutina de separador.
separador:
mov A, #0B6h ;
mov P1, A ;
acall tiempito ;
ret