# Assemblersprog

### Fra Wikipedia, den frie encyklopædi

Assembler(sprog/kode) er et 2. niveau programmeringssprog.

I praksis er det bare en symbolsk måde at skrive maskinkode på, eventuelt kombineret med et simpelt makrosystem. Oversættelsen fra assemblersprog til maskinkode varetages af en assembler. Da sproget afhænger af cpu'en, taler man eksempelvist om x86-assembler, ppc-assembler, etc. Assemblersprogets muligheder er også afhængigt af, hvilket styresystem, der bruges.

Den primære fordel ved assembler er at man kan lave hardwarenære optimeringer, der ikke er mulige i andre sprog. Ulempen er at det er besværligt at skrive.

Typisk skrives selve programmet i et højniveau sprog, og hvis det derefter er nødvendigt kan kritiske dele omskrives i assembler. Det er også nødvendigt at benytte assembler til visse dele af kernen i et styresystem.

## [redigér] To slags instruktioner

Assemblersproget omfatter to typer instruktioner. Der er de instruktioner, der direkte oversættes til maskinkode og der er pseudoinstruktioner, som fortæller assembleren, hvordan koden overordnet skal laves. Man bruger blandt andet pseudoinstruktioner til at definere, hvilke funktioner og variabler, der skal udstilles for andre moduler.

## [redigér] Eksempel

Et Hello world-program skrevet i GNU-assembler til Intels CPUer kunne se sådan ud:

    # Simpelt Hello world! program

    .data
    msg:
            .string "Hello world!\n" # Meddelelse, der skal vises
    len = . - msg # Længden på beskeden

    .text
    .global _start # ld bruger denne label som start
    _start:
            # Vis besked
            xorl    %eax,%eax       # Ryd eax
            movb    $4,%al
            xorl    %ebx,%ebx
            incb    %bl             # bx = 1
            movl    $msg,%ecx
            xorl    %edx,%edx
            movb    $len,%dl
            int     $0x80           # Alt i Linux sker via INT 80H

            # Afslut med returkode 0
            xorl    %eax,%eax
            incb    %al
            xorl    %ebx,%ebx
            int     $0x80

Hentet fra "http://da.wikipedia.org../../../a/s/s/Assemblersprog.html"

Kategorier: Kodninger | Programmeringssprog

##### Views

- Artikel
- Diskussion
- Nuværende version

##### Søg

##### Andre sprog

- Български
- Bosanski
- Česky
- Deutsch
- English
- Esperanto
- Español
- Eesti
- Suomi
- Français
- עברית
- Hrvatski
- Magyar
- Íslenska
- Italiano
- 日本語
- 한국어
- Latviešu
- Norsk (bokmål)
- Português
- Русский
- Slovenščina
- Српски / Srpski
- ไทย
- 中文