Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
METHOD / МКП / Lab_ASCII / ЛАБ_РАБ_ASCII.doc
Скачиваний:
42
Добавлен:
05.03.2016
Размер:
380.42 Кб
Скачать

7. Работа с регистрами озу средствами языка Паскаль

Паскаль предоставляет программисту возможность обращаться в программе непосредственно к памяти и портам, не прибегая к ас­семблерным вставкам.

Для работы с памятью используются стандартные команды: MEM (для работы с переменными типа «byte» и MEMW для работы с переменными типа «word». Структура двух указанных команд аналогична: MEM [<базовый адрес сегмента> : <смещение>] – разделяются двоеточием. Адреса можно записывать явно, десятичным или шестьнадцатиричным числом (например, $1da8) или указать с помощью стандартных функций Seg() и Ofs() адрес сегмента и смещения для существующей переменной.

Программа pas_mem (файл pas_mem.Pas)

Program pas_mem;

Uses crt,windos;

var

A,B,c,d,t:byte; {переменные размером 8 бит}

x,y,z:word; {переменные «слово» - два байта}

{========================STRAT PROGRAM==================}

ВEGIN

clrscr; {очистка экрана}

A:=112;

b:=Seg(a); {номер сегмента переменной А}

c:=Ofs(a); {смещение переменной А}

A:=A+16;

D:=mem[seg(a):Ofs(a)]; {Запись в переменную D по адресу регистра}

mem[seg(a):Ofs(a)]:=156; {Запись в регистр по адресу}

D:=mem[seg(a):ofs(a)]; { Запись в переменную D по адресу регистра }

memw[108:108]:=257; { Запись в регистр по адресу }

t:=memw[108:108]; { Запись в переменную е по адресу регистра

ВНИМАНИЕ ! Ошибка, потеря данных! }

x:=memw[108:108]; { Запись в переменную x по адресу регистра }

c:=Seg(x); {номер сегмента переменной x}

d:=Ofs(x); {номер сегмента переменной x}

end.

Анализируя программу сделать вывод: почему присвоение переменной t по адресу приведет к ошибке.

Литература

1. Микропроцессорные системы числового программного управления станками. В.Л. Сосонкин, М., Машиностроение. 1985.

2. Программирование обработки на станках с ЧПУ. Р.И. Гжиров, П.П.Серебрицкий, Ленинград, "Машиностроение" ,1990.

3. Токхаим Р. Микропроцессоры: Курс и упражнения. М., Энергоиздат 1988г.

Пример выполнения работы

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

Построение диаграммы последовательной передачи данных.

Выполнил ст. гр. ТМ-02 Шугалеев И.А.

Цель работы:

  1. При заданном байте инициализации портов приема – передачи, для информационного блока «номер студента по списку» - «имя студента» «фамилия» составить диаграмму последовательной передачи данных.

  2. С помощью «трассировщика» (клавиша F8) языка Паскаль изучить работу с регистрами процессора и оперативной памяти.

Номер по списку -13

Имя – Гоша

Байт инициализации -100110112

• биты 1-0 - определяют число бит информационного кода: 8 бит;

• бит 2 - определяет число стоп-бит если 0 то 1 стоп-бит;

• биты 3-4 - контроль четности: 11 – контроль по четности;

• 7-5 - устанавливают скорость обмена 1200 бод.

Формируем ASCII последовательности символов - 13. Гоша Куциев, данные сводим в таблицу

Символы

1

3

.

Г

о

ш

а

ASCII код (дес.)

49

51

46

131

174

232

160

ASCII код (шест)

31

33

83

АЕ

Е8

А0

ASCII код(двоич.)

00110001

00110011

00101110

10000011

10101110

11101000

01010000

Передача данных инициализирована со скоростью 1200 бод, следовательно время передачи одного бита равно:

Выводы по работе.

Заданный информационный блок будет передан за время

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

1. Представление информации в виде цифрового сигнала.

2. Системы счисления применяемые в цифровой технике.

3 Хранение информации в параллельных регистрах.

4. Хранение информации в последовательных регистрах.

5. Характеристика адресной памяти.

6. Характеристика стековой памяти.

7. Периферийные устройства. Общая характеристика.

8. Способы обмена информации между внешним устройством и ЭВМ.

Общая характеристика.

9. Асинхронная последовательная передача данных.

10. Дистанционная связь. Характеристика.

11. Программно-управляемая передача данных. Общая характеристика.

12. Синхронный и асинхронный обмен при программно-управляемой

передаче данных.

13. Обмен информацией по прерыванию.

14. «Порты» обмена информацией

15.Охарактеризовать регистры процессора

16. Пояснить на примерах выполнение операций с регистрами процессора

17. Составить программу на языке «Pascal» «перестановки» старшего и младшего байтов регистра АХ.

18. Программа «DEBUG»

19. Язык Паскаль. Сколько байт памяти выделяется для переменных различного типа.

Соседние файлы в папке Lab_ASCII