Telegram Group & Telegram Channel
⚡️ Avo — это библиотека и CLI-инструменты, которые позволяют писать ассемблерный код прямо на Go-коде и автоматически генерировать `.s`-файлы + Go-стабы* для вызова этих функций.

Этот необычный инструмент превращает написание высокопроизводительного ассемблера x86 в процесс, похожий на обычную Go-разработку.

Вместо управления регистрами вручную, вы описываете логику на Go-подобном синтаксисе а Avo генерирует оптимизированный ассемблерный код с правильными префиксами.

Проект особенно полезен для криптографии и низкоуровневых оптимизаций.

asm.go:


package main
import . "github.com/mmcloughlin/avo/build"

func main() {
TEXT("Add", NOSPLIT, "func(x, y uint64) uint64")
x := Load(Param("x"), GP64())
y := Load(Param("y"), GP64())
ADDQ(x, y)
Store(y, ReturnIndex(0))
RET()
Generate()
}



*Go-стабы: это Go-файл, который объявляет функцию без реализации, но с правильной сигнатурой, чтобы компилятор понимал, как с ней работать.

GitHub

@golang_google



tg-me.com/Golang_google/2899
Create:
Last Update:

⚡️ Avo — это библиотека и CLI-инструменты, которые позволяют писать ассемблерный код прямо на Go-коде и автоматически генерировать `.s`-файлы + Go-стабы* для вызова этих функций.

Этот необычный инструмент превращает написание высокопроизводительного ассемблера x86 в процесс, похожий на обычную Go-разработку.

Вместо управления регистрами вручную, вы описываете логику на Go-подобном синтаксисе а Avo генерирует оптимизированный ассемблерный код с правильными префиксами.

Проект особенно полезен для криптографии и низкоуровневых оптимизаций.

asm.go:


package main
import . "github.com/mmcloughlin/avo/build"

func main() {
TEXT("Add", NOSPLIT, "func(x, y uint64) uint64")
x := Load(Param("x"), GP64())
y := Load(Param("y"), GP64())
ADDQ(x, y)
Store(y, ReturnIndex(0))
RET()
Generate()
}



*Go-стабы: это Go-файл, который объявляет функцию без реализации, но с правильной сигнатурой, чтобы компилятор понимал, как с ней работать.

GitHub

@golang_google

BY Golang




Share with your friend now:
tg-me.com/Golang_google/2899

View MORE
Open in Telegram


Golang Telegram | DID YOU KNOW?

Date: |

Telegram Gives Up On Crypto Blockchain Project

Durov said on his Telegram channel today that the two and a half year blockchain and crypto project has been put to sleep. Ironically, after leaving Russia because the government wanted his encryption keys to his social media firm, Durov’s cryptocurrency idea lost steam because of a U.S. court. “The technology we created allowed for an open, free, decentralized exchange of value and ideas. TON had the potential to revolutionize how people store and transfer funds and information,” he wrote on his channel. “Unfortunately, a U.S. court stopped TON from happening.”

However, analysts are positive on the stock now. “We have seen a huge downside movement in the stock due to the central electricity regulatory commission’s (CERC) order that seems to be negative from 2014-15 onwards but we cannot take a linear negative view on the stock and further downside movement on the stock is unlikely. Currently stock is underpriced. Investors can bet on it for a longer horizon," said Vivek Gupta, director research at CapitalVia Global Research.

Golang from tr


Telegram Golang
FROM USA