|
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
26
« en: Jueves 12 de Junio de 2008, 23:23 »
pues eso yo diria q es ms fasil en ensamblador .. 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
« en: Sábado 15 de Diciembre de 2007, 04:18 »
EN OTRAS PALABRAS... N 1 RATITO LIBRE Q TENGAN
"ME HACEN MI TAREA¿?¿?¿?".....
¬¬'
28
« en: Sábado 15 de Diciembre de 2007, 04:05 »
a que te refieres con preguntarle¿?
29
« en: Miércoles 12 de Diciembre de 2007, 01:51 »
alguien sabe donde encontrar mandriva de 32 bits en cd¿?¿?¿?
mushas grax
30
« 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
« 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
« 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
« 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--------------------------
|
|
|