Ошибка: Failed to parse the Currency Converter XML document.
$17 180.27


Ошибка: Failed to parse the Currency Converter XML document.
$30 248.20


Ошибка: Failed to parse the Currency Converter XML document.
$1 087.62


Взаимодействие с GLIBC

GLIBC — стандартная библиотека Си от GNU. Если вы программируете на ассемблере под Linux, то использование функций из этой библиотеки — хороший способ сократить размер программы и затраченные усилия. Безусловно, использование их замедляет программу, но это всего лишь значит, что их не стоит использовать в критических участках — циклах. Если же вы используете GLIBC скажем для форматированного вывода на консоль, то вряд ли вы заметите какое-нибудь замедление.

Более того — использование GLIBC в большинстве случаев сделает вашу программу легко портируемой на многие другие UNIX-платформы.


В качестве примера рассмотрим программу, которая импортирует функцию puts (вывод на консоль null-terminated строки)
;Точка входа «_start» на самом деле находится
;в подключаемом *.o файле стандартной библиотеки Си
;Она передает управление на функцию «main»,
;которая должна находиться в нашей программе
global main

;Внешние функции
extern exit
extern puts

;Сегмент кода:
section .text

;Функция main:
main:

;Параметры передаются в стеке:
push dword msg
call puts

;По конвенции Си вызывающая процедура должна
;очищать стек от параметров самостоятельно:
sub esp, 4

;Завершение программы с кодом выхода 0:
push dword 0
call exit

ret

;Сегмент данных
section .data

msg: db «An example of interfacing with GLIBC.»,0x0D,0

Компиляция:
nasm -felf inglibc.asm

Компоновка: Для вызова компоновщика с нужными параметрами мы не будем заморачиваться с командой ld, а воспользуемся GCC, который сам определит, что нужно нашему объектному файлу:
gcc inglibc.o -o inglibc

 

Интересное

Перьевые ручки Parker....
Элегантный корпус, перо из качественного металла, заправленный жидкими чернилами контейнер внутри – перьевая ручка не нуждается в особом представлении. Принцип работы ее прост: при небольшом...
Подробнее...
Обзор ASP
Этот текст предназначен для тех, кто никогда не имел дела с ASP, и вообще смутно себе представляет возможности программирования на стороне сервера. Я ставил себе задачу, создать у читателя общее...
Подробнее...
Обзор игровых...
Если ваш стаж общения с компьютерами достаточно велик, то весьма вероятно, что вы помните то знаменательное событие — превращение ПК в мультимедийное устройство. Для России, да и для значительной...
Подробнее...
Цветной экран смерти
Если ты кодил под Ring 0, то знаешь, что за показ экрана смерти ответственны функции ядра KeBugCheck и KeBugCheckEx.Правда, это реализовано немного по-разному в Windows 2000 и ниже и в Windows XP...
Подробнее...
Скрытые опасности сетей Wi-Fi
Нет никаких свидетельств того, что беспроводное интернет-содинение негативно влияет на здоровье людей, говорят ученые.Авторы документальной телепрограммы Би-би-си «Панорама» выяснили,...
Подробнее...
Установка свойств для...
Установка свойств для разных объектов на странице является одной из простейших задач при программировании на VBScript. Стандартная схема этого действия выглядит так:
Подробнее...
Жертва в кроватке или как...
Бывает такое с человеком, бывает. Особенно сильно это проявляется, когда он узнает, что не прикладывая особых усилий он может достичь чего-то значительного. Называется такое «это»...
Подробнее...
Изменение регистра
В Delphi есть три функции для изменения регистра: upcase, lowercase, uppercase. Но они работают только для латинского алфавита. Чтобы сделать аналогичные функции для русского алфавита я...
Подробнее...
Визуальный редактор для...
Наверно мой уважаемый читатель не раз сталкивался с ситуацией, когда конечный веб-проект ориентировался не на узкий круг веб-программистов или людей «введенных» в систему, а...
Подробнее...
Создание таблиц Excel на PHP
Excel - ом пользуются те, кто работает с финансами и деньгами. Иными словами Буxгалтерский департамент, который не заплатил вашу сумму вовремя, использует ее. Сделайте жизнь буxгалетеров легче и...
Подробнее...