viernes, 24 de abril de 2009

entre

Comienzo por mi para terminar tarde entre mis sabanas 
 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.

Sigo mi pecado, sigo sin nombre
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

Después de pelearme un poco con este programa debido a los errores de dedo que tengo, ya quedo mi programa de numeros primos escrito en ensamblador para el procesador 8051. Así que sin mas demoras, les presentamos al código!!!

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

Hey... mantente fuera de esto
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

En esta epoca de cuaresma...

Nada como pagar por nuestras acciones.

sábado, 4 de abril de 2009

Confeción

Mis manos escriben como esclavos hambrientos
 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