Tesla4o
@Tesla4o
Без пользы жизнь - безвременная смерть... В. Гете

Как на ассемблере написать функцию const cahr* to hex компилятор NASM?

Хочу замерить время выполнения кода преобразования СИ строки в хекс через ассемблер.
Есть файл serialize.h в нем вызывается глобальная функция из hexconvert.asm
extern "C" {
    const char* hex(const char* data);
}

в файле ассемблера:

[bits 64]

global hex

section .text

hex:
        pusha
        ...


так как не знаю ассемблера прошу помощи как конвертировать либо ткнуть носом в литературу, гуглил много.
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ответы на вопрос 1
@andk
Вообще, время замеряется таймером...
Не очень понимаю, причём тут эта функция.
Инициализируете таймер.
Вызываете интересующую функцию.
После останавливаете и анализируете таймер.

У вас указана функция, принимающая на вход указатель на char(байт) и возвращающая указатель на char(байт).
Вам необходимо найти соглашение о передаче параметров в / из функцию применительно к вашей системе.
В дос/виндовс - https://docs.microsoft.com/ru-ru/cpp/cpp/argument-...
или https://ru.wikipedia.org/wiki/Соглашение_о_вызове
Тогда станет понятно, с какими регистрами/операндами работать в ассемблере.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
18 мая 2021, в 23:22
40000 руб./за проект
18 мая 2021, в 22:58
1000 руб./за проект
18 мая 2021, в 22:41
7000 руб./за проект