ПО, ЭВМ и АСУ из Таможенного Союза

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Машкод

Сообщений 1 страница 21 из 21

1

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

И пришел к выводу, что достаточно одной инструкции "Б" (записать байт).
Ну, можно ещё добавить "Б2" и "Б4".

Если "ассемблер" будет уметь рассчитывать расстояния между метками,
то этого будет достаточно для описания любого кода.

Ну да, в машкодах, зато минимум инструкций для парсинга.

0

2

Лис написал(а):

И пришел к выводу, что достаточно одной инструкции "Б" (записать байт).

HEX-редактор Лису в лапы. И машинокод по памяти. К ассемблеру никакого отношения, правда, не имеет.
И толку-то от него? Так можно более половины маш. команд в игнор, но они для чего-то нужны, правда? Наверное, чтобы что-то быстрее работало?
А с битами-то что будет, когда ни одного действия? Лису нужен ассемблер или что?
Ассемблер, как мы уже знаем, ему не нужен. Ему нужна функция записи байт для совершения сумрачного обряда.
Пояснение для особо пушных зверей: ассемблер это замена двоичных команд их названиями, в т.ч. сокращенными, чтобы писать программы без необходимости заучивания чисел.

Отредактировано MihalNik (2018-09-23 22:14:40)

0

3

MihalNik написал(а):

ассемблер это замена двоичных команд их названиями

Не только, ещё это автоматизированное вычисление длин переходов и размеров строк.

Кроме того, такой маленький проект сможет написать кто угодно. И написанный код на 1Скрипт будет примером того, как читать файлы, как писать файлы, как разбирать параметры командной строки, как читать стандартный ввод (в прошлый раз это не работало).

Написав такую программу, можно будет задрать нос и начать писать устав НКО, внеся в учредителей Лиса и rst256. С меня машкоды, с него код парсинга всех инструкций.

0

4

И написанный код на 1Скрипт

Прямо параллельная Вселенная какая-то. Сколько человек уже пишет?

с него код парсинга всех инструкций.

Опять битвы с ветрянными мельницами. Лис, просто ты хоть примерно представляешь сложные места проекта? Парсинг инструкций это семечки. Расскажи как ты будешь получать экзешник. Или то, что ты живешь под линкусом автоматически лишает 90% пользователей возможностей могучего славянофильского (и западноненвистнического) ассемблера?

Отредактировано utkin (2018-09-23 23:15:08)

0

5

utkin
Внезапно. На линуксе тоже есть исполняемые файлы(Эльфы) и стандарты на ABI.

0

6

Внезапно. На линуксе тоже есть исполняемые файлы(Эльфы) и стандарты на ABI.

Да знаю я. Меня интересовало учтет ли Лис нужды большинства или опять будет думать только о себе.

0

7

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

Школьный линукс осваивают (теоретически) 100% школьников.
Астра-линукс используют (теоретически) 100% госслужащих.

Для бизнес-пользователей есть российские коммерческие дистрибутивы (знаю как минимум один, не буду рекламировать)

О ком ещё должен позаботиться Лис?

Отредактировано Лис (2018-09-23 23:29:34)

0

8

Лису стоит открыть статистику количества пользователей линукса и виндовса.

Астра-линукс используют (теоретически) 100% госслужащих.

О, опять параллельная Вселенная :). Откуда у Вас такие данные? Я работаю в госструктуре и никак не могу убедить людей перейти вообще хоть на какой-нибудь линукс.

Школьный линукс осваивают (теоретически) 100% школьников.

В школе где учится мой ребенок линукс стоит только на ноутбуке учителя информатики. И то, судя по всему, напрасно.

0

9

Лис написал(а):

Кроме того, такой маленький проект сможет написать кто угодно.

Кто угодно может написать "кря". И?

Лис написал(а):

будет примером того, как читать файлы, как писать файлы, как разбирать параметры командной строки, как читать стандартный ввод (в прошлый раз это не работало).

Это имеет мало отношения к машинному уровню. Ввод/вывод - это компетенция ОС, т.е. просто делегирование функции. И оно не передаёт даже устройства ФС.

"Б" (записать байт).

Какая глубина передачи мысли!

Отредактировано MihalNik (2018-09-24 08:02:41)

0

10

MihalNik написал(а):

Кто угодно может написать "кря".

"кря" ~= компилятор русского языка?

Я вообще хотел имена утилитам дать
"бу" - байтоукладчик (для машкодов), и
"уи" - укладчик инструкций (для ассемблера).

0

11

Лис написал(а):

компилятор русского языка?

Звукоподражание.

0

12

Какая глубина передачи мысли!

Это мнемоническое сокращение от неопределенного артикля из тех букв, характеризующий повышение эмоционального уровня говорящего.
И опять размытие темы.Я задал простые практические вопросы. А мы тут все превращаем в фарс и трагикомедию. Лису вместо кривляния нужно заняться проектированием системы, и перестать витать в виртуальных облаках. Я вижу темные уголки в этой истории крушения очередного несостоявшегося проекта:
1. Лису опять наплевать на всех и он думает только о Линуксе. Ему уже открытым текстом говорят, что инструмент будет для гиков, число которых менее 10 % от пользователей (и то, там еще за Андроид надо разобраться, потому что в половине статистик, его принимают за Линукс). Это суровая статистика. Вопрос о том, сколько из этого несчастного количества будет поражено идеями русскоязычного программирования, является открытым.
2. Лис не хочет видеть реальных практических проблем системы. А именно вопросы того, как производится сборка программы не освящены кадилом чуть более чем никак. Лис до сих пор занимается парсингом, хотя этот вопрос (особенно в ассемблере) давно решен. Вы же не микроконтроллеры программируете. Это там провел транспиляцию мнемоник в коды и будет тебе счастье. А здесь внезапно исполняемые файлы имеют определенную структуру, которую нужно выдерживать, если Вы хотите, чтобы разнесчастный Астра Линукс  захотел его исполнять и исполнять более чем корректно. То же самое относится и к экзешникам. Не люблю посылать, но ты бы сходил, сюда что ли - https://goo.gl/QFfxk5

Отредактировано utkin (2018-09-24 09:09:44)

0

13

utkin написал(а):

ты бы сходил, сюда что ли - https://goo.gl/QFfxk5

Это давно разобранный мной вопрос.

На форуме уже есть ссылки на гораздо более полезные статьи.
например в теме
Взаимодействие с загрузчиком ELF-файлов.
Формат ELF
есть ссылка на статью
http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html
там есть код, в котором создают заголовок ELF-файла при помощи команд db

Код:
; tiny.asm
  
  BITS 32
  
                org     0x08048000
  
  ehdr:                                                 ; Elf32_Ehdr
                db      0x7F, "ELF"                     ;   e_ident
                db      1, 1, 1, 0, 0
  _start:       mov     bl, 42
                xor     eax, eax
                inc     eax
                int     0x80
                dw      2                               ;   e_type
                dw      3                               ;   e_machine
                dd      1                               ;   e_version
                dd      _start                          ;   e_entry
                dd      phdr - $$                       ;   e_phoff
                dd      0                               ;   e_shoff
                dd      0                               ;   e_flags
                dw      ehdrsize                        ;   e_ehsize
                dw      phdrsize                        ;   e_phentsize
                dw      1                               ;   e_phnum
                dw      0                               ;   e_shentsize
                dw      0                               ;   e_shnum
                dw      0                               ;   e_shstrndx
  
  ehdrsize      equ     $ - ehdr
  
  phdr:                                                 ; Elf32_Phdr
                dd      1                               ;   p_type
                dd      0                               ;   p_offset
                dd      $$                              ;   p_vaddr
                dd      $$                              ;   p_paddr
                dd      filesize                        ;   p_filesz
                dd      filesize                        ;   p_memsz
                dd      5                               ;   p_flags
                dd      0x1000                          ;   p_align
  
  phdrsize      equ     $ - phdr
  
  filesize      equ     $ - $$

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

Отредактировано Лис (2018-09-24 12:00:15)

0

14

Заголовок ELF-файла при помощи команд db.

Дело ведь не только в заголовке. Ну и другие вещи за бортом - что у Вас с Windows? Какова официальная позиция? Мы пытаемся делать ассемблер строго под Лиса?

0

15

utkin написал(а):

Дело ведь не только в заголовке.

Ещё в системных вызовах. И этот вопрос тоже уже рассмотрен на форуме. Вызовов для компилятора нужно менее десятка.

utkin написал(а):

Лису опять наплевать на всех

ты уж дописывай на кого "на всех" - на всех вражеских агентов

utkin написал(а):

Ну и другие вещи за бортом - что у Вас с Windows? Какова официальная позиция? Мы пытаемся делать ассемблер строго под Лиса?

Официальная позиция Лиса - законопослушные граждане учат линукс в школе и используют на службе. А если какой-то чиновник не может организовать переход на Linux, то его надо уволить, как не способного провести политику государства.

0

16

ты уж дописывай на кого "на всех" - на всех вражеских агентов

На всех вражеских агентов, живущих в России и работающих на Windows. Это называется сегрегация - ненависть к определенной группе людей (как правило социальной группе). Вот для Лиса все кто работает с Windows это вражеские агенты. В результате в России живет очень мало русских - примерно 15-17 млн. человек и примерно 130-150 млн. вражеских агентов. М-да, не нужно быть психиатром, чтобы говорить о диагнозе. Это фиаско братан.

Официальная позиция Лиса - законопослушные граждане учат линукс в школе и используют на службе.

Хвала Аллаху, что никто не пишет Ваш ассемблер! Я конечно не хочу разрушать Вашу Вселенную, правда. Мне перпендикулярно. Только вопрос можно - сколько школ изучают линукс? Вот у Лиса есть статистика? А в школах, где не учат линуксы, там учатся вражеские агенты, да? А все вот виндусятники, в чем у них проблема? То есть вот вражеский агент он чем занимается? Вот чем занимаются все это 130 млн. вражеских агентов?
Теперь к службе - у Лиса есть статистика сколько госучреждений из общего числа используют линуксы?

А если какой-то чиновник не может организовать переход на Linux, то его надо уволить, как не способного провести политику государства.

Ну надо и надо, в чем проблема? А проблема в том, что Ваше желание никак не уменьшает числа тех кто работает на виндовс и не работает на линуксе. Вы даже сам линукс пишете иностранными буквами.... Мое Вам фи, я ждал от Вас большего, а все скатилось в банальный фимоз мозга и рептилоидов окруживших Россию.

0

17

utkin написал(а):

Хвала Аллаху, что никто не пишет Ваш ассемблер!

Так он ему и не нужен.

0

18

Так он ему и не нужен.

А ради чего весь сыр-бор? Или он хочет чтобы ему написали ассемблер, пока он будет бороться с вражескими агентами и прочими оккупантами?
https://qna.center/storage/photos/grande36/442916.jpg

0

19

utkin написал(а):

А ради чего весь сыр-бор?

Лисцимерие-с. На этих форумах годами всех пинали за любые идеи, провоцируя на какие-то дела, а Лис начал всё портить. :D

Отредактировано MihalNik (2018-09-24 16:54:48)

0

20

Лис написал(а):

Я вообще хотел имена утилитам дать
"бу" - байтоукладчик (для машкодов), и
"уи" - укладчик инструкций (для ассемблера).

А понадобится "битоукладчик" и придётся дописывать "б(и)у"...
Даже "пета, тера, гига, мега, кило, пико, нано, микро и т. д." приставки - и те тянут за собой десятеричное их происхождение, внося путаницу в умы, их поглощающие.
Давно пора уже ввести понятие "цельнократные методы счисления"...

Лис написал(а):

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

Для начала хотя бы эти:

[html]<iframe width="100%" height="800" src="https://blic.fandom.com/ru/wiki/Краткий_перечень_команд_ассемблера" allowfullscreen="allowfullscreen" allowpaymentrequest frameborder="0"></iframe>[/html]

Ну а дальше - там видно будет...
И не потехи ради и не забавы для
Готовим полный шаблон русского макроса "if":
Еже (подтверждение условия или любого из перечня "array"-условий)
иже (подтверждение совокупности перечисленных "array"-условий),
яко (причины возникновения условий),
ибо (подтверждение правомочности условий),
то (следствие либо цикл из перечня следствий из "array"),
або (альтернатива либо цикл из перечня альтернатив из "array"),
дабы (описание достигаемой или огибаемой цели)...
- Кто сказал, что английский содержательней русского... (?)

Отредактировано Сандро (2021-06-28 03:56:03)

0

21

Лис написал(а):

Написав такую программу, можно будет задрать нос и начать писать устав НКО, внеся в учредителей Лиса и rst256. С меня машкоды, с него код парсинга всех инструкций.

Согласен.
Предлагаю не изобретать велосипед, а взять уже готовые описание машкодов. Например отсюда.
Нужно только заменить имена тегов в xml на русские и придумать русские названия для инструкций.

0