рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Отримання за допомогою демонстраційної програми результатів з метою виконання індивідуального завдання

Отримання за допомогою демонстраційної програми результатів з метою виконання індивідуального завдання - раздел Программирование, Виконання програми, написаної на мові Pascal, в налагоджувальному режимі. 7.5.1. Спочатку Треба Демонстраційну Програму Завантажити В ...

7.5.1. Спочатку треба демонстраційну програму завантажити в одне з середовищ, яке підтримує програмування на мові Pascal, і забезпечити її виконання в покроковому режимі.

7.5.2.Для отримання проміжних результатів під час покрокового виконання програми необхідно використати вікна REGISTERS і WATCH із меню DEBUG середовища мови Pascal.

7.5.3. Простежити, як вихідні дані і очікуваний результат з’являються в регістрах процесора.

7.5.4. Отримувані після виконання кожної команди процесора результати треба як коментарі до кожної команди фіксувати в зошиті для звітів. Але спочатку в зошиті для звітів треба відтворити відповідну асемблерну вставку із демонстраційної програми.

7.5.5. Текст демонстраційної програми.

program memory_move;

uses crt;

var

p :pointer;

y :byte;

segm_p, sm_p, segm, smesh,

k :word;

m :longint;

begin

clrscr;

getmem(p,100); {В данном случае процедура getmem выделит область}

{динамической памяти длиной 100 байтов и ее адрес}

{запишет в указатель p}

segm_p:=seg(p); { Это адрес }

sm_p:=ofs(p); {самого указателя p}

write('Адрес указателя p: ');

writeln('segm_p=',segm_p,' sm_p=',sm_p);

segm:=seg(p^); smesh:=ofs(p^); {Это адрес выделенного

динамически участка памяти}

write('Адрес выделенного динамически участка памяти: ');

writeln('segm=',segm,' smesh=',smesh);

smesh:=smesh+50;

writeln;

writeln('Вводим данные в наш сегмент данных, нажимая Enter:');

writeln(' input byte { byte ---> 0..255 (Unsigned 8-bit) }');

write('y = ');

readln(y);

writeln(' input word { word ---> 0..65535 (Unsigned 16-bit) }');

write('k = ');

readln(k);

writeln(' input longint { logint ---> -2 147 483 648..2 147 483 647');

writeln(' (Signed 32-bit) }');

write('m = ');

readln(m);

writeln;

writeln(‘Вывод результата:’);

asm

mov di,smesh

add di,3+1*2

mov ah,y { byte }

push ds { Переходим в выделенный }

mov ds,segm { участок памяти }

mov [di],ah

mov al,[di]

pop ds { Возвращаемся в наш сегмент данных }

add y,al

end;

writeln('byte y = ',y);

asm

mov di,smesh

add di,3+2*2

mov ax,k { word }

push ds

mov ds,segm

mov [di],ax

mov bx,[di]

pop ds

add k,bx

end;

writeln('word k = ',k);

asm

mov di, offset(m) { longint }

mov ax,[di]

mov bx,[di+2]

mov di,smesh

add di,3+3*2

push ds

mov ds,segm

mov [di],ax

mov [di+2],bx

mov cx,[di]

mov dx,[di+2]

pop ds

end;

writeln('longint m = ',m);

asm { запись в регистры }

mov di,smesh

add di,3+2*2

push ds

mov ds,segm

mov ax,[di]

pop ds

end;

asm

mov di,smesh

add di,3+1*2

push ds

mov ds,segm

mov bh,[di]

pop ds

end;

asm

mov di,smesh

add di,3+3*2

push ds

mov ds,segm

mov dx,[di]

mov cx,[di+2]

pop ds

end;

asm

sub bh,3

sub ax,9

end;

FreeMem(p,100);

writeln;

writeln(' Нажмите Enter');

readln;

end.

 

– Конец работы –

Эта тема принадлежит разделу:

Виконання програми, написаної на мові Pascal, в налагоджувальному режимі.

ОБМІН ДАНИМИ МІЖ РЕГІСТРАМИ ПРОЦЕСОРА І ОПЕРАТИВНОЮ ПАМ ЯТТЮ КОМП ЮТЕРА... Мета роботи...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Отримання за допомогою демонстраційної програми результатів з метою виконання індивідуального завдання

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Завдання до лабораторної роботи
7.3.1. Для виконання лабораторної роботи треба використати середовище Turbo Pascal або Borland Pascal, а також мову вбудованого асемблера в демонстраційній програмі.

Хід отримання результатів
Нижче наведена довідкова інформація, необхідна для забезпечення виконання індивідуального завдання в даній лабораторній роботі. 7.4.1. Безпосередньо в програмі на мові

Зміст звіту
7.6.1. Звіт треба оформити в зошиті для звітів або на аркушах формату А4. 7.6.2. Звіт може бути роздрукований. 7.6.3. Звіт викон

Контрольні запитання
1. Назвіть імена і призначення регістрів процесора. 2. Структура команд процесора. 3. Як асемблерні вставки включаються в текст

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги