• Reset your password

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log in
Hjem
Linuxin 2025

Breadcrumb

  • Hjem
  • forums
  • [LØST] Assembly: Print to console

Hvad kan du med 100% sikkerhed sige, at du har stemt?

Valgmuligheder
Af marson | 01.12.2010 08:03

[LØST] Assembly: Print to console

Programmering

Hej allesammen.

Jeg har skrevet et assembly program som kan udregne fibonacci tal. Men nu vil jeg gerne have at programmet udskriver tallene til terminalen.



Nogen der ved hvordan man gør, eller kender nogle gode tutorials? Bruger Gnu assembleren og skriver til x86 arkitekturen.

  • Log in to post comments

Kommentarer8

14 år 5 måneder siden

Permalink

Indsendt af Tom_the_ den 1. december 2010 kl. 09:25

Permalink

Hvad med at bruge inline

Hvad med at bruge inline code i c?

  • Log in to post comments

14 år 5 måneder siden

Permalink

Indsendt af jstampe den 1. december 2010 kl. 11:37

Permalink

Systemkald

Her er et eksempel på, hvordan man laver et systemkald til printf:

http://arstechnica.com/phpbb/viewtopic.php?f=20&t=44255

  • Log in to post comments

14 år 5 måneder siden

Permalink

Indsendt af marson den 1. december 2010 kl. 12:27

Permalink

#2
Takker. Kikker lige på

#2

Takker. Kikker lige på det. Vender tilbage hvis jeg ikke kan få det til at virke.

  • Log in to post comments

14 år 5 måneder siden

Permalink

Indsendt af marson den 2. december 2010 kl. 22:28

Permalink

Er nu kommet frem til at

Er nu kommet frem til at bruge inline c code. Jeg laver et kald af printf. Det eneste problem er når jeg linker min object fil, får jeg en undefined reference to `printf'



Hvordan for jeg linkeren (ld) til at kende min c kald?

  • Log in to post comments

14 år 5 måneder siden

Permalink

Indsendt af Tom_the_ den 2. december 2010 kl. 23:56

Permalink

Mangler du ikke at sætte en

Mangler du ikke at sætte en header fil

  • Log in to post comments

14 år 5 måneder siden

Permalink

Indsendt af marson den 3. december 2010 kl. 08:33

Permalink

#5
tror jeg ikke, men min

#5

tror jeg ikke, men min kode ser sådan ud:



.section .data

string: .ascii "Testing\n\0"



.section .text



.globl main



main:

pushl $string

call printf

addl $4,%esp # remove parameters



movl $0, %ebx # exit code 0

movl $1 , %eax # sys_exit

int $0x80





når jeg linker:



marson@isak:~/test$ as main.s -o main.o

marson@isak:~/test$ ld main.o -o main

ld: warning: cannot find entry symbol _start; defaulting to 0000000008048074

main.o: In function `main':

(.text+0x6): undefined reference to `printf'



  • Log in to post comments

14 år 5 måneder siden

Permalink

Indsendt af Tom_the_ den 3. december 2010 kl. 09:07

Permalink

Min tanke med inline code i

Min tanke med inline code i c var som det her:



#include

int main(void)

{

int foo = 10, bar = 15;

asm ("addl %%ebx,%%eax"

:"=a"(foo)

:"a"(foo), "b"(bar)

);

printf("foo+bar=%d\n", foo);

return 0;

}



gem fil som c_asm.c

gcc c_asm.c -o mitprogram.exe

kør program ./mitprogram.exe



Kilde:



http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html

  • Log in to post comments

14 år 5 måneder siden

Permalink

Indsendt af marson den 5. december 2010 kl. 18:59

Permalink

Har fundet løsningen.

Har fundet løsningen. Skulle linke mit program på følgende måde:

ld -I/lib/ld-linux.so.2 main.o -lc



og skulle bruge .globl _start istedet for main.

  • Log in to post comments

Svar søges

Den er go 0
Vil du have et sikrere og mere privat internet? Du skal blot installere Vivaldi-browseren med Proton VPN understøttelse! 0
14. februar = I Love Free Software Day 0
Lokal fil-deling - for de dovne. 0
Linux fra begynder til professionel af O'Reilly 0

Seneste aktivitet

Test 2
2 stk Jolla C2 sælges 1
Det første forumindlæg efter installation af Forum-modulet 8
Vanilla OS 12
Nye forum-indlæg viser sig kun 1 gang 1
Vil alle forumindlæg vise sig to gange 1
Hjælp til remote terminal vindue? 3
PCLinuxOS 19
Kan ikke boote på installation 24
80-20 reglen 1
Skærmlys fader ud på min bærbare 8
32 bit distro på max 700mb der stadig understøttes 26
Har vi nogen Linux konsulenter i Slagelse området? 3
Virkelig 7
gnome-software? 3
Archer T2U AC600 Wireless Dual Band USB Adapter 26
En farverig APT 3.0 udgivelse imponerer med sine nye funktioner 2
Unix's fødsel 2
Linux Mint 13
"Intet realistisk alternativ" - mig i r*ven 1

Copyright © 2025 Company Name - All rights reserved

Developed & Designed by Alaa Haddad