|
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 ... 12 13 [14] 15
326
« en: Martes 28 de Octubre de 2003, 20:55 »
Yo vi el libro "Graficas poderosas con turbo c++" y en un capitulo habla de mouse, en resumen aparte de tener el codigo en c++ para el mouse, tambien habia una tabla donde especificaba las funcioes del mouse, aqui dejo un pequño archivo con algunas funciones hechas en ASM para C, en la red hay muchisima mas informacion.
328
« en: Martes 28 de Octubre de 2003, 20:09 »
puedes buscar informacion sobre las funciones de la "int 21h", por ejemplo la funcion 0ah seria perfecta pero muestra lo que escribes, podrias fucionar la 08h que solo lee un caracter sin mostrarlo en un ciclo y despues usar la 09h para motrar toda la cadena.
329
« en: Martes 28 de Octubre de 2003, 20:03 »
para esa funcion(en DL la unidad ejemplo: DL=3;unidad "C"), a su regreso tendras en AX=#de sectores por agrupamiento, BX=#de agrupamientos libres, CX=#bytes por sector; entoces tendras que multiplicar los contenidos de AX BX y CX y recientendras el espacio libre en disco duro, dependiendo del tamaño del HD si no es muy grande no deberia tener problemas en dar el espacio correcto pero si fuera demaciado grande talves pueda dar datos falsos, yo hice la prueva con un dico de 6GB particionado en 2(a 50%) y me devolvio el espacio correcto en disco(mulpiplicando con calculadora) revisandolo en TurboDebaug los registros. si quieres exibir ese resultado puede ser un poco mas complicado pero en anteriores oprtunidades deje algunos ejemlos para la exibicion de numeros.
330
« en: Lunes 27 de Octubre de 2003, 02:20 »
en assembler se utiliza normalmente una interrupcion que en este caso seria la "int 10h", reciviendo distitos paramentros en los registros de proposito general se obtendra un servicio, por ejemplo para cmabiar el modo de video se debe colocar an el registro AH=0 y en AL el tipo de modo de pantalla, siendo texto o grafico. para los detalles puedes buscar el la red hay mucha infromacion. ;;******************** mov ah,0 mov al,12h int 10h ;;********* con esas instruciones se cambia a un modo de video grafico de 16 colores de 640x480pixels
331
« en: Domingo 26 de Octubre de 2003, 04:13 »
Aunque ese es mi sueño, mis conocimientos no abastecen como para lograrlo y me cuesta seguir aprendiendo aunque un insentivo podria bastar
332
« en: Domingo 26 de Octubre de 2003, 04:11 »
ESTOY COMPLETAMENTE DE ACUERDO(solo en assembler), ya estoy en la parte del BOOT pero eso no es nada, pero es un comienzo!!!!!!!(pero soy muy vago) Pero ese ha sido mi mayor objetivo desde que aprendi he hice mis primeros programas en assembler!!!!!!!!!!!!!!!!
333
« en: Domingo 26 de Octubre de 2003, 04:07 »
de lo que mas he escuhado al respecto serian interfaces con dispositivos externos, pero eso se puede reducir en utilizar puertos, no se me ocurre por el momento algos mas interesante en programacion y con hardware.
334
« en: Domingo 26 de Octubre de 2003, 04:05 »
Primero: que tipo de dato utilizas o como defines tu matriz????????
335
« en: Miércoles 22 de Octubre de 2003, 21:45 »
tu programa funciona con una imprsora con puerto paralelo, no compilaba bien y le cambie solo el formato: ;;;;;;******************************** .model small .stack 100
.data msg db 'introduce caracteres','$' buff1 db 80 buff2 db ? ;longitud del buffer de entrada char db 80 dup (' '),'$' blank db ' ' nprint dw 26 ;linea limite de la salida de entrada
.code
inicio:
mov ax,_data mov ds,ax
mov ah,6 mov al,0 mov cx,0 mov dh,23 mov dl,79 mov bh,7 int 10h
mov ah,2 mov dl,0ah int 21h
mov ah,2 mov dl,0dh int 21h
lea dx,msg mov ah,9 int 21h
mov ah,2 mov dl,0ah int 21h
mov ah,2 mov dl,0dh int 21h
lea dx,buff1 mov ah,10 int 21h
mov cx,10 mov bh,0 mov bl,buff2 mov si,bx lea bx,char mov ah,blank
mov byte ptr [bx+si],ah
d01: mov ah,9 lea dx,char int 21h loop d01
mov dx,0 mov ah,1 int 17h
mov si,1 d03: lea bx,char mov di,0 mov ah,0 mov al,buff2 mov cx,ax d02: mov ah,5 mov dl,byte ptr [bx+di] inc di int 21h loop d02
mov ah,5 mov dl,0ah int 21h mov ah,5 mov dl,0dh int 21h inc si cmp si,nprint jb d03
mov ah,4ch int 21h
end inicio ;;******************************** ;;compilado con TASM
336
« en: Miércoles 22 de Octubre de 2003, 03:37 »
Por que sucede eso???
337
« en: Miércoles 22 de Octubre de 2003, 00:59 »
Eso es muy cierto, para el ejemplo existe un error la division sebeser por 10h(hexa). De todos modos el principal problema serai que el divisor en muy pequeño con respecto al dividendo y el resultado debe ir a una word, por lo tanto sugiero hacer la division por partes, osea que si tienens la long la dividas en un parte alta(Word_H) y otra baja(word_L) dividas una a la ves y luego busques una forma para unir el resultado, vere la forma de hacer esto otro rato aver que mas se puede aportar.
338
« en: Domingo 19 de Octubre de 2003, 02:52 »
MMmmmmmmmm, haber esto: //////////////////////////////////////////////////////
int serie[100];/// aqui estara la serie serie[0] = 0;//vlores iniciales serie[1] = 1; for (int i = 2; i < 100; i++) serie = serie[i - 1] + serie[i - 2]; //formula n(i)=n(i-1) + n(i-2) ////////////////////////////////////////////
funciona???
339
« en: Sábado 18 de Octubre de 2003, 06:18 »
La verdad puesto con esas condiciones no es nada facil, almenos para mi. viendo tu ejemplo el programa termina porque el resultado es mucho mayor a lo que puede entrar en 16bits(AX) ahi es donde se produce el primer error(desbordamiento), para el ejemplo una solucion sencilla(por ser el divisor 10) conociendo el resultado se sabe que la alteracion del divisor mantendra una mismalinea del numero en su totalidad o dicho de otra forma, los digitos no cambiaran sino que se hara una "sustraccion" del digito menos significativo, entoces siguiendo esa idea puede dividirse por separado primero la parte baja y luego la parte alta por el mimo divisor debiendo tener el cuidado correspondiente en cada caso por ejemplo:
;;;*********************** mov dx,0262h ; parte alta H mov ax,06522h ; parte baja L mov bx,10;_____divisor push dx ;salvamos parte H xor dx,dx ;se prepara para div bx ;la sig division mov cx,ax ;se salva la parte L xor dx,dx pop ax ;desempilamos H div bx ; se divide xchg ax,dx;son eso esta listo H shl ax,12 ;el resto de la H pasa or ax,cx ;a ser el digito + signifi ;de L ;;;***************************** esta solcion(no provada) no es buena para generalizarla porque depende del divisor que es 10, pero espero que por lo menos se entienda la idea; tratando de explicar la idea para una forma mas general seria dividir los numeros a ser operados de 32bit en 16bits para su manejo en los registros de 8086, para esto se debe tener todas las condiciones que significara dividir cada numero dependiendo de la operacion que se vaya a efectuar sobre este, siendo la misma operacion la que la determine estos pasos a seguir en cada proceso.
340
« en: Sábado 18 de Octubre de 2003, 05:46 »
".....no hay de queso no mas de papa"
341
« en: Sábado 18 de Octubre de 2003, 05:44 »
Gracias!!!
342
« en: Jueves 16 de Octubre de 2003, 07:14 »
en modo texto ó grafico??
343
« en: Jueves 16 de Octubre de 2003, 07:13 »
creo que te servira la int 11h
344
« en: Jueves 16 de Octubre de 2003, 07:13 »
que restriciones tiene el programa???
345
« en: Jueves 16 de Octubre de 2003, 07:07 »
el programa parece muy bueno tengo que provarlo
346
« en: Jueves 16 de Octubre de 2003, 07:03 »
es muy buena la pagina sobre ese asunto
347
« en: Jueves 16 de Octubre de 2003, 07:01 »
hay version PDF????????
348
« en: Jueves 16 de Octubre de 2003, 06:58 »
la int 11h, es la que necesitas
349
« en: Jueves 16 de Octubre de 2003, 06:53 »
la int 13h, de la bios creo que es la que necesitas
350
« en: Jueves 16 de Octubre de 2003, 06:52 »
a que te referes con memoria externa?
Páginas: 1 ... 12 13 [14] 15
|
|
|