КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Физические типы данных ЦП Pentium (по размеру)
Данные, обрабатывамые, к примеру, ЦП Pentium и родственными ему, можно классифицировать по размеру:
Иная классификация обрабатываемых данных может быть сделана, если рассматривать данные не с точки зрения их размера, а по способу их использования процесором: ИТОГИ РАЗДЕЛА
Раздел 03. ЖИЗНЕННЫЙ ЦИКЛ ПРОСТОЙ ПРОГРАММЫ ПЛАН РАЗДЕЛА 1. Что такое жизненный цикл. 2. Написание исходного текста программы. 3. Компиляция исходного текста. 4. Что такое «Объектный файл». 5. Компоновка объектных файлов. 6. Построение исполняемого модуля (файла типа ЕХЕ). 7. Загрузка программы в память и ее исполнение. 8. Освобождение памяти после завершения программы. Что такое «ЖИЗНЕННЫЙ ЦИКЛ» ЖИЗНЕННЫЙ ЦИКЛ – это последовательность состояний (ФАЗ ЖИЗНЕННОГО ЦИКЛА), через которые проходит любая сущность от её зарождения до полного исчезновения. Например, жизненный цикл растения пшеницы: ШАГ 1. ИСХОДНЫЙ ТЕКСТ ПРОГРАММЫ на АССЕМБЛЕРЕ (1/2) .model small; Директива «компилировать в малой (small) модели памяти», ; т.е. с короткими адресами .stack 100h; создавать сегмент стека объёмом 100h байт .data;=============== СЕГМЕНТ ДАННЫХ ======================== Num dw 0; поле для двоичного представления введённого числа buf db 3,?, 5 dup (0Dh); буфер ввода максимум на 3 символа expl db "Ввести точно 3 цифры. Программа вычислит",13,10,\ " по ним число и поместит его по метке Num. ",13,10,\ "Итак, вводите:",13,10,"$" .code;===================== СЕГМЕНТ КОДА ======================== start: mov ax, @data mov ds, ax; инициализация сегмента данных mov ah, 9; вывод приглашения lea dx, expl int 21h
mov ah, 0ah; ввод строки – символьного представления числа (Ну, к примеру, ‘437’) lea dx, buf int 21h ; поразрядное превращение строки символов в двоичное представление числа ; сначала обрабатываем разряд сотен (первая цифра символьной строки) mov bl,100; вес разряда сотен mov al, [buf+2]; читаем цифру, её смещение от начала буфера = 2 sub al, '0'; цифру в число (‘4’ --à 4) mul bl;ах=сколько единиц в сотнях (в АХ в нашем примере получится 400) add Num, ax; накапливаем в Num (0+400=400) mov bl, 10; вес разряда десятков mov al, buf[3]; читаем вторую цифру ‘3’ (десятки), её смещение от начала буфера - 3 sub al, '0‘; ‘3’ -à 3 mul bl; ах=сколько единиц содержится в десятках (у нас в АХ здесь окажется 30) add Num, ax; 400 + 30 = 430 mov al, [buf+4]; читаем число единиц. Вес этого разряда = 1, поэтому умножать не надо. AL=‘7’ sub al, '0‘; ‘7’ à 7 mov ah, 0; ах=сколько просто единиц add Num, ax; 430 + 7 = 437 ;..................................................... ; Готово. Число в двоичном виде - в данных, метка Num. ; Смотреть отладчиком. Выводить научимся чуть позже... mov ah, 4ch int 21h; выход в ДОС end start; закончить компиляцию. Точка входа на метке start. Эту часть файла компилятор tasm.exe вообще не читает. Здесь можно писать любые пояснения и комментарии безо всякого специального оформления. ШАГ 2. КОМПИЛЯЦИЯ Компиляция – (упрощённо) это перевод машинных команд из ТЕКСТОВОГО представления на языке ассемблера, понятное человеку в ЧИСЛОВОЕ представление (коды команд), понятное процессору.
Один из вариантов структуры объектного файла (упрощённо): В байт-редакторе структура объектного файла выглядит как показано ниже. Отдельные секции этого файла выдеоены цветом.
Режимы компиляции у TASM.EXE Исторически первым компилятором асеемблерных программ для ПК был компилятор Microsoft Macro Assembler (MASM). Borland International Inc. создала свой компилятор Borland Turbo Assembler (TASM) позже. Чтобы обеспечить совместимость с MASM, придумали РЕЖИМ КОМПИЛЯЦИИ “MASM”, в котором tasm.exe нормально обрабатывает все директивы Macro Assembler. Но, желая усовершенствовать свой продукт, Borland ввела еще один режим компиляции - “IDEAL”. Этот режим отличается несколько более широкими возможностями программирования (числа с плавающей точкой, структуры, объединения…), более простым синтаксисом и более строгой проверкой типов операндов команд и операций. Tasm.exe версий 4.01 и выше различает директивы обоих режимов контекстуально и, в большинстве случаев, даже не требует явного указания режима компиляции. Именно поэтому можно, к примеру, с одинаковым успехом использовать директиву «.286» или «Р286», разницы нет. ШАГ 3. КОМПОНОВКА Компоновка – (упрощённо) это связывание обращений и входных точек данных и кода одного или нескольких объектных файлов для создания работоспособной программы.
Компоновщик – это утилита TLINK.EXE. Командная строка её вызова: TLINK.EXE prog1.obj
Как строится ИСПОЛНЯЕМЫЙ МОДУЛЬ (exe-файл)
ШАГ 4. ЗАГРУЗКА ПЕРЕД ИСПОЛНЕНИЕМ
…и со следующего такта ПОШЕЛ ПРОЦЕСС ИСПОЛНЕНИЯ ЗАГРУЖЕННОЙ ПРОГРАММЫ.
ПОДВОДЯ ИТОГ… Жизненный цикл ассемблерной программы показан ниже. Итоги раздела 1. Основные фазы ЖЦ программы – сочинение исходного текста, компиляция, компоновка, загрузка в память и исполнение.
Дата добавления: 2014-01-07; Просмотров: 425; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |