|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - Super_G
Páginas: 1 [2] 3 4 ... 15
26
« en: Domingo 24 de Abril de 2005, 04:55 »
bueno yo hago todo eso que quieres hacer `precisamente con el TD de Borland sin ningun problema, podrias decirme como cargas el programa a "Debugear" (.com); yo uso la version que viene con el TASM 2.0; en paltaforma DOS al ejecutar el TD, cuando quiero cargar un porgama por defecto esata para cargar un .EXE solo cambio a .COM y busco el programa, despues lo cargo y todo bien.
27
« en: Domingo 24 de Abril de 2005, 04:49 »
para no poner la bios.mac puse las macros que usa el programa al final del mismo; asi que si pone slas macros en el encabezado sustituyendo por el el include... no deberias tener problemas.
28
« en: Miércoles 20 de Abril de 2005, 02:43 »
un ejemplo muy conocido: pantalla equ 0b800h .model tiny .code include bdos.mac org 100h inicio: jmp instalar se_g dw 0 des dw 0 hora db 8 dup('?') reloj proc cli push ax push bx push cx push dx push si push di push ds push es ;;***************** mov ax,40h mov es,ax mov si,6ch mov ax,es:[si] mov dx,es:[si+2] mov bx,32761 div bx shr ax,1 ;;******* jnc p0 add dx,bx p0: mov ch,al mov ax,dx mov dx,0 mov bx,1092 div bx mov cl,al mov ax,dx mov dx,0 mov bx,18 div bx mov dh,al ;;****** mov bh,10 mov ah,0 mov al,ch div bh add ax,3030h mov word ptr hora,ax mov hora+2,':' mov ah,0 mov al,cl div bh add ax,3030h mov word ptr hora+3,ax mov hora+5,':' mov ah,0 mov al,dh div bh add ax,3030h mov word ptr hora+6,ax mov hora+8,':' mov ah,0 mov al,dl div bh add ax,3030h mov word ptr hora+9,ax ;;********************************* mov ax,pantalla mov es,ax mov di,2*(80-length hora) mov cx,length hora mov si,0 mover: mov al,hora[si] mov es:[di],al inc di mov byte ptr es:[di],07h inc si inc di loop mover fin: pop es pop ds pop di pop si pop dx pop cx pop bx pop ax sti iret reloj endp instalar: GET_INT 1ch,se_g,des SET_INT 1ch,,reloj TSR_COM<offset instalar-offset inicio+100h> ;;fin: int 20h end inicio GET_INT macro n,s,o ifnb <n> mov al,n endif mov ah,35h int 21h ifnb <s> mov s,ES endif ifnb <o> mov o,BX endif endm SET_INT macro n,s,o ifnb <n> mov al,n endif ifnb <s> mov DS,s endif ifnb <o> mov DX,offset o endif mov ah,25h int 21h endm TSR_COM macro etq,c mov dx,( etq-1)/16+1 ifnb <c> mov al,c endif mov ah,31h int 21h endm
29
« en: Miércoles 20 de Abril de 2005, 02:16 »
para desplegar el simbolo es facil, solo lo desplegas y ya; para ver su equivalente ascii lo muestras por partes
ejemplo '\' = 92 mov al,92 mov ah,2 int 21h ; desplegado el simbolo '\' mov bl,10 xor ah,ah div bl mov bh,ah mov ah,2 add al,48 int 21h ; desplega '9' xchg al,bh add al,48 int 21h ; desplega '2'
30
« en: Domingo 17 de Abril de 2005, 04:28 »
para hacer eso a mi me sirve esta funcion: void SET_CUR (unsigned char fila,unsigned char columna)//pociciona { asm mov dh,fila // el cursor(teclado) asm mov dl,columna asm xor bh,bh asm mov ah,2 asm int 10h }
funciona.
31
« en: Domingo 17 de Abril de 2005, 04:26 »
Puedes hacerlo usando las primeras funciones de la INT 21H
32
« en: Domingo 17 de Abril de 2005, 04:24 »
..."no haty d equeso no'mas de papa"
33
« en: Domingo 17 de Abril de 2005, 04:22 »
no se si pueda responder bien a todas tus preguntas pero lo intentare, y si me equevoco espero que alguin me corrija.
1º ( esta no esta facil) Lo que deberia tranferir(copiar) es la palabra de 2 Bytes (no recuerdo bien el orden) en byte que esta en la direccion de memoria 0324H se "copia" a AH , el byte de 0325H a AL.
2º Byte Ptr indica que cantidad se mueve, en este caso dice "Byte" movera un byte a AL; de la direcion de memoria que resultara la suma d elos contednidos de BX + SI y el literal 30H; es decir si BX=4H, SI = 2H la direcion sera: 36H.
3º No, mueve directamente el valor de 0FFA1H, que podria ser una direccion d ememoria o un dato pero d emomento es solo un numero en hexa,bin, y deci.
4º En teoria("abstracta") sumaria el contenido d ela posicion de memoria 0FFA1H y con 0324H
5º 005E para el caso NET AX
[]referencia a la pocisicon de memoria
MOV [BX], 100h mueve el valor de 100h a la localidad de meroria cuya direccion esta en el contenido del registro BX. y MOV BX,100h mueve el valor de 100H al contenico del registro BX (BX=100h)
me parece que tus dudas tienen que ver con meoria
Cuando tu dices [BX] te refieres a la posicion de memoria que esta dada por BX [200h] se refuiere a la posicion d ememoria 200H en ambas en contenido de sta memoria no esta especificado pero se puede recuperan o modificar con las anterirores referencias no es lo mismo decir:
MOV BX, 2 que decir MOV [BX],2 en el primero mueve 2 al registro BX; en el segundo mueve 2 a la direcicon d ememoria apuntada por BX
tampoco es lo msimo decir
mov al,[200h] que mov al.200h
en el primero mueves el contenido de la direccion dememoria q
34
« en: Domingo 17 de Abril de 2005, 03:32 »
para lo del ciclo con "n" puedes usar a la instruccion LOOP y poner en CX el numero de ciclos o letras mov cx,n ciclo: . . loop ciclo
ahora el ejemplo anterior trabaja sobre memoria y el resultado se queda en la misma direccion de memoria.
35
« en: Jueves 14 de Abril de 2005, 18:44 »
Como recupero Graficos de una base de datos a un reporte con PHP, no se si alguin me puede ayudar con cualquier ejemplo en cualquier bade de datos que haya teniedoa alguna experiencia similar, Gracias.
36
« en: Jueves 14 de Abril de 2005, 18:42 »
en si el movimiento es a la direcion de memoria apuntada por SI (u otro apuntador como DI,BX) y de "tamaño" fijo como un byte, en DX normalmente para usar instrucciones epeciales o interrupciones que usan por defecto a DX y no otro registro y asi deberia ser para esos casos ya que DX es el "registro de datos" pero para trabajar con elementos de una cadena se usa SI o DI.
37
« en: Jueves 14 de Abril de 2005, 18:37 »
no se si funciona en WINDOWS pero en DOS: usando la funcion 43h de la in 21h: mov ah,43h mov al,1 mov cx,01;sololectura ;;02 archivo oculto ;;04 de sistema mov dx,offset nombrearchivo int 21h
38
« en: Miércoles 13 de Abril de 2005, 02:30 »
comparando: si tu lista es de este tipo cadena db 'fkjklsuionajkk' mov si,offset cadena mov di,si+1 ciclo: mov al,[di] cmp [si],al jb next1;;hacendente o descendente mov ah,[si] mov [si],al mov [di],ah next1: inc si inc di jmp ciclo
algo asi....Falta el control para el ciclo.
39
« en: Viernes 8 de Abril de 2005, 04:28 »
La dicvisin entre 10 en un ciclo asi puedes seprar unidades decenas centenas....
el problema es que si tu tienes o no disponible como instruccion la division DIV si no la tienes hay que buscar alguna forma; si usa un PIC de la gama media; me contaron y lei tambien el foro de solocodigo de microcontroaldores; que la microchip tenia librerias para hacer divisiones y en general operacones matematicas; tendrias que buscar en librerias "MATH" en microchip. y si usa otro micro fijate si notien e esa instrucion o si proveen alguna solucion para este tipo de problemas.
40
« en: Miércoles 6 de Abril de 2005, 02:41 »
Que raro ami no me sale ningun error.
41
« en: Lunes 4 de Abril de 2005, 02:22 »
si has compilado el archivo(eje:miarchivo.asm)
tasm miarchivo.asm
y no tiene errores(genera el .OBJ) entoces solo falta enlazar con el TLINK.exe
tlink miarchivo.obj
y si esta todo bien debuelve el ejecutable
42
« en: Lunes 4 de Abril de 2005, 02:18 »
Haciendole algunos arreglos .model tiny .code ORG 100H ;directiva org con 100 bytes. inicia el segmento de carga del programa ;section .data ;section .text start: ;Punto de entrada del programa MOV DX, offset mensage1 MOV AH, 09;Despliega el primer mensage. INT 21H ;Llama función del DOS. MOV AH, 01;Lee el teclado para el primer numero. INT 21H MOV BL, AL ;Mueve el dato almacenado a AH sub BL,48 MOV DX, offset mensage2 MOV AH, 09;Despliega el segundo mensage. INT 21H ;Llama función del DOS. MOV AH, 01;Lee el teclado para el segundo numero. INT 21H ;Llama función del DOS. sub AL,48 ADD AL, BL ;Suma AH y AL XOR AH, AH mov bh ,10 ;separo las unidades de las decenas div bh xchg ah,al ; intercambio las unidades con las decenas ;AAA MOV DX, AX ;el resto continua igual MOV AH, 0EH OR DH, 30H MOV AL, DH ;creo que estas tres lineas convierten a ASCII pero no se como funcionan bien? INT 10H OR DL, 30H MOV AL, DL INT 10H int 20h mensage1 db 'Introduce primer numero : ', '$' ;db = dato de 1 byte. mensage2 db 'Introduce segundo numero: ', '$' ;RET END start
compilado con TASM
43
« en: Viernes 1 de Abril de 2005, 19:12 »
Gracias; pero ¿cual API debo usar? nose si tines informacion de que funciones de la API me permitirian hacer este manejo del USB
44
« en: Viernes 1 de Abril de 2005, 04:11 »
http://board.flatassembler.net/en esta dir hay un compilador de asembler el fasm y tiene el codigo fuente nose si te sirva
45
« en: Viernes 1 de Abril de 2005, 04:01 »
bueno par alo del ciclo infinito simplemente cambias la posicion de "jmp comenzar" lo pones antes del finalizar el programa antes de :
MOV AH,4Ch INT 21h
y listo para el error no lo reconosco ¿que compilador usas y que linkeador? yo use el tasm y el tlink
46
« en: Jueves 31 de Marzo de 2005, 04:29 »
Muchas gracias por responderme!!!!!
47
« en: Jueves 31 de Marzo de 2005, 04:22 »
Compilando,tu programa, con TASM me sale que 1º debo poner el modelo de memoria, que de declaro con MODEL no MODE, tambien algo notorio es que despues de declarar el segmento de codigo "declaras" cadena y eso no es codigo el JMP debe estar antes de esa declaracion. eso lo mas resaltante. haciendo las correcciones dichas tenemos: .MODEL SMALL .STACK ;;JMP comenzar .DATA cadena DB 'Hola Mundo$' .CODE comenzar: mov ax,_data ;;segmento de datos mov ds,ax MOV DX, OFFSET cadena MOV AH,9h INT 21h MOV AH,4Ch INT 21h ;JMP comenzar ;no se toma en cuanta el programa ;ya termino END comenzar
y funciona!!
48
« en: Jueves 31 de Marzo de 2005, 04:05 »
Modelo para un EXE(DOS): .model small ;Anular el siguiente comentario cuando se usen caracteristicas del 386 ; .386 ;Anular el siguiente comentario cuando se usen caracteristicas del coprocesador ; .387 .stack 100 .data ; Colocar aqui los datos db .code inicio: mov ax,_data mov ds,ax ; Escribir aqui el programa mov ah,4ch int 21h end inicio
49
« en: Miércoles 30 de Marzo de 2005, 20:01 »
Hola a todos
¿Existe alguna forma de manejar el puerto USB para hacer comunicacion? por decir para conectar 2 maquinas y transferir datos, o para comunicación con un dispositivo externo como algun microcontrolador, una comunicacion sencilla. ¿de que manera puedo manejar USB?; como con el RS232 por ejemplo, tengo la direccion de puerto y despues veo que se necesita para hacer la comunicación o si el Lenguaje tiene alguna facilidad la uso.
GRACIAS!!!
50
« en: Miércoles 30 de Marzo de 2005, 19:53 »
Hola a todos
¿Existe alguna forma de manejar el puerto USB para hacer comunicacion? por decir para conectar 2 maquinas y transferir datos, o para comunicación con un dispositivo externo como algun microcontrolador, una comunicacion sencilla. ¿de que manera puedo manejar USB?; como con el RS232 por ejemplo, tengo la direccion de puerto y despues veo que se necesita para hacer la comunicación o si el Lenguaje tiene alguna facilidad la uso.
GRACIAS!!!
Páginas: 1 [2] 3 4 ... 15
|
|
|