Форум программистов, компьютерный форум, киберфорум
Наши страницы
Basic
Войти
Регистрация
Восстановить пароль
 
V2oD2o
1 / 1 / 0
Регистрация: 14.10.2014
Сообщений: 72
1

Определите что за бейсик?

15.12.2016, 11:30. Просмотров 355. Ответов 4
Метки нет (Все метки)

Всем привет!

есть код:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Function CountDegist(tmpDump As UInteger Ptr, tmpBinary As UByte Ptr) As UInteger
    Dim  As UInteger tmpResult, tmpTimer =&hff,a=0
    tmpTimer = &hffffffff
    For i As Integer = 0 To 223
        tmpResult = *(tmpBinary + i)
        tmpResult = tmpResult Xor tmpTimer
        tmpResult = tmpResult And &hFF
        tmpResult = *(tmpDump+255-tmpResult)
        tmpTimer Shr = 8
        tmpTimer = tmpTimer And &hffffff
        tmpResult = tmpResult Xor tmpTimer
        tmpTimer = tmpResult
    Next
    Return tmpResult
 
End Function
Кто то может его расшифровать на сишник или сказать в каком бейсике это компилировать ?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2016, 11:30
Ответы с готовыми решениями:

Диалект языка Бейсик - Spectrum-Бейсик
Приветствую всех. Недавно в сети нашла книгу: "Как написать игру для ZX...

Что делает код описанный в теме? работа в бейсик с com портом
10 OPEN "COM1: 9600, N, 8, 1" AS #1 20 IF LOC(1) = 0 THEN 60 30 A$ =...

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

Где можно скачать Бейсик?
Подскажите где можно скачать Бейсик?

Перевод кода из Паскаля в Бейсик
Есть тут один такой код: Var s,a:string; i:integer; c:char; begin ...

4
Pro_grammer
Модератор
6174 / 2257 / 443
Регистрация: 24.04.2011
Сообщений: 3,995
Записей в блоге: 10
15.12.2016, 14:25 2
Цитата Сообщение от V2oD2o Посмотреть сообщение
каком бейсике это компилировать ?
Судя по типу UInteger похоже на семейство VB.NET, значит нужна Visual Studio 20**
1
Shersh
Заблокирован
16.12.2016, 09:42 3
Судя по
Цитата Сообщение от V2oD2o Посмотреть сообщение
tmpDump As UInteger Ptr
и
Цитата Сообщение от V2oD2o Посмотреть сообщение
Dim As UInteger tmpResult
это скорее free-basic, но никак не VB.NET
0
Pro_grammer
Модератор
6174 / 2257 / 443
Регистрация: 24.04.2011
Сообщений: 3,995
Записей в блоге: 10
16.12.2016, 12:38 4
Цитата Сообщение от Shersh Посмотреть сообщение
скорее free-basic
Может и так.
В любом случае не VB6
0
Quiet Snow
4409 / 1305 / 376
Регистрация: 25.04.2010
Сообщений: 3,350
16.12.2016, 17:23 5
Это FreeBASIC.

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

Попробую растолковать

UInteger = 32/64 бита в зависимости от целевой архитектуры.
Функция CountDegist возвращает значение типа UInteger, в неё уходят 2 параметра: tmpDump, tmpBinary
первый указатель на UInteger второй на UByte, UByte - это беззнаковый байт.
Далее резервируется tmpResult, tmpTimer, a. Все резервируются как UInteger
В начале функции:
tmpTimer = ffffffff (в шестнадцатеричной системе)
a = 0
tmpResult = 0

Далее цикл проходит от 0 до 223 (включительно), счётчиком цикла явл. переменная i
вот эта строка
tmpResult = *(tmpBinary + i)
означает, что в переменную tmpResult будут помещены данные соотв. типа tmpResult
из памяти с указателя tmpBinary, подвинутого на кол-во шагов i, каждый шаг ровняется
по длине типу данных переменной tmpBinary.

Вот эти две строки предельно понятны и в толковании не нуждаются:
tmpResult = tmpResult Xor tmpTimer
tmpResult = tmpResult And &hFF

вот эта строка
tmpResult = *(tmpDump+255-tmpResult)
означает, что в переменную tmpResult будут помещены данные соотв. типа tmpResult
из памяти с указателя tmpDump, подвинутого на 255 шагов вперёд и tmpResult шагов назад,
каждый шаг ровняется по длине типу данных переменной tmpDump.

Вот эта строчка
tmpTimer Shr = 8
означает
tmpTimer = tmpTimer Shr 8

Вот эти три строки предельно понятны и в толковании не нуждаются:
tmpTimer = tmpTimer And &hffffff
tmpResult = tmpResult Xor tmpTimer
tmpTimer = tmpResult


вот эта строка
Return tmpResult
возвращает значение данной функции и передаёт управление обратно в то место, откуда
функция была вызвана.

На 2-й строчке вот это в коде лишнее:
=&hff

Вообще ещё проверю правильно ли всё расписал, давно с указателями не работал в FB
уже точно не помню, по идее всё правильно, но код какой-то левый судя по строчке 8,
ну или очень хитрожопый.
0
16.12.2016, 17:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2016, 17:23

Где можно скачать Бейсик для ZX Spectrum?
Уважаемые, а не подскажете где Sinclair BASIC можно скачать.Очень надо.

Какой бейсик редактирует файлы формата BLD
Какой бейсик редактирует файлы формата BLD ???

Задача фри Бейсик Определить координаты точки пересечения прямых
Даны числа a1, b1, c1, a2, b2, c2. Определить координаты точки пересечения...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru