Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - danielo-

#91
ASM / Liberar puerto paralelo en ensamblador
7 Noviembre 2010, 05:30 AM
Alguien sabe como desbloquear el puerto paralelo para utilizarlo en asm? lo e utilizado en c y en java, pero esta vez toca hacerlo en asm y segun tengo entendido esta bloqueado el puerto....
Una ayudadita porfa :)
#92
ASM / Como pasar un registro a una cadena de texto?
1 Noviembre 2010, 16:28 PM
Hola, de nuevo aqui preguntando  :-\ y es acerca de imprimir un valor almacenado en un registro, como ya se habran dado cuenta estoy piojo en asm, y pues resulta que quiero imprimir el valor de un registro, pero no encuentro como :(, es decir, yo tengo el numero 300 almacenado en ax, y quisiera que al imprimirlo me aparezca 300, como ustedes sabrán, cuando lo mando a imprimir (mando imprimir ah y luego al) y me aparece su correspondiente ascii (una carita y una coma) como hago la conversion para que me imprima el 300?
#93
ASM / Re: Crear un delay en asm
1 Noviembre 2010, 16:21 PM
 :D
mi formar de hacerlo fue la siguiente:

Código (asm) [Seleccionar]

init5:
mov ah,2ch  ;dh=segundos
int 21h

mov bh, dh ;bh=segundos
add dh, 3  ; esto para modificar los segundos
mov bl, dh ;bl=segundos +5

cmp bl,60
ja mayor
jmp cinco

cinco:
cmp bl, bh
jne uno
jmp losdos

uno:
mov ah,2ch
int 21h
mov bh, dh ;aora bh=segundos
jmp cinco
mayor:
sub bl,60
jmp cinco



conste que se poco de ensamblador jeje
#94
ASM / Crear un delay en asm
29 Octubre 2010, 04:49 AM
Hola a todos, estoy tratando de hacer un pequeño retardo de unos segundos (de 5 a 10 ) en ensamblador, y lo intente haciendo un ciclo, pero resulta que el retardo es muy pequeño, alguien sabe como hacerlo que tarde 5 o más segundos?...
Aqui les dejo el codigo.

Código (asm) [Seleccionar]

pila segment stack "STACK"
pila ends

data segment
data ends

code segment

assume cs:code,ds:data,ss:pila
inicio:
mov dl,01010000b ; para imprimir 1
mov ah,02h ;para imprimir 1
int 21h ;para imprimir 1

;uno:
;cmp dl,57
;ja sub dl 1

mov  bx, 65000
cinco:
cmp bx, -65000
ja uno
jna dos

;mov dl,00010000b ; para imprimir 1
;mov ah,02h ;para imprimir 1
;int 21h
uno:
;mov dl,10000000b ; para imprimir 1
sub  bx,1
mov dl, 'a' ; para imprimir 1
mov ah,02h ;para imprimir 1
int 21h
jmp cinco

dos:
mov dl, 'b' ; para imprimir 1
mov ah,02h ;para imprimir 1
int 21h


MOV AX, 4C00h  ;halt    dos dice que es la terminacion del programa
INT 21h  ;;int rebisa lo que esta en 21h.
                 ;es la interrupcion de pantalla con la funcion 4c que es la de hald

code ends

end inicio
#95
Electrónica / Manipular leds por puerto serial
17 Octubre 2010, 17:15 PM
Hola a toda la comunidad, necesito de sus ayudas en algo que no comprendo, y es acerca del puerto serial, resulta que me han marcado de tarea realizar un circuito que controle 4 leds mediante el puerto serial, pero la duda que me a surgido es ¿como lograr esto? Es decir, por el puerto paralelo seria facil, pues tengo a mi disposicion 8 pines de salida facilmente manipulables para conseguir esto, pero ¿como podria lograr esto  utilizando el puerto serial que solo  tiene una salida de datos? no entiendo, ojala que alguien pudiera ayudarme.
#96
ASM / Re: Envio de datos por el puerto serial
16 Octubre 2010, 23:21 PM
MMM...si, ya se que eso es lo que necesito, pero es que no lo e logrado hacer funcionar, y no entiendo porque,

ahora que e leido un poco mas, le entiendo un poco mas, y ahi va de nuevo mi codigo, a ver si me pueden ayudar
-
Código (asm) [Seleccionar]


code segment

assume cs:code,ds:data,ss:pila
inicio:
                                ; esto es para iniciar el puerto
mov AH,00h ;    aki inicio el puerto
mov AL, 0E7h ;paramertos de puerto, esto es correcto???
mov DX,00h ;= # de puerto osea el com1

                                ;y esto para mandar un caracter
MOV AH,01; funcion 01h-enviando un caracter al COM
MOV AL, 52; caracter a ser enviado 
INT 14

code ends
end inicio


si alguien sabe de esto, agradeceria que me ayudara ;)
#97
ASM / Envio de datos por el puerto serial
16 Octubre 2010, 19:26 PM
Hola a todos, necesito que me ayuden con el envio de datos por el puerto serial, solo quiero enviar una palabra a través de este puero, pero hasta aorita no e consegguido hacerlo (soy novato en asm)
en fin, utilizo tasm para programar y hasta ahorita esto llevo:


Código (asm) [Seleccionar]

pila segment stack "STACK"

pila ends

data segment

data ends

code segment

assume cs:code,ds:data,ss:pila
inicio:
                mov ah,0   ;servicio 00 de INT 14h: inicializar puerto 
;mov al,83 ;configuración: 1200 baudios, no paridad,      ;un bit de parada, 8 bits de datos   
mov dx,00 ;Seleccionar puerto COM1 
mov al,32
int 14        ;interrupción del BIOS   
mov ah,4ch ;servicio 4ch de INT 21h: terminar   
int 21        ;interrupción servicio del DOS hald

MOV AX, 4C00h  ;halt    dos dice que es la terminacion del programa
INT 21h  ;;int rebisa lo que esta en 21h.

code ends
end inicio



mm...lo descargue de internet, pero no e logrado hacer funcionar, lo estoy checando con el hyperterminal de otra computadora, y los datos no se estan transmitiendo, espero puedan ayudarme con esto..
Gracias de antemano
#98
Hola a todos, tengo una duda acerca del puerto serial, tengo como trabajo mover un robotito utilizando lenguaje ensamblador, ya e manipulado antes el puerto serial, pero utilizando java y lo e utilizado para el envio de caracteres...entonces mi duda es,

si yo quiero enviar un pulso de  5 volts que se mantenga constante por unos segundos por el puerto serial entonces ¿bastará con enviar un caracter cualquiera durante los segundos que yo quiera?

Es decir, me lo imagino asi:
meter dentro de un ciclo el envio de una letra (enviando asi el púlso)
y cuando yo quiera cortarle, simplemente salir del ciclo???

¿o no es asi?

Espero que alguien sepa responderme
#99
ASM / Ayuda con este ejercicio
11 Octubre 2010, 01:18 AM
Hola a todos, ya habia querido antes iniciarme en ensamblador, y esta vez me toca a a la fuerza aprender, pues llevo esta materia :s jaja.. como sea, nos han marcado de tarea un pequeño programa que lea del teclado 4 numeros del 1 al 15 y meterlos en una pila, pero en forma de hexadecimal, es decir que yo pueda ingresar 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f y lo unico que tiene que hacer el programa es devolverme el valor real, es decir, si meto a que me devuelva 10, b->11, c->12 y asi sucesivamente.

Se que debería ser sencillo, pero esque no se nada de ensamblador :(, hasta ahorita llevo la entrada y el almacenaje en pila, planeaba que al momento de hacer el pop hiciera la conversion, pero no e podido !  :( :( :( a ver si agluien me ayuda, hasta aorita esto es lo que tengo:

Código (asm) [Seleccionar]

pila segment stack "STACK"
dw 4 DUP(0)
pila ends

data segment
data ends

code segment

assume cs:code,ds:data,ss:pila
inicio:
mov ax, data    ;un db es una palabra de 16 its
mov ds, ax     ;//cargar el segmento de codigo en memoria

MOV     AH,01h ;Le meto 1 a ah para que meta en al
INT     21h ;Espera el teclado
mov ah,0h ;limpio ah
push ax ;lo meto en la pila

MOV     AH,01h
INT     21h
mov ah,0h
push ax

MOV     AH,01h
INT     21h
mov ah,0h
push ax

MOV     AH,01h
INT     21h
mov ah,0h
push ax

;lo hice 4 veces, y ahora a hacer el pop
;POP
pop ax                 ;Y ya no se que mas hacer!
cmp    ax,'a'          ; una comparacion talvez?
jz salt                    ; asi se hace la comparacion?

salt proc near        ;pero que  pasa si no es una a?
sub al,31h              ; como ponerle el else ???? (o algo asi)
mov dl,al
mov ah,02h
int 21h
salt endp

MOV AX, 4C00h  ;halt    dos dice que es la terminacion del programa
INT 21h  ;;int rebisa lo que esta en 21h.
                ;es la interrupcion de pantalla con la funcion 4c que es la de hald


code ends
end inicio
; que perdido estoy,ayudenme :(


EI: juntando mensajes.

Ninguna idea?
Ya estoy cerca de terminar, pero a ver si me resuelven esta duda,
yo realizo una comparacion con cmp, si es igual a la cadena, hago el salto a una etiqueta con el je y si no es igual salto hacia otra etiqueta con el jne, pero ahora, el problema esque como esta una etiqueta detras de otra, pues me hace el proceso seguido, ya se que estoy haciendo algo mal, pues no deberia suceder esto, pero esque no se como indicarle que despues de realizar la etiqueta vuelva a la linea de donde salto  :-\, intente hacerlo con call y proc, pero esque no me deja poner je call procedimiento :S ayuden a este novato porfa
#100
Java / Re: Escuchar Microfono
7 Octubre 2010, 01:16 AM
El problema esque no lo reproduce al mismo tiempo, es decir grabo y luego reproduzco, y necesito que conforme hable se valla escuchando en los parlantes  :rolleyes: