| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm для начинающих > Версии MASM_ |
| Автор: GLeBaTi 20.4.2010, 16:27 | ||||||
Вопрос: Какой из этих вариантов кода лучше использовать, чем они отличаются, какой из них кроссплатформенный ? |
| Автор: GoldFinch 20.4.2010, 17:29 |
| на асме не бывает кроссплатформенного кода. |
| Автор: GLeBaTi 20.4.2010, 17:56 |
| в MASM32 я могу писать код, который выполнится и на unix и на win32 ? И на каких процессорах у меня будет работать первый код ? |
| Автор: airyashov 21.4.2010, 07:44 | ||
только винда судя по коду |
| Автор: Mikl_ 21.4.2010, 08:36 |
| GLeBaTi, если создается EXE PE-формата, DLL,SYS то такой файл предназначен для работы Win32 если создается ELF то для Linux если создается MZ-EXE или COM то для DOS в данном случае 1 пример -- EXE для Windows 2 пример -- EXE для DOS outstr и finish это процедуры описанные в файле io.asm 3 пример -- COM-файл |
| Автор: GLeBaTi 21.4.2010, 10:02 |
| Значит, чтобы мне вывести текст на экран в разных ОС, мне надо вызывать разные ф-ии ? (Win - print, DOS- int 21h, Linux - int 0x80, call kputs) - чем они отличаются ?(вроде одинаково выводят на экран, но разный синтаксис) |
| Автор: Mikl_ 21.4.2010, 11:06 | ||
| GLeBaTi, в Win32 не функции print -- там всё делается через API-функции, для простейшего вывода текста можно использовать 6 разных функций ExtTextOut, TextOut, TabbedTextOut, PolyTextOut, DrawText, DrawTextEx, либо представить текст, как самостоятельное окошко типа STATIC Для вывода текста, например функцией TextOut, нужно через стек передать функции пять разных параметров: координаты X и Y, куда будет выведен текст, строка, которую будут выводить, количество символов, которые должны быть выведены, контекст устpойства
Вопрос напоминает рассуждение ребенка: "И зачем нужны английский, китайский, арабский, если я понимаю только русский?" ответ будет такой "Так сложилось..." |
| Автор: GLeBaTi 21.4.2010, 15:35 |
| Всё, спасибо за ответы !) |