An open API service indexing awesome lists of open source software.

https://github.com/rxyalxrd/term_paper_5th_semester

Курсовая работа по ассемблеру на тему: "Перевод систем счисления"
https://github.com/rxyalxrd/term_paper_5th_semester

assembler cpp dll fastapi makefile poetry pydantic python uvicorn

Last synced: 2 months ago
JSON representation

Курсовая работа по ассемблеру на тему: "Перевод систем счисления"

Awesome Lists containing this project

README

          

# Курсовая работа по ассемблеру на тему: "Перевод систем счисления"

## Описание:
Данный проект представляет собой приложение на `FastAPI`, которое использует функцию, написанную на `Assembly` для перевода чисел из одной системы счисления в другую. Функция на `Assembly` скомпилирована в `DLL` и вызывается через `Python` (32-битный). Приложение предоставляет один `API`-эндпоинт, который принимает число и систему счисления, в которую нужно выполнить преобразование.

**Особенность**: Для корректной работы необходимо указывать полный путь до DLL-файла, так как он вызывается из Python-скрипта.

---

## Cтэк:
- `FastAPI` — для создания веб-приложения.
- `Python 3.x` (32-bit) — основной язык программирования.
- `MASM` — для написания и компиляции функции на Assembly.
- `DLL` — скомпилированная библиотека, которая выполняет перевод числа.
- `Pydantic` — для валидации данных.
- `Uvicorn` — для запуска приложения FastAPI.

---

## Как запустить проект
1. Клонируйте репозиторий:
```
git clone https://github.com/Rxyalxrd/term_paper_5th_semester.git
cd term_paper_5th_semester
```
2. Установите зависимости через Poetry:
```
poetry install
```
3. Запустите приложение FastAPI через Uvicorn:
```
poetry run uvicorn main:app --reload
```
4. Приложение будет доступно по адресу: `http://127.0.0.1:8000`.

---

## API

- GET `/convert`
- Тело запроса:
```
{
"input_number": "1011",
"radix": 10
}
```

- Параметры:
- input_number (integer): Число, которое нужно перевести.
- radix (integer): Cистема счисления, в которую нужно перевести.

- Ответ:
```
{
"converted_num": "11"
}
```
---

## Как работает:
Приложение использует `FastAPI` для получения данных от пользователя и обработки их с помощью функции, написанной на `Assembly`. Функция в `DLL` выполняет все вычисления, а результат возвращается через `FastAPI`.

---

## Важные замечания:
- Убедитесь, что вы используете `32`-битную версию `Python` для корректной работы с `DLL`.
- Для корректной работы необходимо указывать **полный путь** до `DLL`-файла в соответствующем месте кода.

---