169 похожих чатов

Всем привет, как можно получить количество символов в строке в

Fasm x86?

24 ответов

28 просмотров

scasb

Str db “fasm”,0 ;строка .sizeof = $ - str ; размер Размер в байтах без учета завершающего нуля

The Bird of Hermes
Но только для статика.

Наверное , я пока не знаю

s54820
А куда ноль девается?

Не знаю, но я читал, что он не учитывается

Alexey
Не знаю, но я читал, что он не учитывается

Он стрленом не учитывается, а тут простая арифметика.

$ показывает текущий адрес https://metanit.com/assembler/nasm/3.3.php

Alexey
Не знаю, но я читал, что он не учитывается

Никуда не девается, все учитывается.

.- Автор вопроса
s54820
А куда ноль девается?

Может, отчет с 0 начинается и потом ноль заверщающий уравновешивает Типо fasm,0 01234

Alexey
Может, отчет с 0 начинается и потом ноль заверщающ...

Нет никакого отсчёта. Размер вычисляется за счёт арифметики указателей

The Bird of Hermes
Нет никакого отсчёта. Размер вычисляется за счёт а...

То есть разница байта с которого начинается строка, и которым заканчивается?

Dimmu
нулевого?

Символ $ указывает на текущий адрес. Нет, не нулевого, а того, который после нулевого

.
а если не статик

Не совсем понимаю, что Вы подразумеваете под «динамикой» Но repe scasb выглядит неплохо

Alexey
Не совсем понимаю, что Вы подразумеваете под «дина...

Динамика значит строка находится в динамической памяти или поступает функции как аргумент, например, и на этапе компиляции длину строки вычислить невозможно

Alexey
Не совсем понимаю, что Вы подразумеваете под «дина...

Под динамикой имеется в виду реализация функции strlen. А $-str это то же самое, что написал в исходном коде строку, и посчитал пальцем сколько букв. Только фасм немного в этом помог

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта