Куда? Где?
lea
Одна из самых полезнейших инструкций
lea для вычислений адреса нужен. Зачем его вычислять - не знаю, ты ответь.
Чтобы начало массива знать? 🤔
Да, как пример. А ещё с lea можно сокращать инструкции. Например: mov edx, ecx add edx, offset = lea edx, dword[ecx+offset]
процедуры уже можешь делать?
в качестве одного из параметра адрес переменной можешь передавать?
Нет, но там вроде не тяжело должно быть😵 Просто со скобками играться
а локальные переменные в своих процедурах можешь создавать?
пока ещё нет, но я вот что нашёл. https://fasmworld.ru/uchebnyj-kurs/ после того, как допишу парсер - буду смотреть что там.
как найчишься продолжу объяснять зачем нужен lea
Это судя по сегментной адресации учебник ещё под дос
так и есть. но там фундаметальные аесть лгоритмы для новичков
а, а мне надо логическое выражение.
Наличие товаров в магазинах сети по всей рф. Что за логическое выражение тебе надо?
Ввод: a&-b Вывод: |a|b|-b|a&-b| |0|0| 1| 0 | |0|1| 0| 0 | |1|0| 1| 1 | |1|1| 0| 0 |
Так тут легкотня. not and
Напиши прогу которая спарсит -(a|b)&(c|d&1)
"спарсит", или решит?
Хм, ну, тут ещё не слишком сложно. Можно написать на трансляции.
я бы не отказался
Отлично. Тогда давай ты напишешь.
Посмотреть не отказался 😂
Парсер такой на ассемблере бы написал. Тут же как с математическими выражениями, только проще. Можно для начала реализовать только приоритет (скобки), not, and и or. Немного.
Я на питоне такое пишу, но не получается нормально.
Так ты на ассемблере напиши. Получится. Стоп, вообще-то кое-кто это уже написал. Его Томаш зовут.
Значит подтягивай саму теорию. На листочке разберись с алгоритмом, как это будет обрабатываться, и потом только садись писать.
так у меня есть идея как сделать, но очень тупая. Для каждого действия обрабатывать приоритеты и проводить поиск в стороны.
Ой, да легкотня. Не сложнее, чем разложить число на все уникальные суммы
Да, Томаш это уже написал, не интересно.
легкотня, легкотня, как будто я умею нормально делать.
Ну того, что он написал.
https://flatassembler.net/
Не не. Я про то, чтобы вводилось с клавиатуры число, а на выходе прога выдавала все возможные суммы, из которых можно сложить это число.
Почему стикеры заблочены, а гифки нет?
Так я не про это. Я про то, что Томаш уже написал такой "парсер". Поэтому не интересно такое писать, когда у тебя уже готовое решение этого на ассемблере прямо перед глазами, и ты этим каждый день пользуешься))
Чтобы можно было делиться результатами работы программ. Скриншоты скучные.
Не, он там хочет чтобы эта штука решалась с выводом таблицы
звучит просто? нет?
я могу предположить, как это сделать в цикле
Ты напиши на яву/ассемблере
я ожидал этого предложения.
Лучше второе, конечно.
Ну вот и посмотрим, как много времени займет😁
Ну я и так и так писал
Я не соглашаюсь.
Ну не сегодня, можно завтра
За что дизлайк? Я спать хочу так-то
ты должен пойти спать сейчас.
Можно попробовать не парсить а... Выполнить через eval 😊
Использовать парсер Python в задании "напишите свой парсер"? А может лучше... Записать выражение в файл, и запустить его в Python? Нет, давай просто сразу запустим Python без аргумента для входа в интерактивную оболочку с вводом команд, а перед этим выведем "Запускаем нашу написанную программу LogicalCalculator2000".
Учитель может не заметит, я на всякий случай полный сделаю.
Смотря какая цель этой лабораторной работы.
Да нуууу, не интересно. Ты чего.
Хм, ну тут ты прав. Через sprintf слишком легко будет сделать вообще
int a = 0b0000000011111111; int b = 0b0000111100001111; int c = 0b0011001100110011; int d = 0b0101010101010101; int _1 = 0b1111111111111111;
эмм, ну так у меня вроде динамическое выражение.
Тут у тебя уже все возможные состояния системы посчитаются
и это не даёт вывод таблицы с применение операций
Вывод таблицы не даст, но применить логические выражения и получишь правильный вывод
Типо как калькулятор логических выражений что-ли?
да, я пример скидывал
А, ну это по сути полноценный калькулятор писать
Сто процентов для этого есть различные алгоритмы в инете, тебе только операции подправить
ладно, сдавать завтра, придётся копировать.
алгоритм приоритетов в принципе не очень сложен, по символам можно по факту даже не переводить, но реализация сложной будет
У меня есть проверка на "тестировщиков". Лексер есть. Есть идея вместо AST-древа, каждый раз вызывать считывание строки системой приоритетов для каждого оператора, но больше хочется всё же AST построить и его считывать.
стек структур struct STRUCT_1 value_1 dd 0 value_2 dd 0 opcode dd 0 ends
почему мне все предлагают на ассемблере писать?
Предлагаю Вам писать на любом удобном языке!
Обсуждают сегодня