Тема проекта Разработать программное обеспечение для работы со структурными типами данных с реализацией объекта типа Firm. Исходные данные к проекту Обработать информацию о фирмах городов. Обработку прекратить, когда на запрос будет выведено слово «end». ...
Миниальный набор групп операторов на ассемблере
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.
Для имеющих опыт работы на ассемблере под WIN
Мне нужно написать транслятор для нового языка программирования, транслятор будет переводить язык не в коды, а в ассемблерные команды, записываемые транслятором в файлы с расширением .ASM. Транслятор экспериментальный, для продвижения теории программирования.
Для этого мне нужно, чтобы Вы написали несколько групп операторов на ассемблере, которые должны достигать цели, перечисленные ниже.
(Для модератора: за работу я могу заплатить 15 тыс. рублей. Не менее. То есть не менее 600 долларов)
Работа по сложности в пределах большой лабораторной работы и не должна вызывать затруднений у специалиста по программированию на ассемблере под оконный WIN.
Срок - около месяца.
Если Вы не можете выполнить всю работу - сообщите какие части Вы можете выполнить.
Связаться со мной можно: по аське мой номер 362 548 571 или е-м [email protected]. Лучше на е-м
Схема работы моего транслятора:
Мой язык программирования мой транслятор переводит в текст на ассемблере в файлы с расширением .ASM
MASM32 транслирует ассемблер в файл .OBJ
Из файлов .OBJ собирается файл .EXE
Теперь уточняю постановку задачи.
Тексты на ассемблере, написанные по моему заданию должны выполнять перечисленные ниже задачи:
Программа в целом должна работать в оконном режиме НО только в одном окне.
На уровне исходных текстов программа состоит из подпрограмм.
Передача данных - через адреса. То есть значения не передаются, а передаются адреса переменных.
Подпрограммы двух типов - передача через список параметров и подпрограммы-функции (одно выходное значение передается через имя подпрограммы)
Данные следующих типов
1) целые 4 байта, простые (в тч имя функции) и одномерные массивы, фактически расположенные в памяти подпрограммы и те, чьи адреса передаются через формальные параметры.
2) вещественные 8 байт, остальное то же, что и для целых
3) логические 4 байта, -//-
4) символьные, длина одной переменной указывается, то есть может быть из 5 или 125 байт. Остальное то же что выше.
Теперь операции
Арифметические:
1) A=[-]B
оператор копирования или присвоения. A и B, если это данные разных типов, то выполняется преобразование типа
арифметические операции. Если A символьная стандартной длины а B - целая или вещественная то преобразование по согласованной в диалоге форме.
2) А=[-]B+C
3) A=[-]B-C
4) A=[-]B*C
5) A=[-]B/C
Логические операции над логическими переменными:
1) A=[не]B
2) A=B и C
3) A=B или C
сравнение чисел одного типа или символьных переменных с установление значения логической переменной
4) A=B равно C
5) A=B не равно C
6) A=B меньше C
7) A=B меньше или равно C
8) A=B больше C
9) A=B больше или равно C
символьные переменные разных длин сравниваются так - переменная меньшая по длине "мысленно" дополняется пробелами до длины большей по длине переменной.
Переходы
1) Безусловный переход на метку
2) Условный переход на метку по значению логической переменой ИСТИНА.
3) Оператор возврата в вызывающую программу/подпрограмму
4) Оператор остановить программу. Этот оператор, как и некоторые другие, дискуссионный,
Необходимые функции, они оформляются как вызовы подпрограммы. Параметры уточню. Здесь только принцип работы.
Экран:
1) Создать окно заданного номера, заданных размеров, местоположение на экране и первоначальной закраской
2) Убрать окно заданного номера
3) Вывести цветную точку по заданным координатам - дискуссионная функция
4) Считать точку по заданным координатам
5) Возможны обновления окон - это дискуссиное
6) Вывести текст по заданными координатам.
Клавиатура, мышь
1) Считать код клавиши
2) Местоположение курсора мыши и другие клавиши
Магнитные носители, сети, печать(возможно, печать лучше отнести к экрану)
0) Создать каталог/убрать каталог
1) Открыть условное устройство по имени и дать ему номер. Тип "общий доступ"
2) Закрыть устройство по номеру/возможно убрать при закрытии
3) Записать массив байт заданной длины с заданного байта с обработкой "сбой" "переполнение"
4) Прочитать массив байт заданной длины с указанием фактически считанной длины и обработки "сбой"
Устройства ввода-вывода, в том числе и USB
1) Открытие и закрытие как и в предыдущем пункте, однако вопрос дискуссионный.
2) Чтение и запись последовательного типа, но вопрос так же дискуссионный.
Трудность работы не в том, что она большая по величине, трудность в отработке групп операторов, вписывающихся в требования, которые, как показывает практика, кажутся до работы очевидными, но жизнь всегда показывает, что это не так.
Конечный результат - согласованные со мной, переданные мне и протестированные мной тексты на ассемблере
С уважением, Виктор Воронков.
Заявки фрилансеров
Похожие заказы
- $20Прикладное ПОнет заявокЗакрыт18 лет назад
Необходимо ПО для проведения турниров по покеру. Не сложное. ТЗ прикреплено.
Прикладное ПО1 исполнительЗакрыт18 лет назад- $100
Нужна программа для учёта товара на складе. Товар разного типа: стройматериалы, осветительные приборы, отопление и т.п. В перспективе - добавление учёта продаж и других возможностей.
Прикладное ПО60 заявокЗакрыт18 лет назад Необходимо провести миграцию MS Access 2.0 приложения на MS Access 2003. Приложение используется в компании занимающейся телефонным маркетингом, поетому там присутствуют API функции для работы с телефоном. Аппликацию пришлю заинтересованным лицам. Необходимо ...
Прикладное ПО8 заявокЗакрыт18 лет назад- $3000
Програмист (желательно Дельфи, Одинцово). Для проэкта по програме для SEO специалистов нужен програмист на (желательно) Дельфи из (желательно) Одинцово Работа на дому. Полная занятость ...
Прикладное ПО7 заявокЗакрыт18 лет назад - $50
В екселе есть столбец, в котором есть данные, назовём его столбец а) (артикула товаров) Переодически появляеться новый столбец ,каждый раз разный, назовём его б) (тоже с артикулами товара) . Надо чтобы скрипт ...
Прикладное ПО1 исполнительЗавершен18 лет назад СРЕДА реализации Borland C++ Builder Информационный справочник фармацевта Исходные данные 1.идентификационый номер (число, определяющее показание к применению), 2.наименование медпрепарата(строковый тип ), 3.показание к применению ...
Прикладное ПО1 исполнительЗакрыт18 лет назад- $25
См. приложение. Нужна программа и пояснительная записка в относительно свободной форме. Оплата в WMZ или WMR.
Прикладное ПО1 исполнительЗавершен18 лет назад - $15
Есть таблица значений функции для определенных точек (в файле, в бинарном формате). Есть набор точек (в базе mysql или в текстовом файле), для которых нужно интерполировать значения (простая билинейная интерполяция). Результат интерполяции нужно записать в ...
Прикладное ПО1 исполнительЗакрыт18 лет назад