![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Gracias a todos
creo que con esto y las preguntitas que le voy haciendo a cadetill va que chuta ![]()
__________________
:) |
|
#3
|
||||
|
||||
así se programa en ensamblador desde delphi?? se meten sentencias de esamblador?? como va eso?.Gracias román.
__________________
:) |
|
#4
|
||||
|
||||
|
Mira este ejemplo:
Código:
implementation
{$R *.DFM}
function Base10(Base2:Integer) : Integer; assembler;
asm
cmp eax,100000000 // check upper limit
jb @1 // ok
mov eax,-1 // error flag
jmp @exit // exit with -1
@1:
push ebx // save registers
push esi
xor esi,esi // result = 0
mov ebx,10 // diveder base 10
mov ecx,8 // 8 nibbles (10^8-1)
@2:
mov edx,0 // clear remainder
div ebx // eax DIV 10, edx mod 10
add esi,edx // result = result + remainder[i]
ror esi,4 // shift nibble
loop @2 // loop for all 8 nibbles
mov eax,esi // function result
pop esi // restore registers
pop ebx
@exit:
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage(InTtostr(base10(41)));
end;
__________________
Guía de Estilo de los Foros Cita:
|
|
#5
|
||||
|
||||
|
Cita:
(no coloco el link porq no lo encuentro )
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
|
#7
|
||||
|
||||
|
Ahora entiendo porque cadetill escribe menos. ¿Cómo se le hace para pedir cita con él? Yo también quiero asesoría.
![]() |
|
#8
|
|||
|
|||
|
Cita:
![]() |
|
#9
|
||||
|
||||
|
Cita:
De todos modos, cualquier duda seria que tenga no dudo en ponerla en el foro si al cabo de los 5 min. no encuentro solución en Internet.
__________________
:) |
|
#10
|
||||
|
||||
|
Por cierto, me había olividado responder a los demás. Probaré el código y ya os contaré. Muchísmas gracias.
__________________
:) |
|
#12
|
||||
|
||||
|
A título de aclaración verás que el lenguaje es un tanto críptico se trata de códigos mnemónicos que denotan que el lenguaje es de bajo nivel.
Código:
cmp eax,100000000 // check upper limit jb @1 // ok mov eax,-1 // error flag jmp @exit jb------>Jump if borrow mov---->mover es decir colocar un valor en un registro. jmp----->Jump salto incondicional parecido al GOTO del Basic. Com verás procede hacerse con un manual con ejemplos y el juego de instrucciones del procesador en cuestión, yo aún conservo muchos libros pero ya desfasados pues éstos eran para las familias 8086-88-286-386. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|