Примери на 64-битов Асемблер за 15 системи от машинни команди, достъп по SSH

По-долу са дадени листинги на асемблерни подпрограми (обществено достояние) за 15 системи от машинни команди (СМК), алгоритмите им на C (могат да варират за всяка СМК според свойствата ѝ) и изходните им текстове за x64 с тестовите програми. Членовете на този форум могат да получат достъп по SSH до машини със СМК в получер шрифт за самостоятелно разучаване на тези или други примери с помощта на GCC, GAS и пълноекранен дебъгер. (Тези в курсив поддържат и 32-битов код.)

  1. S/390x
  2. AMD64/x64
  3. ARM64
  4. ARC64
  5. PPC64
  6. SPARC64
  7. MIPS64
  8. RISCV64
  9. LoongArch64
  10. Alpha AXP
  11. MMIX
  12. PA-RISC 2.0
  13. TILE-Gx
  14. IA64/Itanium
  15. E2K/Эльбрус

64-bit assembly language examples for 15 instruction set architectures, SSH access

Listings of assembly language subroutines (public domain) for 15 instruction set architectures (ISA), their algorithms in C (may vary for each ISA depending on its features) and their source code for x64 with the test routines are given below. The members of this forum can get SSH access to machines with ISAs in boldface for studying these or other examples using GCC, GAS and a full-screen debugger by themselves. (Those in italics support 32-bit code too.)

  • Listings (comments translated in GAS sources on request; 2nd table: instruction count, 3rd: byte count)
  • Source code for x64/UASM with the test routines (35 KB)
  • Home page of the author <
Ден
Day
Алгоритъм
Algorithm
Т е м а
T o p i c
M700

2 hello.c "Здравей, свят!" (Linux, Solaris/FreeBSD, NetBSD, macOS, Windows)"Hello, world!" (Linux®, Solaris®/FreeBSD®, NetBSD®, macOS®, Windows®)
3 umul128.c линеен (за някои СМК) алгоритъм linear (for some ISA) algorithm
4 absd128.c разклонен алгоритъм branched algorithm
5 sqrt128.c цикличен алгоритъм loop algorithm
lcmult.c съчетание между цикличен и разклонен алгоритъмgcdivis.s)loop and branched algorithm combination (with gcdivis.s)
6 nsamebit.c обработка на битове bitwise operations
bitr128.c обработка на битове bitwise operations
8 ucnvrf.c анализ на непозната програма unknown programme analysis
9 sequence.c адресация на паметта и работа с масиви memory addressing and array processing
srch128.c адресация на паметта и работа с масиви memory addressing and array processing
10 binsrch.c адресация на паметта и работа с масиви memory addressing and array processing
inssort.c адресация на паметта и работа с масиви memory addressing and array processing
11 heapSort.c адресация на паметта и работа с масиви + извикване на функция memory addressing and array processing + function call
12 getvlq.c работа с низове (поредици) от байтове byte string processing
putvlq.c работа с низове (поредици) от байтове byte string processing
14 getipstr.c работа със символни низове character string processing
putipstr.c работа със символни низове character string processing
15 getmacst.c работа със символни низове character string processing
putmacst.c работа със символни низове character string processing
16 udiv128.c многоразредни изчисления multiple-bit processing
udiv256.c многоразредни изчисления multiple-bit processing