← Октябрь 2025 | ||||||
1
|
2
|
3
|
4
|
5
|
||
---|---|---|---|---|---|---|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
21
|
22
|
23
|
24
|
25
|
26
|
27
|
28
|
29
|
30
|
31
|
Собственно я увлекся этой тематикой и пока она составляет мое хобби решил создать рассылку, в которую пишу все, что раскопал (и пепревел:). Поскольку сам учусь этому, то ошибки не исключения:) найдете - пишите. А в остальном рассказываю о том, как писать программы под linux, ну или вернее, чем это отличается от кодинга под Windows.
Статистика
0 за неделю
Кодинг под linux от Homer'a ПРОДВИНУТАЯ ПАМЯТЬ
Информационный Канал Subscribe.Ru 02.06.2005->linuxcoding->asm->#8->koi8-r: ПРОДВИНУТАЯ ПАМЯТЬ Безвозвратно прошли те времена, когда данные могли занимать лишь 64K. Теперь даже, если транслятору передать директиву вроде .space 1000000 - он спокойно выделит миллион байт. Но, все данные, расположенные в .data хранятся и на диске, непосредственно в исполняемом файле. Поэтому для инициализируемых нулем данных (имеющих нулевое значение в начале работы программы) был придуман специальный сегмент .bss...
Кодинг под linux от Homer'a ПРЕРЫВАНИЯ - ПРИМЕР
Информационный Канал Subscribe.Ru 28.05.2005->linuxcoding->asm->#8->koi8-r: ПРЕРЫВАНИЯ - ПРИМЕР Да. Давненько я обещал привести какой нибудь пример с прерываниями. Но пришло лето, а с ним зачетная неделя и сессия. Так, что пока рассылка будет выходить не два раза в неделю, а как получится) Ну ладно, продолжим. Итак, ставится следующая задача (как всегда с целью демонстрации прежде всего: Вывести первые 60 символов файла, печатая их постепенно (т.е. с задержкой как в кино, ну и закрутим звездочк...
Кодинг под linux от Homer'a ПРЕРЫВАНИЯ 1
Информационный Канал Subscribe.Ru 16.05.2005->linuxcoding->asm->#7->koi8-r: ПРЕРЫВАНИЯ - 1 Итак, прерывания. Вкратце напомню, что при вызове прерывания int XX вызывается процедура, адресс которой записан в XX-том векторе прерывания. От обычного call это отличается лишь тем, что при вызове указывается не адресс самой процедуры, а, по сути, адресс ячейки с ее адрессом, кроме того, в стеке сохраняется регистр флагов и, соответственно, восстанавливается при выходе из процедуры обработки прерывания ...
Кодинг под linux от Homer'a МАКРОСЫ
Информационный Канал Subscribe.Ru 13.05.2005->linuxcoding->asm->#6->koi8-r: МАКРОСЫ Есессно, как и везде, макросы здесь служат как для переопределения констант, так и для создания макросов-функций, которые действуют подобно функциям, получая параметры. В общем виде макрос выглядит так: .macro <имя макроса> [передаваемые параметры через запятую] <тело макроса> .endm В теле макроса может использоваться ассемблерный код, директивы, макросы (в том числе допустима рекурсия. Перед, именна...
Кодинг под linux от Homer'a ПЕРЕХОДЫ И ПРОЦЕДУРЫ В GAS
Информационный Канал Subscribe.Ru 09.05.2005->linuxcoding->asm->#5->koi8-r: ПЕРЕХОДЫ И ПРОЦЕДУРЫ В GAS Идеология переходов, вобщем-то, особо ничем не отличается. В отношении как переходов, так и вызовов процедур AT&T синтаксис различает преходы короткие и длинные, но. Но в отношении написания программ под PC, начиная с i386 GAS позволяет работать только с 32-разрядными адрессами. И поскольку все подсегменты с исполняемым кодом будут собраны в один, то все джампы и вызовы могут быть только внутр...
Кодинг под linux от Homer'a АДРЕССАЦИЯ В GAS
Информационный Канал Subscribe.Ru 06.05.2005->linuxcoding->asm->#4->koi8-r: АДРЕССАЦИЯ В GAS В общем случае адрессация в синтаксисе AT&T выглядит так: <сегмент>:<смещение>( <базовый регистр>, <индексный регистр>, <множитель>) - довольно не привычно. Почему именно так - не знаю, видимо связано как-то с особенностями других архитектур. В переводе на интеловский синтаксис это будет выглядеть как <сегмент>[ <базовый регистр> + <индексный регистр>*X<...
Кодинг под linux от Homer'a Пример решения простой задачи
Информационный Канал Subscribe.Ru 02.05.2005->linuxcoding->asm->#3->koi8-r: ПРИМЕР РЕШЕНИЯ ПРОСТОЙ ЗАДАЧИ Рассмотрим следующую задачу: найти X=6(A-2B+C/4+10 (з.ы. конечно, можно реализовать консольный ввод и вывод, обработку ошибок, GUI'ёвый интерфейс, но делать все это в рамках данной задачи имхо глупо. да и многое придется затронуть о чем рассказано еще не было, так что все переменные будут определены еще за долго до трансляуции, а результат посмотрим в отладчике) #это уже начало кода, поэтом...
Кодинг под linux от Homer'a Основные дериктивы GAS
Информационный Канал Subscribe.Ru 29.04.2005->linuxcoding->asm->#2->koi8-r: ОСНОВНЫЕ ДИРЕКТИВЫ GAS На этот раз, собственно как и обещал, перечислил самые основыне директивы (т.е. какие вспомнил) для работы с IBM PC старше i80386. Ибо linux писалась уже под 32-разрядные камни. Возможно эти же директивы корректны по отношению к SPARC, VAX и т.д. , но я не знаю этого по понятным всем причинам. В общем, на первое время и этого хватит с головой: . Директива получения текущего адресса .ascii Директив...
Кодинг под linux от Homer'a Особенности синтаксиса AT&T
Информационный Канал Subscribe.Ru 25.04.2005->linuxcoding->asm->#1->koi8-r: ОСОБЕННОСТИ СИНТАКСИСА AT&T Вот собственно и первое письмо рассылки. Так что всем дароффа. В двух словах о всем происходящем: собственно я далеко не специалист в области кодинга под linux, я только сему учусь. Надо сказать, штука это довольно интересная и пока она будет составлять мое хобби - буду писать о том, что сам раскопал и узнал, как долго это продлится - не знаю. Начать решил с самых низов - с ассемблера. Единст...