x86_64 Assemblée Appel Système Linux Confusion

Je suis actuellement en apprentissage de la langue de l'Assembly sur Linux. J'ai été en utilisant le livre "Programmation à Partir de la base" et tous les exemples sont en 32 bits. Mon OS est en 64 bits et j'ai essayé de le faire tous les exemples en 64 bits. J'ai de la difficulté cependant:

.section .data

.section .text
.global _start
_start:
movq $60, %rax
movq $2, %rbx
int $0x80

Ce juste des appels à Linux, la sortie de l'appel Système ou il faut. Au lieu de cela, il provoque un SEG FAULT et quand je au lieu de faire ce

.section .data

.section .text
.global _start
_start:
movq $1, %rax
movq $2, %rbx
int $0x80

il fonctionne. Clairement le problème, c'est la valeur que j' %rax. La valeur $1 que j'utilise dans le deuxième exemple est ce que la Programmation à Partir de la base", a déclaré à utiliser plusieurs sources sur Internet, ont dit que le Système 64 bits Numéro d'Appel est de 60$. Référence
Ce que je fais mal? Aussi ce que les autres questions dois-je faire attention et que dois-je utiliser pour une référence? Juste au cas où vous avez besoin de savoir, je suis sur le Chapitre 5 de la Programmation à Partir Du Sol.

OriginalL'auteur Hudson Worden | 2011-12-14