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

Как вам идея сделать ассемблер с наполовину-сишным синтаксисом? типа, блин,

я не совсем правильно выразилась, сейчас пример кода скину

78 ответов

16 просмотров

C-- уже есть, не надо такого "хорошего" языка

Вот пример: #format elf64 executable // example macro #macro return rval { mov rax, rval mov rsp, rbp pop rbp ret } #global _start #extern print #section .text _start: // comments like in C, and prepcommands like in C, follows "#" mov rsp, -7 // set up the stack. u can not to define opsize if it can be calculated push 0 // u can define opsize by adding it's letter in end of operation. /* opsizes: * ...b - byte * ...w - word * ...d - dword * ...p - pword/fword * ...q - qword * ...t - tword */ call main add rsp, 8 // clear stack mov rbx, rax // status code from `main' return mov rax, 0 // sysfn int 0x80 // syscall main: push rbp add rsp, rbp // u can point to register without percent symbol sub rsp, 8 // reserve space for locals // example prep constant #define local0 [rsp] movq local0, const_0 // push constant value // the good example of opsize definition push local0 // you should not define opsize for push, it is constant call print add rsp, 8 return 0 #undef local0 #section .rodata const_0: sb "Hello, World!\n\0" // u can use escseqs in strings directly #section .bss

Vi Chapmann ٩( 💢•̀ з•́)و Chapmann
Вот пример: #format elf64 executable // example ...

Препроцессор с комментариями и эскейпы в строках уже есть в gas. Заменить # на точку, и будет совсем gas.

s54820
Препроцессор с комментариями и эскейпы в строках у...

нет. во-первых, регистры в газе нужно указывать с %, во-вторых, нужно всегда указывать опсайз, причём с нестандартизированными именами, например dword = long, что вообще не катит. и ещё много такого.

Mixail Frolov
ставишь интел синтаксис и не нужно указывать

это скорее костыль. речь идёт о том, что включено по умолчанию

Mixail Frolov
ставишь интел синтаксис и не нужно указывать

к тому же это не единственный аргумент

Vi Chapmann ٩( 💢•̀ з•́)و Chapmann
нет. во-первых, регистры в газе нужно указывать с ...

Добавлю про дворд. Тут ещё неизвестно, что более стандартизированное. В армах дворд 64 бита, поначалу очень неудобно.

а в некоторой древности слово вообще может быть 36 бит

блин мы о текущей реальности говорим

это про тушу мамонта, которого уж лет 20 выкинуть хотят?

Vi Chapmann ٩( 💢•̀ з•́)و Chapmann
блин мы о текущей реальности говорим

хм. а как часто реально используются при программировании те таблицы про которые ты гворишь? не уж то эта вся идея существует чтоб осуществить твои потребности работы с таблицами?

Mixail Frolov
а в некоторой древности слово вообще может быть 36...

Чарльз Мур под старость выкинул фортель. Видите ли у него в процессоре 18 битные регистры.

Mixail Frolov
это про тушу мамонта, которого уж лет 20 выкинуть ...

поэтому куча софта ещё на х86? оси, проги, да много всего. туша только что убитого мамонта, когда научились разводить скот, тогда уж

Aiwan \ (•◡•) / _bot
хм. а как часто реально используются при программ...

1. в самописных осях - обычное дело, это literally инструкция процессора такая, не я её придумала 2. нет, совершенно. я и в других ассемблерах могу с ними работать

Vi Chapmann ٩( 💢•̀ з•́)و Chapmann
1. в самописных осях - обычное дело, это literally...

спрошу по другому. какой % от всего кода что пишется на асме занимает работа с тиблицами? (как много опроектов ОС?)

Aiwan \ (•◡•) / _bot
спрошу по другому. какой % от всего кода что пишет...

много. и эти инструкции всегда пишутся на асме. даже если это инлайн в С/С++, это всё ещё асм.

и ты игнорировал тот факт, что в высокоуровневых языках нет работы с таблицами, она пишется на асме

Vi Chapmann ٩( 💢•̀ з•́)و Chapmann
и ты игнорировал тот факт, что в высокоуровневых я...

Три строки с инлайн-асмом на проект. Плюс ещё всякая мелочь, строк 50 всего.

Aiwan \ (•◡•) / _bot
спрошу по другому. какой % от всего кода что пишет...

могу сказать так, в ос, в которой всё пытаюсь нормально переделать, таблицы используются 3(4) раза: инициализация реалмод, протектмод, переключение контекста и при создании потока для tls

Mixail Frolov
могу сказать так, в ос, в которой всё пытаюсь норм...

ага. "теперь для удобного написания надо написать свой асм с сишным препроцессором"

Aiwan \ (•◡•) / _bot
ага. "теперь для удобного написания надо написать ...

и почему бы и нет? если это удобно, то зачем заранее отказываться от самого концепта?

эти инструкции скоро сам интел будет выпиливать вмести со всем 16битным режимом

Mixail Frolov
эти инструкции скоро сам интел будет выпиливать вм...

ну так настройка таблиц есть не только при переходе из реалиода в протмод

Vi Chapmann ٩( 💢•̀ з•́)و Chapmann
и почему бы и нет? если это удобно, то зачем заран...

карты в руки, мне лишь не понятна концепция всего этого действия, вот и попросил более подробней описать словами перспективу всего этого

нет. это далеко не единственное отличие. прошу быть в контексте, прежде чем писать необдуманное.

s54820
А что ещё, кроме решёточек?

префиксы стандартизированы, пуш всегда пуш, дае когда просто число кладёшь, препроц мощный, на уровне fasm, синтаксис схожий с С - лично моя пререгатива

Aiwan \ (•◡•) / _bot
а пример хелловорда можно как это будет выглядеть?

да, если никто не против, напишу его для x86 realmode MBR

Aiwan \ (•◡•) / _bot
а потом для win32 х86

думаю, одного примера хватит. + я не на винде

s54820
screenshot То есть gas :-D

здесь у всех в привычке читать только первый аргумент?

Vi Chapmann ٩( 💢•̀ з•́)و Chapmann
здесь у всех в привычке читать только первый аргум...

Макросы в gas есть свои плюс ещё сишный препроцессор сверху.

Marek Kotovsky
Чарльз Мур под старость выкинул фортель. Видите ли...

Это может быть совершенно нормальным и оправданным современным решением, но мне интересно про какую именно машину речь

шутка? да вроде нет. есть такой компиль

Aiwan \ (•◡•) / _bot
шутка? да вроде нет. есть такой компиль

Блин, я хотел когда-то изобрести такой, чтоб он был чем-то средним между ассемблером и си, а оказалось что уже есть, блин ( С-- был шуткой которую придумал я, а оказалось что реальность другая, что не солнце крутиться вокруг планеты, а планета вокруг солнца (

Неплохая идея, это может даже дать "новую" жизнь ассемблеру.

123
Неплохая идея, это может даже дать "новую" жизнь а...

А если будет яп который на половину будет питоном и ассемблером, то это вообще взорвет интернет.

Тогда появиться фраза "сишние ставки в ассемблере"

HappyUser
Так СиПайтон уже есть

CPython - это и есть питон. мб имеется в виду Cython?

123
А если будет яп который на половину будет питоном ...

По производительности, есть язык Nim. Я его хотел изучить но забросил. Декларирует красоту Python и скорость Си.

Хотя на такое смотрели бы негативом, вот например чел который придумал asmx и пытался добиться этаки симбиоза между ассемблером и высокоур яп, но его начали люто хейтить, по этому идея такая себе.

Идея не взлетает на этапе обсуждения типизации.

The Bird of Hermes
Дело не в его идее, дело в нём

Нет, дело в самом проекте. Там ни капли не реализовано из того, что написано. Там просто интерпретатор с синтаксисом языка ассемблера на интерпретируемом языке - Javascript. Вопрос: много низкоуровневых проектов на таком сможете реализовать?

The Bird of Hermes
Дело не в его идее, дело в нём

Ну незнаю, я с этим челом в лс общался, вроде норм.

КТ315
Нет, дело в самом проекте. Там ни капли не реализо...

Ну. Дело в том, что тот, кто реализовывал проект, понятия не имел, что он делает

123
Ну незнаю, я с этим челом в лс общался, вроде норм...

Я общался и в ЛС, и в его чатах. Может он в какой-то там повседневной жизни норм чел, не отрицаю. Но знает он о низком уровне ровным счётом ничего. Я бы сказал, что знания у него даже отрицательные

The Bird of Hermes
Не вижу никакой красоты в питоне

Это неважно. Там суть была в форматмровани отступами.

Marek Kotovsky
Он говорил про процессор GA144

А, почитал, да, там совсем странная штуковина

Хорошо, что не скорость python и безопасность си

123
Хотя на такое смотрели бы негативом, вот например ...

Его начали хейтить, потому что он даже близко в теме не разбирался, нёс полную чушь и заспамил все чаты

Alex
Его начали хейтить, потому что он даже близко в те...

Не разобрался, не разбирается и не разберётся в будущем)

Alex
Хорошо, что не скорость python и безопасность си

Си опасен лишь если не уметь использовать как и любой язык... хотя о паддинги я один раз обжегся((

Глупец
Си опасен лишь если не уметь использовать как и лю...

Большинство людей (даже сишников) не умеет.

The Bird of Hermes
Ассемблер куда опаснее си)

Смотря в чём. В ассемблере ты всегда явно можешь увидеть проблему. В С - нет.

123
Хотя на такое смотрели бы негативом, вот например ...

его за другое начали хейтить, он сделал полную хрень которую везде пропихнуть хотел, не зная нифига.

123
Ну незнаю, я с этим челом в лс общался, вроде норм...

а я с ним в чате кос общался, после того как он нам своё подолее хотел всучить, поспрашивал вопросики по самому языку, он нифига не ответил нормально, зато затребовал ноду в систему, чтобы его чудо работало

КТ315
Смотря в чём. В ассемблере ты всегда явно можешь у...

Ну в си несколько сложнее влезть не туда

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

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

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
14
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
Всем вечера. Подскажите как лучше сделать. делаю на Д10 Например будет база данных на SQLite. в ней будет много таблиц. более 50шт Типа справочник. Содержать ID Name Id p...
Андрей Т 🐎
10
Я короче решил скомпилировать Nim в js, я думал он сработает как обычный транслятор. По итогу он мне создал файл с расширением js, и туда поместил кучу кода Вопрос, что это з...
𝕾𝖍𝖆𝖉𝖊 <suspense>
9
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
это группа токсиков или тех кто помогает?
Ибрагим
9
мы пытаемся подменить функцию, которая имеет меньше инструкций относительно функции, которой подменяем. https://www.reddit.com/r/jailbreakdevelopers/comments/w06ujy/mshookfun...
Óðinn
6
У кого-нибудь есть под рукой функция кодирования юникода, которая из фразы На русском сделает \u041d\u0430\u0020\u0440\u0443\u0441\u0441\u043a\u043e\u043c ?
Daniil Smolyakov
7
Карта сайта