figasm64/README.md

39 lines
1.4 KiB
Markdown
Raw Normal View History

2020-07-01 00:47:13 +02:00
# figASM
2020-11-26 20:40:26 +01:00
`figasm x86_64` è una semplice port in Assembly del celebre [figa](github.com/crisbal/kslf.git), celebre pacchetto per Arch Linux, una volta disponibile nella AUR ma bannato dal mantenitore @il\_muflone per comprensibili ragioni politically correct:
2020-07-01 00:47:13 +02:00
![](https://i.imgur.com/1TQXOgX.png)
Ad ogni modo, i più grandi fan di `figa` si sono prontamente forkati il repo, pronti a ripubblicare `figa` sulla AUR, eccetto che il maestro @il\_muflone disse:
![](https://i.imgur.com/P8er7Uw.png)
![](https://i.imgur.com/GFcVpPD.png)
Ma noi non lo pensavamo. A ben vedere, neanche lui stesso lo pensava:
![](https://i.imgur.com/PgENsLm.png)
Questa volta, invece, il profeta @il\_muflone ci vide giusto. Perché la `figa` avrebbe fatto il suo ritorno di botto. Ma questa volta in pieno stile arch: nessun lentissimo script interpretato. Tutto Assembly. Nativo. Super ottimizzato per l'unica architettura supportata da Arch Linux, ossia x86\_64.
2020-11-26 20:37:30 +01:00
Ma anche il venerando @chic\_luke si sbagliava, perché la `figasm` era scritto per x86. Questo vuol dire che non è veramente ottimizzato per x86\_64, qui sono arrivato io.
2020-11-26 20:40:26 +01:00
## Perché dovrei usare `figasm x86_64` anziché `figa x86`?
2020-07-01 00:47:13 +02:00
Perché la matematica non è un'opinione e i numeri parlano chiaro:
2020-11-26 20:37:30 +01:00
![](https://i.imgur.com/PZQVmv1.png)
2020-07-01 00:47:13 +02:00
2020-11-26 20:40:26 +01:00
# Come faccio a compilare `figasm x86_64` da sorgente?
2020-07-01 00:47:13 +02:00
```bash
as -o figa.o figa.s
ld -o figa figa.o
```
2020-07-01 00:57:46 +02:00
O, più semplicemente:
```bash
make
```