public static void main(String[] args) {
int a = 0;
for (int i = 0; i < 20; i++) {
if (i < 10) {
a++;
} else {
a--;
}
}
System.out.println(a);
System.exit(0);
}
Ceci est le code que je vais traduire en code d'assemblage. Je pense que ive a réussi à faire tout sauf le system.out.println (a);Comment traduire javas "out.println" en assemblage? Sans utiliser printf
J'ai essayé presque tout, avec toutes sortes d'entrées à l'appel sys_write. Je ne suis pas autorisé à utiliser l'impression f, mais plutôt utiliser la commande mov. Ceci est le code que j'ai en ce moment:
cr equ 13
ld equ 10
STDOUT equ 1
SYS_WRITE equ 4
section .bss
a resb 1
section .text
global _start
_start:
mov [a], byte 0
mov [a],ax
start_for:
cmp cx,20
jge slutt_for
cmp cx,10
jge else
inc ax
jmp slutt_if
else:
dec ax
slutt_if:
inc cx
jmp start_for
slutt_for:
mov ecx,eax ; This is where I need help
add ecx,'0'
mov eax,4
mov edx,5
mov ebx,1
int 80h ; End where I need help
mov eax,1
int 80h
Il est censé fonctionner dans le débogueur que j'accès avec gdb -tui nom, mais rien ne sort. Le reste du code fait ce qu'il est censé faire, mais pas l'impression. J'ai presque tout essayé. Aidez-moi?
[Bonjour tout le monde dans asm 32 bits] (http://www.ithania.com/asm/001/32_nasm/index.html) et [Bonjour tout le monde en 64 -bit asm] (http://www.ithania.com/asm/001/64_nasm/index.html). –