Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2009, 12:47   #1
Timofey
 
Регистрация: 08.12.2008
Сообщений: 6
По умолчанию MS DOC

Практически вся обучающая литература по Ассемблеру идет с показом примерников в реальном режиме для более детального понимания принцыпа построения кода.
И так по инерции пошла практически вся обучаемая молодежь.А почему бы не писать коды для среды скажем так рабочей,воспользовавшись консольным приложением,дающим с малыми затратами и четким пониманием всего процесса использовать серии высокоуровневых и низкоуровневых функций АПИ.
И так начинайте с AllocConsole и получайте доступ ко все всем именованным каналам последовательного доступа через файловый ввод-вывод, по дескрипторам стандартных потоков через консольный ввод-вывод,не загружая при этом систему дорогими прерываниями,и используя возможность работать с несколькими приложениями,переключаясь через один системный вызов по закрытию консоли.
Timofey вне форума Ответить с цитированием
Старый 04.06.2009, 13:43   #2
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Ну почитайте, например уроки Iczelion'а. Там програмирование начинается сразу с win приложения. Еще помнится мне где-то попадались "Дневники чайника" там тоже начинается все с азов, а потом переходит на win приложения.
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 04.06.2009, 14:01   #3
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

WinAPI на ассемблере по сути очень мало отличается от высокоуровневых языков, особенно с макросами, да ещё в сочетании с сишными библиотеками, и толку от того, что кто-то выведет в консоль HelloWorld никакого. А в 16-разрядных программах под дос как раз используется дофига тех-самых "базовых ассемблерных" примочек типа поместить в старший байт регистра одно, в младший другое, если результат не влазит - добавить ещё регистр, установить Nый бит dword'a по такому-то адресу в true, почистить за собой стек, скопировать строку или превратить её в число и т.п.

А кто начинает сразу с win32 - обычно ставят какой-нибудь WinAsm, RadASM..., создают проект, и наглухо виснут, наткнувшись, например, на функцию, которой надо передать предварительно созданную и заполненную некими данными структуру, которой не оказалось в заголовках, сто раз уже такое было. Учиться - в досе
пыщь
JTG вне форума Ответить с цитированием
Старый 04.06.2009, 14:15   #4
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Цитата:
WinAPI на ассемблере по сути очень мало отличается от высокоуровневых языков, особенно с макросами, да ещё в сочетании с сишными библиотеками, и толку от того, что кто-то выведет в консоль HelloWorld никакого. А в 16-разрядных программах под дос как раз используется дофига тех-самых "базовых ассемблерных" примочек
С этим я впринципе согласен.
Цитата:
А кто начинает сразу с win32 - обычно ставят какой-нибудь WinAsm, RadASM..., создают проект, и наглухо виснут, наткнувшись, например, на функцию, которой надо передать предварительно созданную и заполненную некими данными структуру, которой не оказалось в заголовках, сто раз уже такое было.
Если вам больше нравиться работать с блокнотом, а потом через консоль компилировать программу, то пожалуйста, но недостающих структур это вам не добавит. Я в таких случаях обычно беру opera, набираю в ней аддрес гугла и ищу, что же это за структура такая, а потом добавляю ее в заголовочные файлы, где она должна быть.
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4

Последний раз редактировалось Goodwin98; 04.06.2009 в 14:20.
Goodwin98 вне форума Ответить с цитированием
Старый 04.06.2009, 14:57   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
И так начинайте
Это призыв "Всем на баррикады"?.
преподаватели вообще не любят новаторство, но и этот способ ведь не самый лучший для сегодняшних "Графических" времен. )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.06.2009, 16:41   #6
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

И почему тогда на Win платформу?
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru
airyashov вне форума Ответить с цитированием
Старый 04.06.2009, 19:53   #7
Timofey
 
Регистрация: 08.12.2008
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Это призыв "Всем на баррикады"?.
преподаватели вообще не любят новаторство, но и этот способ ведь не самый лучший для сегодняшних "Графических" времен. )
Рисуем собственные картинки(пусть черточками и звездочками,зато не рябит в глазах после бутылки,а кому не нравится пусть через функцию обратного вызова входит в оконную процедуру),отечественные,улавливаем позиции курсора в областях меню и делаем работу,позицинируем выводы портов,
моделируем на этапе проектирования,и т.д.
Согласитесь,основной массе любителей не нравятся правила построения графических обьектов к примеру через ВИНМЕИН функцию и вылавливание сообщений и т.д,что требует чтения томов в 500 стр.
А что касается преподователей,то задачки то у них в основнов носят характер работы с символами . QUOTE=JTG;282316]WinAPI на ассемблере по сути очень мало отличается от высокоуровневых языков, особенно с макросами, да ещё в сочетании с сишными библиотеками, и толку от того, что кто-то выведет в консоль HelloWorld никакого. А в 16-разрядных программах под дос как раз используется дофига тех-самых "базовых ассемблерных" примочек типа поместить в старший байт регистра одно, в младший другое, если результат не влазит - добавить ещё регистр, установить Nый бит dword'a по такому-то адресу в true, почистить за собой стек, скопировать строку или превратить её в число и т.п.

И то верно,что работающие на АССЕМБЛЕРЕ,практически около 50% команд вообще не используют на протяжении всей своей деятельности.

Последний раз редактировалось Timofey; 05.06.2009 в 11:58.
Timofey вне форума Ответить с цитированием
Старый 06.08.2009, 22:50   #8
Cumalok
Новичок
Джуниор
 
Регистрация: 06.08.2009
Сообщений: 1
По умолчанию

Доброго времени. Я новичок, но совершенно согласен с JTG. Может кто объяснит как правильно настроить систему. Чтобы и DOS и XP можно было юзать. Или по старинке грузиться с дискетки в DOS. В книжках написано что 16-разрядные в 32-разрядных не катят.
Cumalok вне форума Ответить с цитированием
Старый 06.08.2009, 23:26   #9
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Я спокойно запускаю 16 битные приложения(например из книги Калашникова) под XP. Для этого установи себе на комп DOS NAVIGATOR,VC(Volcov Comander) или FAR . Под ними и запускай свои программы. Или ты можешь установить себе эмулятор DOS'а(emu8086). Может быть и еще как-нибудь можно, но мне и этих способов вполне хватает
Цитата:
В книжках написано что 16-разрядные в 32-разрядных не катят
Должно работать. Не знаю в каких это вы там книжках прочитали!
xor eax, eax
xchg [eax], eax

Последний раз редактировалось MalCer; 06.08.2009 в 23:30.
MalCer вне форума Ответить с цитированием
Старый 07.08.2009, 07:01   #10
Mold0vanin
Новичок
Джуниор
 
Регистрация: 06.08.2009
Сообщений: 2
По умолчанию

Цитата:
Сообщение от MalCer Посмотреть сообщение
Я спокойно запускаю 16 битные приложения(например из книги Калашникова) под XP.
Интересно как ты запускаешь?
берем простенький код, выводящий напрямую в принтерный порт , последовательно нули , единицы.

org 100h
mov al,0FFh
mov dx,378h
out dx,al
JMP $+2
MOV AL,00
JMP $+2
.exit

Так вот, под виндой, это не работает, хоть с навигатором, хоть с волковым , хоть с emu8086


Цитата:
Сообщение от MalCer Посмотреть сообщение
Должно работать. Не знаю в каких это вы там книжках прочитали!
Любите книгу, источник знаний, но по старинке, все науки, постигаем через руки.
Mold0vanin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
OLE = MSWord.doc tolikman Microsoft Office Access 1 23.12.2008 11:43
Печать .doc файла MaZai Microsoft Office Excel 3 06.11.2008 14:50
php в формате doc gred PHP 9 16.05.2008 14:39
Чтение тексат из *.doc silversab Помощь студентам 0 28.11.2007 17:54