169 похожих чатов

Кстати а как через ассемблер AT команды отправить ?

48 ответов

14 просмотров

никак, вам оно не надо

🛡MFG🏦🚀- Автор вопроса

Как во всех других случаях. Писать в соответствующий файл устройства.

🛡MFG🏦🚀
А подробнее

Открыть файл. Сформировать текстовую строку, и записать ее туда.

🛡MFG🏦🚀
А подробнее

чаще всего модемы работают через com порт, AT команды представляют собой поток данных в этот порт начинающийся с заголовка AT

🛡MFG🏦🚀- Автор вопроса

CreateFile(), WriteFile(). Основная сложность - найти имя виртуального COM-порта, сопоставленное с USB-устройством. Но у тебя есть пример исходников как это делать (VirtualTSP), по сути работа с AT-командами точно такая же.

🛡MFG🏦🚀- Автор вопроса
Евгений
CreateFile(), WriteFile(). Основная сложность - на...

Но мне не понятно что за файл , что он делает что это дает и тд

🛡MFG🏦🚀- Автор вопроса
🛡MFG🏦🚀- Автор вопроса
🛡MFG🏦🚀
А есть пример кода ?

Тебе скопировать-вставить надо что ли? Так темболее не научишься ничему

🛡MFG🏦🚀
А есть пример кода ?

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

🛡MFG🏦🚀
А есть пример кода ?

во, читай, только оно уже не работает лет так 10 http://websvn.kolibrios.org/filedetails.php?repname=Kolibri+OS&path=%2Fprograms%2Fdevelop%2Fexamples%2Frtdata%2Ftrunk%2Frtdata.asm

🛡MFG🏦🚀- Автор вопроса
Mixail Frolov
во, читай, только оно уже не работает лет так 10 h...

Так а если оно не работает смысл есть ?

🛡MFG🏦🚀
Что такое фреймбуфер?

отображение памяти видеокарты(которая выводится на экран) на на обычную память

🛡MFG🏦🚀
Так а если оно не работает смысл есть ?

ну там по сути обработка прерываний не работает, а логика то целая

🛡MFG🏦🚀- Автор вопроса
Mixail Frolov
ну там по сути обработка прерываний не работает, а...

Ну и как быть , да и я еще не осознал ассемблер ещё

Alexander Morozov
Наверное не Create а Open?

port_name db 10 dup 0 port_mask db "\\.\COM%u",0 cinvoke wnsprintfA, port_name, sizeof.port_name, port_mask, [port_number] invoke CreateFileA, port_name, GENERIC_READ or GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0 cmp eax, INVALID_HANDLE_VALUE je port_open_error mov [hComPort], eax

🛡MFG🏦🚀
Ну и как быть , да и я еще не осознал ассемблер ещ...

Чего там осознавать то? Есть регистры, есть память, есть команды, которые позволяют модифицировать данные в первых двух.

🛡MFG🏦🚀
Можно код глянуть ?

читай, тут много кода

🛡MFG🏦🚀
Но мне не понятно что за файл , что он делает что ...

Читать в MSDN про CreateFile, это одна из основ всего, через CreateFile (вопреки названию) осуществляется работа не только с файлами а со всем - объекты разные, драйвера, порты, и прочие. Открытие COM и LPT портов - тоже через CreateFile.

Евгений
Читать в MSDN про CreateFile, это одна из основ вс...

Правильно я понимаю, что CreateFile по майкрософтовски — это Assign в других языках?

🛡MFG🏦🚀- Автор вопроса
Alexander Morozov
Чего там осознавать то? Есть регистры, есть память...

Ну как чего вот например есть программа org 100h mov ah, 02h mov dl, 41h ;add dl, 80 int 21h mov dl, 41h int 21h mov dl, 41h int 21h mov dl, 41h int 21h ret

🛡MFG🏦🚀- Автор вопроса
Alexander Morozov
Какая тут вообще задача то решается?

Научится грамотно и осознанно использовать команды ассемблера, четкое понимание как это работает, понимать мая задача

🛡MFG🏦🚀
Научится грамотно и осознанно использовать команды...

Тогда и пишите сразу под современные ОС. В DOS огромное количество легаси и просто рудиментов, которые приходится изучать просто чтобы понять проидящее, но они не имеют смысла в современных системах. Наглядный пример - org 100h.

🛡MFG🏦🚀- Автор вопроса
Alexander Morozov
Тогда и пишите сразу под современные ОС. В DOS огр...

Так org 100h можно написать другой например 50h и будет работать

🛡MFG🏦🚀
Так org 100h можно написать другой например 50h и ...

в прогах под современные ос там вообще нет никаких org там формат ELF или PE

🛡MFG🏦🚀- Автор вопроса
Alexander Morozov
Тогда и пишите сразу под современные ОС. В DOS огр...

То есть получается концепция DOS не имеет отношения к сегодняшнему современному языку, это точно так? А может просто уже современная обертка просто скрыла старые отголоски и всё?

🛡MFG🏦🚀
То есть получается концепция DOS не имеет отношени...

> А может просто уже современная обертка просто скрыла старые отголоски и всё? так было только в вин3.1/вин95/98, под капотом дос крутился

🛡MFG🏦🚀- Автор вопроса
Rustem Gimadutdinov
> А может просто уже современная обертка просто ск...

Ну а смысл работы понять что откуда берется и как работает что нет смысла его изучать как простую концепцию? Мне посоветовали начать с этого а еще тis100 astra 256 эмулятор как вариант

🛡MFG🏦🚀
То есть получается концепция DOS не имеет отношени...

Омг, ну мб хватит уже тут цирк устраивать? Ну второй день подряд ты пишешь бред...

🛡MFG🏦🚀
То есть получается концепция DOS не имеет отношени...

Имеет, но примерно на 2/3 там уже история развития IT, а не реальность.

🛡MFG🏦🚀
Ну а смысл работы понять что откуда берется и как ...

можно, научишься основным командам типа mov, jmp, add, cmp и тд. в 32 битном и 64 битном асме они ведь тоже есть, только с другими размерностями. Но не проще ли сразу взять например 32 битный х86 асм по винду? Это напоминает срач "Нужно ли учить сначала С чтобы выучить С++?"

🛡MFG🏦🚀- Автор вопроса
Alexander Morozov
Имеет, но примерно на 2/3 там уже история развития...

Ну это понятно у меня нет альтернатив просто другого не советовали

🛡MFG🏦🚀
Ну а смысл работы понять что откуда берется и как ...

Смысл есть, если есть именно интерес к истории развития. Посмотреть на ход мыслей предшественников. В современных ОС многое устроено принципиально иначе.

🛡MFG🏦🚀- Автор вопроса
Alexander Morozov
Смысл есть, если есть именно интерес к истории раз...

Ну хорошо а как тогда действовать чтобы допустим наглядно увидеть работу , понять смысловые конструкции языка и всё остальное

🛡MFG🏦🚀- Автор вопроса
Rustem Gimadutdinov
придумать себе задачу и решить ее

Я не вижу вашей компетенции в данном вопросе, одни какие то упрёки ни одной годной рекомендации 😕

🛡MFG🏦🚀
Я не вижу вашей компетенции в данном вопросе, одни...

так я по факту сказал, ты не поймешь ассемблер пока не попишешь на нем

🛡MFG🏦🚀- Автор вопроса
Rustem Gimadutdinov
так я по факту сказал, ты не поймешь ассемблер пок...

Ты угораешь надо мной сейчас? Чтобыт начать писать нужно понимать нюансы и как это работает опять упрёки а не рекомендации с пояснениями иикомментариями

Rustem Gimadutdinov
можно, научишься основным командам типа mov, jmp, ...

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

🛡MFG🏦🚀
То есть получается концепция DOS не имеет отношени...

Вряд ли. У новых операционных обычно много наработок и полностью переработаны все системы. Взять даже работу с памятью. У DOS всё выполнялось в однозадачном режиме и никакого переключения процессов небыло. Позже появились ОС с сегментной и страничной адресацией памяти. В процессоры добавили новые фичи для многозадачности. У того же доса ядро было монолитным, а у современной винды оно гибридное. Для обращения к ОС юзаются сервисы и тд и тп. Короче мораль сей басней такова, толпою га... то есть хоть системы и содержат порой старый код, но кроме того большая часть была доработана и переработана в угоду эффективности и требованиям

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта