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


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

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

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

Настоящий "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) и для стека. ............




Нет комментариев.



Оставить комментарий:

Ваше Имя:
Email:
Антибот:  
Ваш комментарий:  



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

Название:Особенности сюжета повести и функция ее заглавия (И.С. Тургенев "После смерти (Клара Милич)")
Просмотров:129
Описание: Отдел образования администрации Центрального района МОУ экономический лицей Секция «Литературоведение» НАУЧНО-ИССЛЕДОВАТЕЛЬСКАЯ РАБОТА по теме «Особенности сюжета повести и функ

Название:Стратегия развития банковского сектора как основа для реализации денежно-кредитной политики Российской Федерации
Просмотров:128
Описание: Департамент образования и науки Кемеровской области государственное образовательное учреждение среднего профессионального образования «Новокузнецкий экономико-отраслевой колледж»

Название:Институт гражданства и его социально-юридическая функция
Просмотров:67
Описание: Оглавление Введение 1. Полномочные органы, ведающие делами о гражданстве Российской Федерации 2. Полномочия Президента Российской Федерации 3. Полномочия федерального органа исполнительной власти, веда

Название:Характеристика гостиниц сектора пять звезд
Просмотров:140
Описание: Оглавление ВВЕДЕНИЕ ГЛАВА 1. КЛАССИФИКАЦИЯ ГОСТИНИЦ 1.1.Международная классификация гостиниц 1.2. Классификация гостиниц в Российской Федерации 1.3.Требования к гостиницам 5 «звезд» ГЛАВА 2. ГРАНД ОТЕЛЬ ЕВ

Название:Экологическая политика и государственная экологическая функция Республики Беларусь
Просмотров:85
Описание: МИНИСТЕРСТВО ВНУТРЕННИХ ДЕЛ РЕСПУБЛИКИ БЕЛАРУСЬ Учреждение образования «Академия Министерства внутренних дел Республики Беларусь» Кафедра экономической безопасности Контрольная рабо

 
     

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