Ensamblador - While en Ensamblador

 
Vista:
sin imagen de perfil

While en Ensamblador

Publicado por Erick (1 intervención) el 11/05/2020 03:27:28
Hola tal vez alguien me puede compartir un codigo en ensamblador emu8086 donde se utilice un equivalente al ciclo while o do while
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

While en Ensamblador

Publicado por Nacho (81 intervenciones) el 11/05/2020 11:51:48
En 32 bits, pero es lo mismo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
for (int i = 0; i < 10; i++) int a = i;
00391E68  mov         dword ptr [ebp-8],0
00391E6F  jmp         main+3Ah (0391E7Ah)
00391E71  mov         eax,dword ptr [ebp-8]
00391E74  add         eax,1
00391E77  mov         dword ptr [ebp-8],eax
00391E7A  cmp         dword ptr [ebp-8],0Ah
00391E7E  jge         main+48h (0391E88h)
00391E80  mov         eax,dword ptr [ebp-8]
00391E83  mov         dword ptr [ebp-14h],eax
00391E86  jmp         main+31h (0391E71h)
 
    int i=0;
00391E88  mov         dword ptr [i],0
    do
    {
        int a = i;
00391E8F  mov         eax,dword ptr [i]
00391E92  mov         dword ptr [ebp-2Ch],eax
        i++;
00391E95  mov         eax,dword ptr [i]
00391E98  add         eax,1
00391E9B  mov         dword ptr [i],eax
    } while (i < 10);


La única diferencia entre un if y un while es que con un if se realizan comprobaciones antes de ejecutar un código, mientras que con un while se ejecuta código y luego se hacen comprobaciones.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar