MaterStudiorum.ru - домашняя страничка студента.
Минимум рекламы - максимум информации.


Авиация и космонавтика
Административное право
Арбитражный процесс
Архитектура
Астрология
Астрономия
Банковское дело
Безопасность жизнедеятельности
Биографии
Биология
Биология и химия
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
Валютные отношения
Ветеринария
Военная кафедра
География
Геодезия
Геология
Геополитика
Государство и право
Гражданское право и процесс
Делопроизводство
Деньги и кредит
Естествознание
Журналистика
Зоология
Издательское дело и полиграфия
Инвестиции
Иностранный язык
Информатика
Информатика, программирование
Исторические личности
История
История техники
Кибернетика
Коммуникации и связь
Компьютерные науки
Косметология
Краткое содержание произведений
Криминалистика
Криминология
Криптология
Кулинария
Культура и искусство
Культурология
Литература и русский язык
Литература(зарубежная)
Логика
Логистика
Маркетинг
Математика
Медицина, здоровье
Медицинские науки
Международное публичное право
Международное частное право
Международные отношения
Менеджмент
Металлургия
Москвоведение
Музыка
Муниципальное право
Налоги, налогообложение
Наука и техника
Начертательная геометрия
Новейшая история, политология
Оккультизм и уфология
Остальные рефераты
Педагогика
Полиграфия
Политология
Право
Право, юриспруденция
Предпринимательство
Промышленность, производство
Психология
Психология, педагогика
Радиоэлектроника
Разное
Реклама
Религия и мифология
Риторика
Сексология
Социология
Статистика
Страхование
Строительные науки
Строительство
Схемотехника
Таможенная система
Теория государства и права
Теория организации
Теплотехника
Технология
Товароведение
Транспорт
Трудовое право
Туризм
Уголовное право и процесс
Управление
Управленческие науки
Физика
Физкультура и спорт
Философия
Финансовые науки
Финансы
Фотография
Химия
Хозяйственное право
Цифровые устройства
Экологическое право
Экология
Экономика
Экономико-математическое моделирование
Экономическая география
Экономическая теория
Эргономика
Этика
Юриспруденция
Языковедение
Языкознание, филология
    Начало -> Информатика, программирование -> Настоящий "Hello World"

Название:Настоящий "Hello World"
Просмотров:80
Раздел:Информатика, программирование
Ссылка:none(0 KB)
Описание:С чего начинается изучение нового языка (или среды) программирования? С написания простенькой программы, выводящей на экран краткое приветствие типа "Hello World!".

Университетская электронная библиотека.
www.infoliolib.info

Часть полного текста документа:

Настоящий "Hello World" Станислав Иевлев
    С чего начинается изучение нового языка (или среды) программирования? С написания простенькой программы, выводящей на экран краткое приветствие типа "Hello World!". Например, для C это будет выглядеть приблизительно так:
    main() {
     printf("Hello World!\n");
    }
    Показательно, но совершенно неинтересно. Программа, конечно, работает, приветствие свое пишет; но ведь для этого требуется целая операционная система! А что если хочется написать программку, для которой ничего не надо? Вставляем дискетку в компьютер, загружаемся с нее и ..."Hello World"! Можно даже прокричать это приветствие из защищенного режима... Сказано - сделано. С чего бы начать?.. Набраться знаний, конечно. Для этого очень хорошо полазить в исходниках Linux и Thix. Первая система всем хорошо знакома, вторая менее известна, но не менее полезна.
    Подучились? Теперь займемся. Понятно, что первым делом надо написать загрузочный сектор для нашей мини-операционки (а ведь это будет именно мини-операционка!). Поскольку процессор грузится в 16-разрядном режиме, то для создания загрузочного сектора используется ассемблер и линковщик из пакета bin86. Можно, конечно, поискать еще что-нибудь, но оба наших примера используют именно его; и мы тоже пойдем по стопам учителей. Синтаксис этого ассемблера немного странноватый, совмещающий черты, характерные и для Intel и для AT&T, но после пары недель мучений можно привыкнуть.
    Загрузочный сектор (boot.S)
    Сознательно не буду приводить полных листингов программ. Так станут понятней основные идеи, да и вам будет намного приятней, если все напишете своими руками. Для начала определимся с основными константами.
    START_HEAD = 0 - Головка привода, которою будем использовать.
    START_TRACK = 0 - Дорожка, откуда начнем чтение.
    START_SECTOR = 2 - Сектор, начиная с которого будем считывать наше ядрышко.
    SYSSIZE = 10 - Размер ядра в секторах (каждый сектор содержит 512 байт)
    FLOPPY_ID = 0 - Идентификатор привода. 0 - для первого, 1 - для второго
    HEADS = 2 - Количество головок привода.
    SECTORS = 18 - Количество дорожек на дискете. Для формата 1.44 МБ это количество равно 18.
    В процессе загрузки будет происходить следующее. Загрузчик BIOS считает первый сектор дискеты, положит его по адресу 0000:0x7c00 и передаст туда управление. Мы его получим и - для начала - переместим себя пониже по адресу 0000:0x600, перейдем туда и спокойно продолжим работу. Собственно вся наша работа будет состоять из загрузки ядра (сектора 2 - 12 первой дорожки дискеты) по адресу 0x100:0000, переходу в защищенный режим и скачку на первые строки ядра. В связи с этим еще несколько констант:
    BOOTSEG = 0x7c00 - Сюда поместит загрузочный сектор BIOS.
    INITSEG = 0x600 - Сюда его переместим мы.
    SYSSEG = 0x100 - А здесь приятно расположится наше ядро.
    DATA_ARB = 0x92 - Определитель сегмента данных для дескриптора
    CODE_ARB = 0x9A - Определитель сегмента кода для дескриптора.
    Первым делом произведем перемещение самих себя в более приемлемое место.
    cli
    xor ax, ax
    mov ss, ax
    mov sp, #BOOTSEG
    mov si, sp
    mov ds, ax
    mov es, ax
    sti
    cld
    mov di, #INITSEG
    mov cx, #0x100
    repnz
    movsw
    jmpi go, #0
    Теперь необходимо настроить как следует сегменты для данных (es, ds) и для стека. ............






Похожие работы:

Название:Усадьба Марьино: вековые традиции и современная функция
Просмотров:274
Описание: Андрей Ильин Дворцово-парковый ансамбль усадьбы Марьино, которому в сентябре 2011 года исполнится 200 лет, стал одним из последних шедевров великого русского зодчего А. Н. Воронихина. Вместе с И. Ф. Колодиным, С. П. Лук

Название:Организация как функция менеджмента на примере ЗАО "Ростовская сотовая связь"
Просмотров:279
Описание: Содержание Введение 1. Теоретические аспекты организации как функции менеджмента 1.1 Определение организации 1.2 Понятие организационной структуры 2. Организация управления на примере ЗАО «Ростовская Со

Название:Развитие реального сектора экономики Приднестровской Молдавской Республики
Просмотров:282
Описание: Развитие реального сектора экономики Приднестровской Молдавской РеспубликиТирасполь 2011 СОДЕРЖАНИЕ   1. Промышленность 2. Сельское хозяйство 3. Транспорт и связь 4. Потребительский рынок 5. Цены и тар

Название:Имитационное моделирование показателей мобильного бюджетирования предприятий ремонтного сектора вагонного хозяйства
Просмотров:551
Описание: Тема: «Имитационное моделирование показателей мобильного бюджетирования предприятий ремонтного сектора вагонного хозяйства» Содержание гибкое бюджетирование система упр

Название:Аналитическая теория чисел. L-функция Дирихле
Просмотров:239
Описание: Содержание Введение §1. Характеры Дирихле и L-функции Дирихле §2. Функция θ(x ,χ), её функциональное уравнение §3. Аналитическое продолжение L-функции Дирихле на комплексную плоскость §4. Функциональн

 
     

Вечно с вами © MaterStudiorum.ru