Програма должна установить соединение с ком портом, с заданными настройками, боды, биты чётности, послать команду (при нажати на "Button1"), дождатся ответа, принять ответ и вывести его в поле для ввода, ожно ли ето зделать на асме, и с чего начать?
Microsoft Visual C++ 6.0 ета среда розработки некак неотносится к амсу. на .NET я знаю как такое написать, теперь хочу зделать ето же на ASM
Ukito Так же и на асме делается. Заполняются структуры и вызываются функции. Единственно великая проблема наверное в заполнении DCB, т.к. там bitfield присутствует.
А я и забыл, что в VS больше нельзя писать на асмовых вставках... И асмовые инстукции in/out тоже, видимо, отменили...
Э-э-э... а зачем для работы с COM-портом in/out? Все равно такой финт ушами проходит только в Win9x, да и то - лучше не рисковать. Единственный вариант обсуждался - убить порт как устройство, и работать напрямую, но это должна быть очень специфическая задача, чтобы так извращаться.
В ринг3 их отменили еще мелкомягкие, когда заполняли в винде I/O permission map, и правильно сделали.
Как вариант, если залезть в ring0. Если уж написать в MASM'e нечто вроде Код (Text): invoke CreateFile, ADDR buffer,\ GENERIC_READ or GENERIC_WRITE ,\ FILE_SHARE_READ or FILE_SHARE_WRITE,\ NULL,OPEN_EXISTING,FILE_ATTRIBUTE_ARCHIVE,\ NULL mov hFile,eax не судьба, то in/out для тов.Ukito должно подойти.