Asembler x86/Łączenie z językami wysokiego poziomu/Moduły w języku C: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
printf -> puts |
błąd przy arytmetyce adresów, nie stawia się tutaj znaku $ |
||
Linia 28:
zadeklarowaliśmy funkcję w C linkowaną statycznie
extern unsigned int mystrlen(const char*); , zatem:
%EBP
*/
Linia 37:
mystrlen:
pushl %ebp
movl %esp,%ebp
movb
xorl %ecx,%ecx
cld
petla:
xorl %eax,%eax
incl %ecx
orl %eax,%eax
jnz petla
decl %ecx
movl %ecx,%eax
movl %ebp,%esp
popl %ebp
ret
</source>
|