Necesito un buen libro para comenzar a aprender ARMv8 Assembly, ¿alguna sugerencia?

Todavía no he visto un libro v8, a excepción de la guía del programador publicada por ARM Holdings (Centro de información de ARM). Este libro es bastante completo, pero no es un libro introductorio. Si ya conoce el ensamblaje ARM de 32 bits, entonces debería poder aprender el ensamblaje de 64 bits muy rápidamente. Los conjuntos de instrucciones y los operandos son bastante similares. Entonces, si ya eres competente con ARMv7 y versiones anteriores, puedes usar la Guía del programador de ARM.

Si nunca ha realizado ningún ensamblaje ARM, le recomiendo que primero aprenda el ensamblaje del brazo de 32 bits y luego continúe con el conjunto de instrucciones de 64 bits. ARM es uno de los lenguajes de ensamblaje más fáciles de aprender, por lo que hacerlo de esta manera probablemente sea aún más fácil / rápido que aprender ensamblaje x86 comenzando sin conocimiento previo.

Estoy trabajando en una segunda edición de mi libro que incluirá dos nuevos capítulos sobre el ensamblaje v8 (entre otros capítulos nuevos, mejoras y correcciones). Pasarán al menos dos años antes de que se publique. Estoy seguro de que hay otros que también están trabajando en libros ARMv8, pero aún no he visto ninguno impreso. Si nunca ha programado ARM, hay varios libros para elegir. La mayoría de ellos usan el ensamblador Kiel o ARM, y asumen que estás haciendo un ensamblaje cruzado en una PC. Mi libro usa las herramientas de GNU y asume que está haciendo ensamblaje nativo bajo Linux en un sistema ARM. Creo que es único en ese sentido.

Buena suerte, y me encantaría saber sobre tus experiencias mientras aprendes.

Todavía no hay muchos libros disponibles para ARMv8 .; pero si encuentras uno por favor avísame. Actualmente utilizo la Descripción general del conjunto de instrucciones ARMv8 ( https://www.element14.com/commun …); que me ha servido bien

Quizás lo primero que necesitará saber es que no hay push and pop como ARMv7. No estás haciendo estallar pares. La alineación ahora es SP mod 16 = 0

// push2
.macro push2, xreg1, xreg2
stp \ xreg1, \ xreg2, [sp, # -16]!
.endm
// pop2

.macro pop2, xreg1, xreg2
ldp \ xreg1, \ xreg2, [sp], # 16
.endm

// salida
.macro _exit
mov x8, # 93 // salir de ver /usr/include/asm-generic/unistd.h
svc 0
.endm

Procedimiento Llame al estándar para la arquitectura ARM de 64 bits http://infocenter.arm.com/help/t

Portado a ARM de 64 bits http://malideveloper.arm.com/dow

Organización y diseño de computadoras: Interfaz de software de hardware: Edición ARM (Serie Morgan Kaufmann en Arquitectura y diseño de computadoras): David A. Patterson, John L. Hennessy: 9780128017333: Amazon.com: Libros