Test Foro de elhacker.net SMF 2.1

Programación => Programación General => ASM => Mensaje iniciado por: soez en 18 Julio 2010, 02:08 AM

Título: Pregunta
Publicado por: soez en 18 Julio 2010, 02:08 AM
Cual es la diferencia del codigo de 16 bits con el de 32 bits? Este codigo que presento ya lo he intentao sacar varias veces y no me sale de ninguna manera, por lo que me dicen lo declaro con 32 bits (cabecera) pero el codigo es de 16 bits, me podeis echar una mano para hacerlo en 32 bits? con esto hecho ya puedo coger la idea y seguir ampliando. Saludos

Código (asm) [Seleccionar]
.386                             
.model flat, stdcall 
option casemap :none
;32 bits

.stack

.data

saludo   db "Hola mundo!!!$"

.code

start:

mov   ax, data
mov   ds, ax           
mov   ah, 09         
lea   dx, saludo 
int   21h               
;mensaje en pantalla

mov   ah, 4ch           
int   21h               
;termina programa

end start
Título: Re: Pregunta
Publicado por: nicolas_cof en 18 Julio 2010, 08:14 AM
soez, estas usando registros de 16 y 8 bits

Registros de 32 bits EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP, EIP
Registros de 16 bits AX, BX, CX, DX, SI, DI, BP, SP, IP
Registros de 8 bits AL, AH, BL, BH, CL, CH, DL, DH (H para High, L para Low)

Salu10.
Título: Re: Pregunta
Publicado por: Eternal Idol en 18 Julio 2010, 10:15 AM
Depende para que podes usar registros de 8 y 16 en modo protegido perfectamente, igual este codigo es para MS-DOS ya que usa los servicios del mismo (int 21h) y esos estan disponibles solo en modo real (16 bits).
Título: Re: Pregunta
Publicado por: soez en 18 Julio 2010, 17:43 PM
Cita de: Eternal Idol en 18 Julio 2010, 10:15 AM
Depende para que podes usar registros de 8 y 16 en modo protegido perfectamente, igual este codigo es para MS-DOS ya que usa los servicios del mismo (int 21h) y esos estan disponibles solo en modo real (16 bits).


Gracias por la aclaracion  :-*  , usando otra interrupcion se pueden hacer programas en modo consola no? o me equivoco?
Título: Re: Pregunta
Publicado por: Eternal Idol en 18 Julio 2010, 17:58 PM
¿Para Windows decis? Con su API directamente ...