elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
08 Septiembre 2008, 19:34  



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General (Moderadores: Hendriҳ, E0N)
| | |-+  Ensamblador as86
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Ensamblador as86  (Leído 235 veces)
germandc

Desconectado Desconectado

Mensajes: 30



Ver Perfil WWW
Ensamblador as86
« en: 15 Marzo 2008, 17:01 »

Buenas, tengo una pregunta, yo estoy aprendiendo a programar en ensamblador y habia arrancado con TASM, pero un codigo que encontre esta en as86 y cuando trato de pasarlo a TASM, algunas partes no me andan. El codigo es este:

entry start
start:
      mov ax,#0xb800
      mov es,ax
      seg es
      mov
  • ,#0x41
      seg es
      mov [1],#0x1f
loop1: jmp loop1
--------------------------
LOC1=0x500

entry start
start:
        mov ax,#LOC1
        mov es,ax
        mov bx,#0

        mov dl,#0
        mov dh,#0
        mov ch,#0
        mov cl,#2
        mov al,#1

        mov ah,#2

        int 0x13

        jmpi 0,#LOC1

Si alguien me podria hacer el favor de modificarlos para que compile con TASM le agradeceria, ya que no me sale.

Gracias, Chau
En línea
Meta

Desconectado Desconectado

Mensajes: 943


Ver Perfil
Re: Ensamblador as86
« Respuesta #1 en: 16 Marzo 2008, 17:32 »

Si pierdes el tiempo con asm, piérdelo con los PIC.
En línea

Meta Shell, VERSIÓN 1.2.2, Hecho con Visual C# .net Express (Gratuito)
Descargar
Eternal Idol N&P

Desconectado Desconectado

Mensajes: 1.288


Assembly (x86/x64), C/C++, Kernel Mode (WDM/WDF)


Ver Perfil WWW
Re: Ensamblador as86
« Respuesta #2 en: 16 Marzo 2008, 22:46 »

¿Sabes para que es eso y como usarlo?

Son dos binarios diferentes, el segundo actua como cargador del primero - mediante el servicio 2h de la interrupcion 13h - y tienen que estar escritos en el primer y segundo sector - de un diskette - respectivamente para funcionar.

http://www.ctyme.com/intr/rb-0607.htm

El segundo programa manda cargar un sector (al=1,cl=2) en memoria (es:bx=0500h:0000h) y salta a esa direccion de memoria dando paso al codigo del primer binario.

El primero lo unico que hace es escribir el caracter 'A' (41h) directamente en el area de memoria de video (B800) con un estilo especifico (1Fh, letra amarilla blanca fondo azul). Despues salta indefinidamente sobre la etiqueta loop1.

http://www.xs4all.nl/~smit/asm02001.htm


¿Todavia te interesa esto? Yo NO uso TASM sino MASM pero segun creo recordar TASM soporta la sintaxis de MASM.

¿Que problemas tenes especificamente para ensamblar? El jmp final del segundo binario puede ser uno de ellos - MASM no permite hacer saltos con gran libertad -, asi lo podes solucionar:

Código:
goLoaded equ DB 0EAh, 0h, 0h, 0h, 05h
goLoaded ;jmp 0500h:0000h

El resto del segundo binario es bastante simple de adaptar, cambiando la notacion hexadecimal alcanza. Para el primero podes usar algo asi por ejemplo:

Código:
xor bx, bx
mov byte ptr es:[bx], 041h
inc bx
mov byte ptr es:[bx], 01fh

Lo demas no deberia dar ningun error y finalmente como te dije antes tenes que escribirlos en un diskette (el primer binario en el segundo sector y el segundo en el primero).

PD. Como siempre un gran aporte el tuyo Meta.
« Última modificación: 16 Marzo 2008, 22:55 por Eternal Idol » En línea

be closely tied to
(v.) = estar estrechamente ligado a
Ex: He had been wrapped up in a new project that was closely tied to the company's new growth.

"La economia nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de este"
Juan Domingo Peron
germandc

Desconectado Desconectado

Mensajes: 30



Ver Perfil WWW
Re: Ensamblador as86
« Respuesta #3 en: 17 Marzo 2008, 20:21 »

Holas, gracias Eternal Idol por la ayuda ya lo compile y funciono bien, voy a tratar de seguir aprendiendo un poco de ASM.
Meta, muy complicado eso por el momento, recien toy empezando con ASM.

CHAU Y GRACIAS POR LA AYUDA.
En línea
Eternal Idol N&P

Desconectado Desconectado

Mensajes: 1.288


Assembly (x86/x64), C/C++, Kernel Mode (WDM/WDF)


Ver Perfil WWW
Re: Ensamblador as86
« Respuesta #4 en: 17 Marzo 2008, 20:35 »

De nadas  ::)
En línea

be closely tied to
(v.) = estar estrechamente ligado a
Ex: He had been wrapped up in a new project that was closely tied to the company's new growth.

"La economia nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de este"
Juan Domingo Peron
Páginas: [1] Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC