Как запустить ассемблерный код в FASM - PullRequest
0 голосов
/ 07 февраля 2011

Здравствуйте, я скачал FASM для запуска кода сборки.

Мне нужно написать небольшую программу, подобную этой

Sum: 
push %ebp
movl %esp, %ebp
movl 8(%ebp), %ecx 
movl 12(%ebp), %edx
xorl %eax, %eax 
testl %edx, %edx 
je .L34 

.L35: 
addl (%ecx), %eax 
addl $4, %ecx 
decl %edx 
jnz .L35 

.L34: 
movl %ebp, %esp 
popl %ebp 
ret 

Проблема в том, что я не уверен, как запустить его в FASM, нужно ли мне что-то включать или что-то включать? Мой компьютер 64-битный, и когда я что-то компилирую, он выдает ошибку, но если я импортирую один из примеров, он работает нормально., ..

Спасибо за вашу помощь

Привет

1 Ответ

2 голосов
/ 07 февраля 2011

fasm не поддерживает синтаксис AT & T.Возможно, с некоторыми сложными макросами было бы возможно добавить такую ​​поддержку, но ни один из включенных в комплект включений не обеспечит эту функцию.

Вам нужно будет добавить дополнительный код и указать формат, пожалуйста, обратитесь круководство, ниже я только переведу ваш код:

Sum: 
push ebp
mov  ebp, esp
mov  ecx, [ebp + 8]
mov  edx, [ebp + 12]
xor  eax, eax 
test edx, edx 
je   .L34 

.L35: 
add  eax, [ecx]
add  ecx, 4
dec  edx 
jnz  .L35 

.L34: 
mov  esp, ebp
pop  ebp 
ret 
...