User Tag List

Страница 2 из 39 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 427

Тема: Бейсик-помощь

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,821
    Спасибо Благодарностей отдано 
    273
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    95 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    Не, ребята, не надо давать изначально плохих советов, ТС же учится только
    Ну раз так, то я только "ЗА".
    Давайте сразу отговорим человека мучатся с бейсиком (на том уровне запросов как он уже достиг - пора ему на асм переползать, другой дороги на спеке нету, ну конечно если он не извращенец).

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,821
    Спасибо Благодарностей отдано 
    273
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    95 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Немного оффтоп, но навеяло: Световой карандаш - девайс описаный в "Периферия своими руками" например. На ЖК-экранах видимо работать не будет? Или есть варианты (конечно всякий блуд с миганием брихта на знакоместе не надо даже думать).
    Помнится там тоже для теста была сверхмедленная прога на бейсике, которая тоже криво ставила точки (ну чем не QAOP, почти те-же муки)...
    P.S. Всяким инженерам-железячникам на заметку: А слабо раздербанить старый (в смысле ненужный) телефон с датчиком позиции и забабахать приблуду которая карандаш.
    Видится как стилус со своей батарейкой + некая НЁХ которая на дисплей надевается и считывает позицию стилуса относительно себя (т.е. прилепляется в левом-верхнем углу скажем) и данные гонит в комп (по любому порту, например принтеровскому. Да хоть мышкиному...)
    Ну и прога которая ловит данные и ставит точки - делов-то...
    Последний раз редактировалось Destr; 31.07.2016 в 11:39.

  4. #3

    Регистрация
    15.04.2008
    Адрес
    г. Кривой Рог, Украина
    Сообщений
    446
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    45
    Поблагодарили
    24 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    По-моему создать небольшой кодовый блок средствами бейсика (data/read/poke) при старте программы и использовать код - вполне элегантное решение. Это не затрудняет листинг программы (как в предложенном мной варианте) и не требует подгрузки дополнительных блоков. А учитывая что размер кодовых блоков - мизерный, то создание оных в памяти дело пары секунд.

    - - - Добавлено - - -

    Второй вариант, как предложил я - влепить всё в REM строку первую (нулевую) и вызывать оттуда.
    Но тут есть одно НО - вызывать придется не напрямую указывая адрес (например - RANDOMIZE USR 23760) а относительно переменной PROG (не пинайте - не помню точного названия) - ведь могут быть инициализированы переменные TR-DOS или-что-то-там-ещё что отодвигает программу от адреса 23755, соответственно и код двигает. Но вызывать так - не особо удобно - RANDOMIZE USR 5+PEEK PROG+PEEK (PROG+1)*256

    - - - Добавлено - - -

    Ну и соответственно надо будет сделать так, чтобы процедуры в REM строке был релоцируемыми или же при первом обращении перекидывали куда-нить в память кусок кода и работали оттуда, что вообще извратом попахивает.

  5. #4

    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,198
    Спасибо Благодарностей отдано 
    40
    Спасибо Благодарностей получено 
    128
    Поблагодарили
    103 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Kalantaj Посмотреть сообщение
    Но вызывать так - не особо удобно
    Можно так:

    LET ADD=5+PEEK 253635+256*PEEK 23636 : LET ADD = USR ADD

    Таким образом не "портится" оператор RND и на выходе в переменной будет лежать значение регистров BC (или, что там возвращает функция USR?).
    Последний раз редактировалось null_device; 31.07.2016 в 20:55.
    Когда есть, но не знаешь где - это все равно, что нету.

  6. #5

    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,821
    Спасибо Благодарностей отдано 
    273
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    95 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Kalantaj Посмотреть сообщение
    Но вызывать так - не особо удобно
    Вроде ведь можно обозвать переменную как нибудь LET plot=PEEK PROG+PEEK (PROG+1)*256 и вызывать через неё (RANDOMIZE USR plot).
    Или даже через FN (тогда можно и параметры прикрутить).
    Вон как инфоркомовцы делали:http://zxpress.ru/book_articles.php?id=1539
    (статья не шибко хорошо распознана, так что лучше скачать и читать саму книжку).

  7. #6

    Регистрация
    28.10.2005
    Адрес
    Омск
    Сообщений
    2,116
    Спасибо Благодарностей отдано 
    162
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    32 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    возникла вот какая проблема, ломаю голову и не знаю как записать.
    например у меня есть переменная записанная в двоичном виде.
    скажем
    LET A=01100110
    вопрос а как теперь перевести это двоичное число в десятичное ?
    то-есть я знаю что если написать Print BIN 01100110 то мне выдастся значение 102.
    а как это записать в программе ?
    хотел записать что-то типа LET B=BIN A - да фиг там, бейсик такого не даёт.

  8. #7

    Регистрация
    06.05.2010
    Адрес
    Бердск, НСО
    Сообщений
    4,967
    Спасибо Благодарностей отдано 
    1,074
    Спасибо Благодарностей получено 
    1,170
    Поблагодарили
    913 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Это не переменная записанная в двоичном виде, это обыкновенная переменная с десятичным числом 1100110. Надо было писать LET A=BIN 01100110
    Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.

    Seamos realistas y hagamos lo imposible!

    Ernesto Che Guevara
    Переехал сюда: SteinBlume (ex ATM CP/M Explorer)
    http://era-cg.su

    Скрытый текст

    Speccy2010 r2 (Спасибо m.d. & xlat),
    Sinclair ZX Spectrum + (Спасибо stepmotor),
    ZX Evolution rev.C + 5'25 FDD Epson SD-700AA + NedoPC PAL-Coder (Спасибо m.d. & xlat)
    [свернуть]

  9. #8

    Регистрация
    28.10.2005
    Адрес
    Омск
    Сообщений
    2,116
    Спасибо Благодарностей отдано 
    162
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    32 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    оно понятно, но у меня значение не одно и то-же, оно может быть разным.

  10. #9

    Регистрация
    06.05.2010
    Адрес
    Бердск, НСО
    Сообщений
    4,967
    Спасибо Благодарностей отдано 
    1,074
    Спасибо Благодарностей получено 
    1,170
    Поблагодарили
    913 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не понимаю, что у вас не получается.
    Точнее, что именно вам требуется сделать.
    Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.

    Seamos realistas y hagamos lo imposible!

    Ernesto Che Guevara
    Переехал сюда: SteinBlume (ex ATM CP/M Explorer)
    http://era-cg.su

    Скрытый текст

    Speccy2010 r2 (Спасибо m.d. & xlat),
    Sinclair ZX Spectrum + (Спасибо stepmotor),
    ZX Evolution rev.C + 5'25 FDD Epson SD-700AA + NedoPC PAL-Coder (Спасибо m.d. & xlat)
    [свернуть]

  11. #10

    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,928
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    44 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если двоичное число записано как десятичное:
    Код:
    LET A=01100110
    ,
    то надо сделать так:
    Код:
    LET B=VAL ("BIN " + STR$ A)
    .

    Если число записано как строка из ноликов и единичек (например, воодится пользователем в INPUT A$), то
    Код:
    LET B=VAL ("BIN " + A$)
    Разумеется, BIN в кавычках - ключевое слово.
    ZX Evolution Rev C + ZXM-SoundCard Extreme + NeoGS.

Страница 2 из 39 ПерваяПервая 123456 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Руссифицированный бейсик
    от Den1982 в разделе Программирование
    Ответов: 17
    Последнее: 23.02.2022, 22:58
  2. Специалист: Бейсик
    от Prusak в разделе Специалист
    Ответов: 28
    Последнее: 26.07.2019, 16:07
  3. Про бейсик
    от yur в разделе Программирование
    Ответов: 23
    Последнее: 17.02.2014, 21:26
  4. напомните про бейсик
    от goblinish в разделе Программирование
    Ответов: 7
    Последнее: 22.06.2012, 06:14

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •