Программирование на ассемблере под X64, как?

Модератор: Модераторы разделов

Аватара пользователя
anterior
Сообщения: 266
ОС: Debian amd64

Программирование на ассемблере под X64, как?

Сообщение anterior »

Здравствуйте, помогите пожалуйста, дайте совет (или ссылку ;) как программировать на асме под 64битный проц? У меня есть книга по этому языку но там описывается только программирование под x86, в инете я ничего толком тоже и не нашел. Вот например пример Hello World из книги компилироваться не захотел:

Код: Выделить всё

    .text
    .globl main
main:
    pushl $message
    call puts
    popl %ebx
    ret

    .data
message:
    .string "Hello, World\"

> as -o hello.o hello.s
hello.s: Assembler messages:
hello.s:4: Error: suffix or operands invalid for `push'
hello.s:6: Error: suffix or operands invalid for `pop'

Может быть pushq, popq подумал я:

Код: Выделить всё

    .text
    .globl main
main:
    pushq $message
    call puts
    popq %ebx
    ret
    .data
message:
    .string "Hello, World\"

А нет и она не компилируется:
> as -o hello.o hello.s
hello.s: Assembler messages:
hello.s:6: Error: suffix or operands invalid for `pop'

Потом методом извращений, я написал подобную прогу на Си, и отккомпилил ее с параметром -save-temps, проанализировав полученный исходный код hello.s сделал вот это:

Код: Выделить всё

    .text
    .globl main
main:
    movl $message, %edi
    call puts
    ret

    .data
message:
    .string "Hello, World!"


Какие отличия в программировании на асме под x86 и x86_64?
Спасибо сказали:
Аватара пользователя
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux

Re: Программирование на ассемблере под X64, как?

Сообщение Voice »

В Инете где-то была стаття Касперского про про ИА64, и там было про асм.
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
Спасибо сказали:
Аватара пользователя
Gloomy
Сообщения: 340
Статус: сочувствующий

Re: Программирование на ассемблере под X64, как?

Сообщение Gloomy »

Статья про ассемблер под архитектуру x86-64

Voice писал(а):
24.04.2007 16:16
стаття Касперского
Не Касперского, а Касперки. Карл Спермский - это тот кто делает вид, что разрабатывает нечто, которое потом имеет наглость называть "антивирус" (и даже считать что это антивирус, и полагать что это антивирус, и думать что это антивирус, и т.д.).
Спасибо сказали: