МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ
«ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ»
Кафедра: «Обчислювальна техніка і програмування»
Звіт
з лабораторної роботи №1
Дисципліна: «Системне програмування»
Виконав: Cтуд. гр. КІТ-14в
Михайлюков Д.А.
Перевірив:
Харків 2006
Лабораторна робота №1
Тема: Порівняльний аналіз кодів та данних програм, що створюються системами програмування різних рівнів Паскаль і Асемблер.
Мета: Здобуття практичних навичок порівняльного аналіза коду та данних програм за допомогою системного відладчика.
Заданий масив А з N = 80 елементів (констант типа WORD).
Структура масиву А : --------------------------
|X1|Y1|X2|Y2|..........|
--------------------------
Сформувати масив В з номерів пар елементів, для яких виконується умова Xi = Yi .
Змінна |
Призначення |
Masa |
Заданий масив А |
Masb |
Сформований масив В |
S1 |
Cтрока (nachalo programmi) |
S2 |
Строка (konec programmi) |
|
|
|
|
|
|
|
|
|
.286
data segment
n dw 5
s1 db 'nachalo programmi',10,13,'$'
s2 db 'konec programmi',10,13,'$'
masa dw 1,4, 5,5
masb dw ?
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
mov ah,9h
mov dx,offset s1
int 21h
; Обнуление регистров
xor ax,ax
mov si,ax
mov di,ax
mov dx,ax
mov bx,ax
mov cx,n
; Проверка условия
m1: mov ax,masa[si]
cmp ax,masa[si+2]
jne m3
mov bx, si
shr bx,1
shr bx,1
inc bx
mov masb[di], bx
add di,2
m3: add si,4
loop m1
mov ah,9h
mov dx,offset s2
int 21h
kon: mov ah,4ch
int 21h
code ends
end start
Текст програминамові Pascal
uses crt;
const n=9;
type mas=array[0..n] of integer;
type mas1=array[0..n] of integer;
var
a:mas;b:mas1;i,j,k:integer;
begin
clrscr;
j:=0;
writeln('Vvedute massuv');
k:=$1111;
for i:=0 to n do
readln (a[i]);
k:=$2222;
for i:=0 to 5 do
if (a[i*2]=a[i*2+1]) then
begin
b[j]:=i+1;
j:=j+1;
end;
writeln;
k:=$3333;
writeln ('Isxodnui massiv');
for i:=0 to j-1 do
write (' ', b[i]:3);
k:=$4444;
readln;
end.
Результат роботи програми
Pascal
Сегмент даних до виконання програми
-dds:0
0CAB:0000 00 00 00 00 00 00 00 00-00 00 DA 10 DA 10 DA 10 ................
0CAB:0010 00 00 00 00 FF FF 00 00-DA 10 00 00 DA 10 00 00 ................
0CAB:0020 FF 9F 00 00 DA 10 00 00-00 00 D6 00 11 0C 00 00 ................
0CAB:0030 00 00 00 00 00 00 00 00-86 0B 00 00 00 00 00 00 ................
0CAB:0040 00 00 00 10 40 00 00 A0-00 B0 00 B8 02 00 02 00 ....@...........
0CAB:0050 0D 0A {01 00 01 00 02 00-02 00 03 00 03 00 04 00 ................
0CAB:0060 04 00 05 00 05} 00 00 00-00 00 00 00 00 00 00 00 ................
0CAB:0070 00 00 00 00 00 00 00 00-00 00 09 00 00 00 22 22 ..............""
Сегмент даних після виконання програми
-dds:0
0CAB:0000 00 00 00 00 00 00 00 00-00 00 DA 10 DA 10 DA 10 ................
0CAB:0010 00 00 00 00 FF FF 00 00-DA 10 00 00 DA 10 00 00 ................
0CAB:0020 FF 9F 00 00 DA 10 00 00-00 00 D6 00 11 0C 00 00 ................
0CAB:0030 00 00 00 00 00 00 00 00-86 0B 00 00 00 00 00 00 ................
0CAB:0040 00 00 00 10 40 00 00 A0-00 B0 00 B8 02 00 02 00 ....@...........
0CAB:0050 0D 0A {01 00 01 00 02 00-02 00 03 00 03 00 04 00 ................
0CAB:0060 04 00 05 00 05} 00 {01 00-02 00 03 00 04 00 05} 00 ................
0CAB:0070 00 00 00 00 00 00 00 00-00 00 04 00 05 00 33 33 ..............33
Assembler
Сегмент даних після виконання програми
-d ds:0
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.