Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
assmblr.doc
Скачиваний:
138
Добавлен:
15.03.2015
Размер:
486.4 Кб
Скачать

3. Методические указания к выполнению лабораторной работы

Перед тем, как приступить к подготовке заданий, выполните самостоятельно все примеры, приведенные в теоретической части.

Практическая часть лабораторной работы состоит из трёх частей. Целью первой части является изучений возможностей системной программы – отладчика Debug. Во второй части необходимо с помощью Debug написать и выполнить программу в машинных кодах, а в третьей – на языке ассемблера.

3.1. Арифметика при помощи команд Debug и просмотр регистров

1. Найдите сумму и разность двух чисел: первое число – номер в группе (переведенное в шестнадцатеричную форму), второе – число, противоположное номеру первой буквы фамилии в алфавите (отрицательное число в дополнительном коде). Противоположным к некоторому х называется число, равное х по абсолютной величине, но обратное по знаку. Сумму и разность переведите вручную в десятичную форму. Запишите ход работы в протокол.

2. Просмотрите содержимое регистров микропроцессора, а также флагов и выпишите их в протокол. Какие функции выполняет каждый из регистров?

3.2. Машинные команды

Запишите в регистр АХ первое число (из задания 1), а в регистр ВХ – второе число. Введите в оперативную память в сегмент кода (смещение 0100) машинную команду сложения регистров АХ и ВХ. Просмотрите на экране ее ассемблерную форму. Выполните эту команду, результат переведите в десятичную форму. Запишите текст программы в протокол.

3.3. Команды ассемблера

Введите в оперативную память набор команд ассемблера для распечатки символа на экране – первой буквы вашей фамилии. Проверьте программу в Debug. Затем запишите ее на диск в виде .COM-файла. Чему равен размер программы? Запустите ее на выполнение. Запишите ход работы в протокол.

4. Контрольные вопросы

  1. Дайте определение алгоритма и программы решения задачи.

  2. Назовите основные классы алгоритмических языков и разновидности трансляторов.

  3. Приведите и поясните типовой состав машинных команд и возможные их структуры.

  4. Что такое регистр процессора?

  5. Какие регистры микропроцессорной памяти используются для адресации данных, команд программы, стековой памяти?

  6. Назовите основные компоненты языка ассемблер, приведите структуру команд.

  7. Приведите структуру ассемблерной программы и дайте краткую характеристику основных структурных фрагментов этой программы.

  8. Каково назначение отладчика программ? Назовите основные его возможности.

Лабораторная работа №2 основы программирования на ассемблере в windows

1. Цель работы

Изучить основы программирования на ассемблере в Win32.

2. Основные сведения

2.1. Особенности программирования на ассемблере для Windows

Долгое время писать на ассемблере означало писать под DOS. С выходом операционной системы Windows 95 программирование на ассемблере несколько потеряло популярность, однако, на сегодняшний день все еще актуально для решения большого круга задач.

Ассемблер используется для оптимизации кода программ, написания драйверов, трансляторов, программирования некоторых внешних устройств и многого другого. Кроме того, знание ассемблера позволяет понять внутреннее устройство процессора, работу программ и операционных систем. В операционной системе Windows программировать на ассемблере легче, чем в операционной системе MS DOS.

Операционная система Windows использует линейную адресацию памяти. Другими словами, всю память можно рассматривать как один сегмент. Для программиста на языке ассемблера это означает, что адрес любой ячейки памяти будет определяться содержимым одного 32-битного регистра, например, EBX. Это первая особенность программирования на ассемблере для Windows.

Второй основной особенностью является то обстоятельство, что программирование в Windows в значительной степени состоит из вызовов функций API.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]