Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Лабораторная работа 2

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 9.11.2024

Лабораторная работа 2. Описание простых типов данных. Отладчик TURBO DEBUGGER (TD)

Цель работы: изучить правила описания простых типов данных  и основные моменты работы с отладчиком TD.

Задания.

1. Наберите исходный текст программы согласно варианту:

Data

segment

Mess

DB

‘ Директивы данных $’

Pa

DB

Pb

DW

Pc

DD

         данные из вариантов заданий

Mas

DB

         

Pole

DB

Adr

DW

Adr_full

DD

Data

ends

code

segment

assume

cs:code, ds:data

start:

mov

AX, data

mov

DS, AX

mov

DX, offset mess

mov

AH, 9h

int

21h

mov

AX, 4c00h

int

21h

code

ends

end

start

Получив загрузочный модуль, запустите его в Турбо отладчике (TD). В окне DUMP просмотреть сегмент данных, найти все переменные, заданные в вашем варианте и объяснить местоположение и занимаемый объем этой переменной. Вы ответственны не только за описание переменной в сегменте данных, но и за каждый байт памяти.

2. Набрать в кодовом сегменте команды:

mov

AL,

Pa

; AL = ?

mov

BX,

Pb

; BX = ?

mov

BL,

byte ptr Pb

; BL = ?

mov

DX,

word ptr Pc

; DX = ?

mov

CX,

word ptr Pc+2

; CX = ?

mov

DL,

byte ptr Pc

; DL = ?

mov

DH,

byte ptr Pc+1

; DH = ?

В отладчике посмотреть результат выполнения этих команд

Варианты заданий:

1.

Pa

db

73H

8.

Pa

db

5BH

Pb

dw

0AE21H

Pb

dw

0BA21H

Pc

dd

38EC76A4H

Pc

dd

0FA4A32BCH

Mas

db

10 dup(1),2,3

Mas

db

4,5,6,5 dup(0)

Pole

db

5 dup(?)

Pole

db

6 dup(?)

Adr

dw

Pc

Adr

dw

Pc

Adr_full

dd

Pc

Adr_full

dd

Pc

2.

Pa

db

67H

9.

Pa

db

4AH

Pb

dw

4AEFH

Pb

dw

0DEFCH

Pc

dd

12DC4567H

Pc

dd

81ADFF06H

Mas

db

5,6,7,8

Mas

db

5 dup(1),2,3,3 dup(4)

Pole

db

6 dup(0)

Pole

db

6 dup(“ “)

Adr

dw

Pc

Adr

dw

Pc

Adr_full

dd

Pc

Adr_full

dd

Pc

3.

Pa

db

4DH

10.

Pa

db

7FH

Pb

dw

0ED56H

Pb

dw

0ACDEH

Pc

dd

32AF8DD7H

Pc

dd

10B0A488H

Mas

db

4,3,5, 4 dup(0)

Mas

db

3 dup(0),1,2,3, 4 dup(0)

Pole

db

6 dup(?)

Pole

db

5 dup(32)

Adr

dw

Pc

Adr

dw

Pc

Adr_full

dd

Pc

Adr_full

dd

Pc

4.

Pa

db

5DH

11.

Pa

db

0BCH

Pb

dw

0A1A3H

Pb

dw

903FH

Pc

dd

3 dup(4),5,6

Pc

dd

6CAA3E41H

Mas

db

4,3,5, 4 dup(0)

Mas

db

1,2,3, 4 dup(4)

Pole

db

5 dup(?)

Pole

db

5 dup(?)

Adr

dw

Pc

Adr

dw

Pc

Adr_full

dd

Pc

Adr_full

dd

Pc

5.

Pa

db

62h

12.

Pa

db

0FBH

Pb

dw

7ED1H

Pb

dw

54ADH

Pc

dd

0EE45DA31H

Pc

dd

0E04365FAH

Mas

db

1,2, 6 dup(3),0

Mas

db

3 dup(0), 4 dup(1),2,3

Pole

db

5 dup(0)

Pole

db

5 dup(?)

Adr

dw

Pc

Adr

dw

Pc

Adr_full

dd

Pc

Adr_full

dd

Pc

6.

Pa

db

0FFH

13.

Pa

db

11H

Pb

dw

4ADEH

Pb

dw

4D2DH

Pc

dd

0C23891F5H

Pc

dd

98ADF156H

Mas

db

4 dup(0),1,2,3

Mas

db

5 dup(0),1,2,3

Pole

db

3 dup(‘ ‘)

Pole

db

3 dup(?)

Adr

dw

Pc

Adr

dw

Pc

Adr_full

dd

Pc

Adr_full

dd

Pc

7.

Pa

db

0AEH

14.

Pa

db

10H

Pb

dw

63BCH

Pb

dw

1A2DH

Pc

dd

63BCDEF3H

Pc

dd

55AEF2C8H

Mas

db

9,8,3 dup(0)

Mas

db

1,2,3,4,5,6

Pole

db

5 dup(“ “)

Pole

db

5 dup(0)

Adr

dw

Pc

Adr

dw

Pc

Adr_full

dd

Pc

Adr_full

dd

Pc

Методические рекомендации по выполнению лабораторной работы

TASM предоставляет широкий набор средств описания и обработки данных, который можно сравнить с аналогичными средствами некоторых языков высокого уровня. Правила описания простых типов данных являются базовыми для описания более сложных типов. Для описания простых типов данных в программе используются специальные директивы резервирования и инициализации данных, которые по сути являются указаниями транслятору на выделение определенного объема памяти.

Существуют следующие поддерживаемые TASM директивы данных:

DB (Define Byte)

резервирование памяти для данных размером 1 байт;

DW (Define Word)

резервирование памяти для данных размером 2 байта;

DD (Define Double word)

резервирование памяти для данных размером 4 байта;

DF (Define Far word)

резервирование памяти для данных размером 6 байт;

DP(Define Pointer)

резервирование памяти для данных размером 6 байт;

DQ(Define Quarter word)

резервирование памяти для данных размером 8 байт;

DT(Define Ten Bytes)

резервирование памяти для данных размером 10 байт.

Директивы данных имеют следующий формат:

[Имя ] мнемоника директивы [выражение] [;комментарий].

При определении переменной без присваивания ей начального значения надо указывать в поле выражения вопросительный знак (?).Например:

А db ? - неинициализированная переменная А (содержимое выделенного участка физической памяти в 1 байт изменяться не будет).

A db 10011011b - инициализированная переменная (транслятор выделяет 1 байт памяти переменной А и записывает указанное значение в память).

Порядок размещения данных в памяти напрямую связан с логикой работы микропроцессора с данными. Микропроцессоры  INTEL требуют следования данных в памяти по принципу: младший байт по младшему адресу.

Отладчик Turbo Debugger (TD) представляет собой оконную среду отладки программ на уровне исходного текста на многих языках программирования и, в том числе на ассемблере. Он позволяет определить причину и место логической ошибки.

Основную часть экрана отладчика занимают одно или несколько окон. В каждый момент времени активным может быть только одно из них. Активизация любого окна производится щелчком мышью в любой видимой точке окна. Управление работой отладчика ведется  с помощью системы меню. Имеется два типа таких меню:

- глобальное меню – находится в верхней части экрана и доступно постоянно, вызов клавишей F10;

- локальное меню - для каждого окна отладчика можно вызвать его собственное меню, которое учитывает осбенности этого окна, клавиши ALT-F10.

Из четырех режимов чаще всего вам придется работать в режиме пошагового выполнения программы. В этом режиме вы можете выполнить программу по командам, при этом можно наблюдать результат исполнения каждой команды. Для активизации этого режима нужно нажать клавиши F7 (процедуры также выполняются по шагам) или F8 (процедура отрабатывается как одна команда). В этом режиме полезно использовать окно CPU, которое можно вызвать через меню VIEW|CPU.

Это окно отражает состояние микропроцессора и состоит из 5 подокон:

окна с исходной программой в дизассемблированном виде. Это та же программа, что и в окне MODULE, но уже в машинном коде. Пошаговую отладку можно производить прямо в этом окне;

REGISTERS – окна регистров микропроцессора, отражающего текущее состояние регистров;

окна флагов, которое отражает текущее состояние флагов микропроцессора;

окна стека STACK, отражающего содержимое памяти, выделенной   для стека;

окна с дампом памяти DUMP, отражающего содержимое области памяти данных.

В окне отладчика под названием MODULE вы увидите исходный текст программы с курсором выполнения (в виде треугольника).

Исходный модуль должен быть оттранслирован с опцией /zi:

Tasm /zi имя_исходного_модуля

Компоновка модуля должна быть осуществлена с опцией /v:

Tlink /v  имя_объектного_модуля

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

Td имя_исполняемого_модуля.

Основная литература –3[690-691]

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

  1.  Как размещаются в памяти байты?
  2.  Как размещаются в памяти слова, двойные слова?
  3.  С какого байта адресуются слова, двойные слова?
  4.  Как размещается в памяти полный адрес переменной?
  5.  Какие операторы используются в команде ассемблера, если размеры регистров и переменных не одинаковы?




1. РУБЦОВСКИЙ МАШИНОСТРОИТЕЛЬНЫЙ ТЕХНИКУМ Утверждено на заседании предметноцикловой к
2. а. Энтропия. Третье начало термодинамики
3. Баланс КОДИ 2012 12 31
4. Названа в честь Джона Дальтона который впервые описал один из видов цветовой слепоты на основании собствен
5. Анализ финансового состояния ОАО Транснефтепродукт
6. В мире сновидений
7. тема скидок с цен является чрезвычайно полезным и гибким инструментом маркетинга любой фирмы
8. Защита жизни
9. Основные проблемы современного образования
10. от мотивов которые у этого человека есть и побуждают его определённым образом себя вести
11. Управленческий учет на предприятии
12. Комплектование деталей
13. Реферат- Джек Уэлч
14. Опасность школьной дезадаптации
15. Профілактичні можливості адвоката у конкретній кримінальній справі
16. Депортация народов
17. I est sum fui esse ~ 3л sg cc Debetur debeo debere 2 ~ 3л sg pss ~ причитается ction ction onis f ~ 3 nom sg ~ иск nih
18. .Установите последовательность монтажа жб стеновых панелей многоэтажных каркасных зданий на основе рабоче
19. Детали машин подъемнотранспортные машины и механизмы ДЕТАЛИ МАШИН Лабораторные рабо
20. Шпаргалки по земельному праву для ГОС