Как написать программу на ASM под виндой?

Тема в разделе "WASM.BEGINNERS", создана пользователем седьмой, 29 июн 2017.

Метки:
  1. седьмой

    седьмой Member

    Публикаций:
    0
    Регистрация:
    27 июн 2017
    Сообщения:
    66
    Адрес:
    г.Киров
    Круто, мне понравилось. То что со мной работают ваши люди это все понятно, но ведь драйвер я могу писать не только на вашем сайте, а еще и на многих других, а они территориально находятся в разных местах, так что не знаю как вы сможете обойтись без дронов.
     
  2. седьмой

    седьмой Member

    Публикаций:
    0
    Регистрация:
    27 июн 2017
    Сообщения:
    66
    Адрес:
    г.Киров
    А как сделать ссылку на то что под черным? При нажатии на Ctrl+A действительно открывается черный текст, но там не работает функция ответить. Просто хотелось сказать, что у вас на форуме неправильно работает локализация, даже не знаю чем вам помочь.
    спасибо за ссылку, я бегло посмотрел, вчитываться не стал, так как это все для микроконтроллеров и мне не очень подходит. Но из статьи сделал вывод, что пока я на правильном пути. Если у меня промышленный комп, с несколькими ядрами на процессоре, а прерываний нет, кроме моего одного единственного, которое я жду с генератора, то я вполне могу выделить одно ядро и один поток для моего драйвера. На компе будет еще одна задача в программе на LabView или VS C#, но она будет работать до и после запуска моего драйвера срабатывания от генератора и потоки пересекаться не будут, тем более, что они будут работать на разных ядрах. Так что теоретически, даже ничего не вырезая из планировщика, хотя его работу надо будет все равно рассмотреть, можно будет запустить мой драйвер в реалтаймовом режиме хотя бы пока чисто теоретически.
     
    Последнее редактирование: 10 июл 2017
  3. седьмой

    седьмой Member

    Публикаций:
    0
    Регистрация:
    27 июн 2017
    Сообщения:
    66
    Адрес:
    г.Киров
    Просто в каждой шутке есть доля истины, вы можете шутить и смеяться это ваше право, но я привык на полпути не сворачивать, а если есть идея, то попытаться в ней разобраться с вами или без вас это не принципиально, но с поддержкой форума было бы легче.
     
  4. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.546
    Адрес:
    Russia
    Тот самый случай, когда лучше молчать чем говорить ) Не в обиду сказано
    Вы тут правы только в 18х18 (и то не во всех чипах). Все остальное не верно. И уж тем более, это не относится к работе винды. После обработки картинки выходной контроллер внутри мыши формирует PS/2 или USB сигналы. И это не реалтайм. Но это то, что вам советуют уже N страниц.
     
    Mikl___, седьмой и horpis_real нравится это.
  5. horpis_real

    horpis_real Active Member

    Публикаций:
    0
    Регистрация:
    5 дек 2016
    Сообщения:
    141
    Странно, вам пишут толковые вещи, но переводите беседу в разряд по.....ть вы же. Странный вы тип, батенька.
     
    седьмой нравится это.
  6. седьмой

    седьмой Member

    Публикаций:
    0
    Регистрация:
    27 июн 2017
    Сообщения:
    66
    Адрес:
    г.Киров
    Хорошо сдаюсь, дошло наконец то после 5й страницы, реалтайма не будет в виндоусе, отлично, разрешите попробовать написать нерелтаймовый драйвер на ассемблере под виндой 64? Убедили ... Подскажите пожалуйста каким образом можно поставить Fasm под вин 7-64 и где можно скачать и какую версию ? И не могли бы дать код для проверки компиляции? Вот такой подойдет, как вы думаете?
    Код (ASM):
    1. format PE64
    2. use64
    3. mov ah,9
    4. mov rdx,msg
    5. int 21h
    6. mov ah,0
    7. int 16h
    8. int 20h
    9. msg db 'Hello World$'  
    Все люди странные, вы не замечали?
    на правду не обижаются, говорите правду что есть...
     
  7. horpis_real

    horpis_real Active Member

    Публикаций:
    0
    Регистрация:
    5 дек 2016
    Сообщения:
    141
    Это кто ? Тролят ?
     
  8. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.708
    1. с официального сайта качай последнюю версию https://flatassembler.net/download.php
    2. установочный комплект идет с примерами
    3. Конечно, нет, это смесь ежа и гадюки PE64/use64 и int 21h/16h/20h
    :rtfm:
     
    седьмой нравится это.
  9. седьмой

    седьмой Member

    Публикаций:
    0
    Регистрация:
    27 июн 2017
    Сообщения:
    66
    Адрес:
    г.Киров
    ну и Москва не сразу строилась... Смотрели Москва слезам не верит, вот нашел еще код о том же, этот работает
    Код (Text):
    1. format PE64 Console 5.0
    2. entry Start
    3. include 'win64a.inc'
    4. section '.text' code readable executable
    5. Start:
    6.   invoke SetConsoleTitleA, conTitle
    7.   test eax, eax
    8.   jz Exit
    9.   invoke GetStdHandle, [STD_OUTP_HNDL]
    10.   mov [hStdOut], eax
    11.   invoke GetStdHandle, [STD_INP_HNDL]
    12.   mov [hStdIn], eax
    13.   invoke WriteConsoleA, [hStdOut], mes, mesLen, chrsWritten, 0
    14.   invoke ReadConsoleA, [hStdIn], readBuf, 1, chrsRead, 0
    15. Exit:
    16.   invoke  ExitProcess, 0
    17. section '.data' data readable writeable
    18.   conTitle    db 'Console', 0
    19.   mes         db 'Hello World!', 0dh, 0ah, 0
    20.   mesLen      = $-mes
    21.   hStdIn      dd 0
    22.   hStdOut     dd 0
    23.   chrsRead    dd 0
    24.   chrsWritten dd 0
    25.   STD_INP_HNDL  dd -10
    26.   STD_OUTP_HNDL dd -11
    27. section '.bss' readable writeable
    28.   readBuf  db ?
    29. section '.idata' import data readable
    30.   library kernel,'KERNEL32.DLL'
    31.   import kernel,\
    32.     SetConsoleTitleA, 'SetConsoleTitleA',\
    33.     GetStdHandle, 'GetStdHandle',\
    34.     WriteConsoleA, 'WriteConsoleA',\
    35.     ReadConsoleA, 'ReadConsoleA',\
    36.     ExitProcess, 'ExitProcess'
    нашел его по ссылке http://www.cyberforum.ru/asm-beginners/thread1107632.html Отлично работает, только очень длинный код получился для одной строки из 2х слов, боюсь что если драйвер на нем писать то винта не хватит, нельзя его (код) как то немного ужать?

    Идти то он едет, только там ЧНС, хотелось бы для начала что то более понятное... вот как например это, то что выше, но чуть чуть ужать.
     
  10. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.708
  11. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    631
    Адрес:
    Russia
    Извините, но драйвер непременно должен быть х64?

    Имхо, следует попробовать для начала освоиться хотя бы с 32 разрядными Ring3 приложениями, чтобы потом изучить 32-бит драйвера. И уже только затем, если хотелка не отвалится, пробовать х64.
     
    Последнее редактирование: 10 июл 2017
    седьмой нравится это.
  12. седьмой

    седьмой Member

    Публикаций:
    0
    Регистрация:
    27 июн 2017
    Сообщения:
    66
    Адрес:
    г.Киров
    Уже не должен и не драйвер, просто учусь писать драйвер под виндоус 7 -64 (если у меня рабочий комп вин 7-64 другого выхода нет) или что то другое пишу, пока сам не увижу, не узнаю что вышло... Попалась вот публикация на этом форуме интересная
    https://wasm.in/blogs/programirovanie-na-fasm-pod-win64-chast-1-assembler-otladchik-ide.557/
    и Микл то критикует то помогает, обратной дороги нет, только вперед...
    рубикон перейден, мосты сожжены, впереди Москва..., как то так.

    Ну кажется опять тормоз на ровном месте, так все же что брать Масм64 или FasmW?
     
    Последнее редактирование: 10 июл 2017
  13. седьмой

    седьмой Member

    Публикаций:
    0
    Регистрация:
    27 июн 2017
    Сообщения:
    66
    Адрес:
    г.Киров
    Спасибо за ссылку, интересный сайт, где только вас нет, на разных форумах, спасибо большое.
     
  14. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.546
    Адрес:
    Russia
    седьмой нравится это.
  15. yashechka

    yashechka Ростовский фанат Нарвахи

    Публикаций:
    90
    Регистрация:
    2 янв 2012
    Сообщения:
    1.449
    Адрес:
    Россия
    Как написать программу на ASM под виндой?

    5 страниц - драйвера до сих пор нет. Палю годноту как сделать драйвер. Читать нужно в такой последовательности, иначе ничего не получится.
    1) Основы Windows NT и NTFS — Хелен Кастер.
    2) Программирование драйверов и систем безопасности, до главы где начинается про сеть, дальше не надо.
    3) Солдатов - все три издания подряд с начала до конца, чтобы видеть как ошибки уходят и новые появляются))
    4) Руссинович Соломон windows 2000, потом можно и 2003 xp
    5) Уолтер Они, сначала на рус. потом на англ.
    6) Завершает это всё уроки four-f с примерами и коммами на русском
    7) Вы готовы написать драйвер.
    8) Уроки из будушего от Яши про драйверы ))
     
    седьмой и horpis_real нравится это.
  16. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    > format PE64
    > int 21h

    Этот человек тупо троллит. Это очевидно по контексту. Ответ получен - решение невозможно. Топик следует закрыть. Пусть учится на конкретных вещах с семплами, а не бред пишет.
     
    horpis_real нравится это.
  17. седьмой

    седьмой Member

    Публикаций:
    0
    Регистрация:
    27 июн 2017
    Сообщения:
    66
    Адрес:
    г.Киров
    Спасибо Термо... удача никогда лишней не бывает. Правильное решение, поддерживаю! Все отписывайтесь от темы, не буду я драйвер писать, пока. Не по теме : В отпуск собираюсь, доделаю проект под Досом и буду читать литературу, которую вы мне все любезно дали, а к драйверу вернусь после отпуска. хочу в Казань съездить своим ходом, на волге порыбачить на спиннинг и так отдохнуть. Наверно прав Indy_, бред пишу пора отдохнуть. Правда когда начинал писать под досом проект в прошлом сентябре, тоже писали что бред, однако проект готов, так что бабушка на двое сказала бред или нет, поживем увидим, отписывайтесь от темы, спасибо всем за помощь.
     
  18. седьмой

    седьмой Member

    Публикаций:
    0
    Регистрация:
    27 июн 2017
    Сообщения:
    66
    Адрес:
    г.Киров
    Спасибо за литературу читаю с большим удовольствием и вполне успешно, оказалось зря вы меня закидывали тухлыми яйцами. Я был прав, в винде можно настроить и успешно использовать систему реального времени и вот вам два примера
    или вот еще выдержка
    Не нашел еще пока стоимости, что где и почем, но явно это то что мне и нужно было и дешевле самостоятельной операционки реального времени QNX и на лицензионной винде и писали ее люди, значит все что я хотел и интуитивно предполагал оно есть и давно уже было и разрабатывается и поддерживается. И вы все оказались не правы, что нельзя в винде настроить реальное время.
     
  19. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    седьмой,

    > И вы все оказались не правы, что нельзя в винде настроить реальное время.

    А никто не говорил что нельзя, ОС будет обслуживать только вашу железку, а значит просто повиснет. Либо второй проц будет отдан на бесконечный цикл чтения портов. Но так системы не строятся.

    Вы вот говорите что интерфейс запилить нельзя - аттестация там и прочее, но сами используете дикие костыли, портите ос. Интересно что за контора такая ?
     
  20. седьмой

    седьмой Member

    Публикаций:
    0
    Регистрация:
    27 июн 2017
    Сообщения:
    66
    Адрес:
    г.Киров
    с какой стати ось повиснет, если моя железка будет работать по прерыванию? Я не имею претензий, наоборот вы мне очень хорошо помогли с литературой, именно там я и нащел ссылку на этот сайт. Наверно я плохо что то объяснил и вы не верно мне ответили, я это написал только к тому, что в свете новой информации тему можно не закрывать, а еще пока оставить жить на форуме.