• Jueves 2 de Mayo de 2024, 05:51

Mostrar Mensajes

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 - underworlddv

Páginas: 1 [2]
26
C/C++ / Re: Manejo De Interrupciones
« en: Jueves 12 de Junio de 2008, 23:23 »
pues eso yo diria q es ms fasil en ensamblador   :P.. pero igual se ah de poder en
c++ ... pues busca en google "voctor de interrupciones" y ahy seguro encuentras el listado de todas las interrupciones... o si de pura cageta encuentras en internet el libro de peter abel de ... lenguage c para IBM i compatibles ahy tambien viene... y seguro en muchos libros mas de ensamblador¡¡

pss orale... por cierto.. comparte el codigo para trabajar con interrupciones en c++ no¡?... no seas gacho :´p ¡¡¡

27
Programación Lógica / Re: Laberinto En Prolog
« en: Sábado 15 de Diciembre de 2007, 04:18 »
EN OTRAS PALABRAS... N 1 RATITO LIBRE Q TENGAN

"ME HACEN MI TAREA¿?¿?¿?".....

¬¬'

28
Programación Lógica / Re: Como Preguntar En Un Programa En Prolog
« en: Sábado 15 de Diciembre de 2007, 04:05 »
a que te refieres con preguntarle¿?

29
GNU/Linux / Re: Distribuciones De Gnu/linux
« en: Miércoles 12 de Diciembre de 2007, 01:51 »
alguien sabe donde encontrar mandriva de 32 bits en cd¿?¿?¿?

mushas grax

30
ASM (Ensamblador) / Re: ¡¡¡ Programa Residete (hola Mundo) ¡¡¡
« en: Viernes 23 de Noviembre de 2007, 23:00 »
pues ahora tngo otro problema....

el ejemplo anterior... lo ejecute

y hice otro programa q solo llamara a la int3 y listo... le doy MASM y LINK
lo ejecuto y todo sale como devria
....


pro... lo volvi a intentar pero ahora con la int 05H ( print screen )....

y no sirve,,,,,....... ni siquiera haciendo otro programa q llame a la int05h¡¡¡



de echo intente el de la int03 (break point )

y pues enteoria se supone q si pulsaba "pause" en mi teclado... saldria el mensaje hola mundo... pro nada¡¡¡¡¡


puse una int 01 para q se detuviera cuando mostrara el mensaje... pero nada de nada

.... no c pq no funciona apretando pausa... y si con el programa q llama a la int03


:S:S:S

31
ASM (Ensamblador) / Crear Archivo Funcion 3c, Int 21h
« en: Viernes 23 de Noviembre de 2007, 03:10 »
tngo un problema con este codigo.... es para crear una archivo

no muestra errores al darle con el MASM... lo puedo ligar  con LINK y ejecutar....
.. "pero en el codigo imprimo el contenido de AL que contiene la informacion sobre si hay errores o no "..... bueno.. pues en el codigo mando a imprimir AL... y me muestra el error 5 "acceso negado".... alguien podria ayudarme¿?¿?¿?¿


seguro es una tonteria el error... pro pues es la primera vez q trato de crear un archivo-......

alguien podria ayudarme.... ¿?¿?¿?¿?
AQUI ESTA EL CODIGO:



;------------------------------------------------------crear archivo----------

pila segment para stack 'stack'
db 128 dup (?)
pila ends

datos segment para 'data'

Path db 'C:\archivo.txt','0'
datos ends

codigo segment para 'code'
assume cs:codigo,ss:pila,ds:datos

      principal proc far
                push ds
                mov ax,00
                push ax
                mov ax,datos
                mov ds,ax


mov ah,3ch
mov ch,00h
lea dx,path
int 21h



mov ah,02h ;muestra si hay error¡¡¡¡    3 ruta no encontrada, 4 no hay handles disponibles
;para asignar y 5 acceso negado.
mov dl,al
add dl,30h
int 21h

      


               ret
       principal endp
codigo ends

end principal
[/color]

32
ASM (Ensamblador) / Re: ¡¡¡ Programa Residete (hola Mundo) ¡¡¡
« en: Viernes 23 de Noviembre de 2007, 01:00 »
....  PUES EFECTIVAMNT.... CMO BN YA DESIA.... ESTA MAL....

Y DE Q MANERA JAJAJAJAJAJA.... AYER ME PUSE A REVISARLO EN LA NOCHE .. PUES OVIO NO C PUEDE PONER LA INSTRUCCION LEA DXOFFSET MIPROY  , PORQ LA INTRUCCION LEA OBTIENE EL OFFSET DE DESPLAZAMIENTO DE MIPROY...JIJIJIJ... Q BABOSO ME VI.......  


PERO BNO... AQUI ESTA EL CODIGO CORREGIDO:





pila segment para stack 'stack' ; -----------------segmento de pila-------------------------------
db 128 dup (?)
pila ends ;----------------------------------------fin del segmento de pila-----------------------





datos segment para 'data' ; -----------------------segmento de datos------------------------------

mens db ' Hola mundo ','$'

dib label dword ; para respaldar int 03h
        x dw 0
        y dw 0

datos ends ; ----------------------------------segmento de  datos fin-----------------------------





codigo segment para 'code' ;-----------------------------segmento de codigo-----------------------
assume cs:codigo,ss:pila,ds:datos

      principal proc far
                push ds
                mov ax,00
                push ax
                mov ax,datos
                mov ds,ax



mov ah,35h  ;respalda la int 03h en (x,y)
mov al,03h    
int 21h
mov y,bx
mov x,es





mov ax, cs ; escribe en AX el segmento donde se encuentra el programa llamado "miproy"
mov dS, ax ; pone ese valor en DS (un registro de segmento y no en DX)
lea dx,miproy ; instala la interrupcion nueva ¡¡¡¡¡
mov ah,25h
mov al,03h
int 21h



; -----------------ojo si quieres regresar la int de tipo 3 a la normalidad
; utiliza x,y en los q hicimos el respaldo y utiliza el mismo proceso
;q utilizo para instalar el programa residente, y utiliza la int 01h o 08h
; de la int 21 antes para detener el programa y verificar que funcione
; ..... o simplemente resetea la computadora y automaticamente regesa a la
; normalidad el vector de interrpciones....

ret

principal endp;--------------------------------       principal       --------------------------------

       






miproy proc near; ---------------------residente en memoria -----------------------------------------
sti

;pushf
push ax
push bx
push cx
push dx
push sp
push bp
push si
push di
push ds
push es
push ss

;--------------------------------------------proyecto codigo--------------------------------
;         AQUI ES DONDE VA EL PROGRAMA RESIDENTE EN MEMORIA
;----------------------------------------------------------------------------------------------


LEA DX,MENS
MOV AH,09H
INT 21H


;----------------------------------------------------------------------------------------------
;----------------------------------------fin proyecto codigo--------------------------------pop ss
pop es
pop ds
pop di
pop si
pop bp
pop sp
pop dx
pop cx
pop bx
pop ax


iret
miproy endp ;----------------------------fin-residente de memoria----------------------




codigo ends ;--------------------------------fin segmento de codigo---------------------
end principal

33
ASM (Ensamblador) / ¡¡¡ Programa Residete (hola Mundo) ¡¡¡
« en: Jueves 22 de Noviembre de 2007, 03:36 »
q hay... estoy intentando hacer un programa residente simple....
q intercambie la interrupcion del tipo 3 (break point)...

por un programa simplemente q muestre un letrero "hola mundo"....

claro... el programa q todos buscan cuando de programas residentes se trata¡¡¡

(mi archivo se llama prue)

pero al hacer esto en dos               [B]masm prue.asm;[/B] me sale el siguiente error en la linea 32 del codigo

prue.asm(32): error a2056: immediate model illegal

.... la cual es este linea....  lea dx,offset miproy


.... este es el codigo entero:    .....( aun no pongo todos los push y pop's que van dentro de el programa que sera residente "miproy")




;-------------------------------programa residente------------------------------------


pila segment para stack 'stack'
db 128 dup (?)
pila ends


datos segment para 'data'

mens db 'hola mundo','$'


dib label dword
        x dw 0
        y dw 0

datos ends


codigo segment para 'code'
assume cs:codigo,ss:pila,ds:datos

      principal proc far
                push ds
                mov ax,00
                push ax
                mov ax,datos
                mov ds,ax
mov ah,35h
mov al,03h     ; asi o con h
int 21h

mov y,bx
mov x,es


lea dx,offset miproy  ;AQUI ESTA EL ERROE QUE ME MUESTRA MASM ¿?¿?¿?¿
mov ah,25h
mov al,03h
int 21h


ret

principal endp
;--------------------------------------------------------------------------

       
miproy proc near
sti
        mov ah,09h
   lea dx,mens
        int 21h


iret
miproy endp



codigo ends
end principal


;------------------------------------fin programa residente--------------------------

Páginas: 1 [2]