Лабораторна робота № 2.
Тема: Вивчити структуру команд процесора і навчитися використовувати
їхні машинні коди . Задіяти можливості, надані системною програмою debug.
Мета: Придбати навички при роботі на MASM
Хід виконання лабораторної роботи.
Текст програми на мові Assembler:
title labrab_2
page ,132
stc segment stack
db 128 dup (?)
tos label word
stc ends
dats segment
text1 db 'begin labrab_2',0ah,0dh,'$'
text2 db 'end labrab_2',0ah,0dh,'$'
A dw 0,1,2,3,4,5,6,7,8,9
B dw 10 dup (?)
kol dw 10
dats ends
cods segment
assume cs:cods,ds:dats,ss:stc
beg: mov ax,stc
mov ss,ax
mov sp,offset tos
mov ax,dats
mov ds,ax
mov ah,9h ; Вывод
lea dx,text1 ; сообщения
int 21h ; на экран
mov cx,kol
xor si,si ; i:=0
mov di,18 ; j:=9
l1: mov ax,A[si] ; (ax):=A[i]
mov B[di],ax ; B[j]:=A[i]
add si,2 ; i:=i+1
sub di,2 ; j:=j-1
loop l1
mov ah,9h ; Вывод
lea dx,text2 ; сообщения
int 21h ; на экран
mov ah,4ch ; Возврат
int 21h ; в систему
cods ends
end beg
Создаємо EXE-файл за допомогою програм Masm та Link. У резулбтаты виконання цих команд створюэться EXE-файл, файл лістінга та файл перехресних ссилок.
Файл лістінгу .lst:
Microsoft (R) Macro Assembler Version 5.10 9/21/3
labrab_2 Page 1-1
1 title labrab_2
2 page ,132
3 0000 stc segment stack
4 0000 0080[ db 128 dup (?)
5 ??
6 ]
7
8 0080 tos label word
9 0080 stc ends
10 0000 dats segment
11 0000 62 65 67 69 6E 20 text1 db 'begin labrab_2',0ah,0dh,'$'
12 6C 61 62 72 61 62
13 5F 32 0A 0D 24
14 0011 65 6E 64 20 6C 61 text2 db 'end labrab_2',0ah,0dh,'$'
15 62 72 61 62 5F 32
16 0A 0D 24
17 0020 0000 0001 0002 0003 A dw 0,1,2,3,4,5,6,7,8,9
18 0004 0005 0006 0007
19 0008 0009
20 0034 000A[ B dw 10 dup (?)
21 ????
22 ]
23
24 0048 000A kol dw 10
25 004A dats ends
26 0000 cods segment
27 assume cs:cods,ds:dats,ss:stc
28 0000 B8 ---- R beg: mov ax,stc
29 0003 8E D0 mov ss,ax
30 0005 BC 0080 R mov sp,offset tos
31 0008 B8 ---- R mov ax,dats
32 000B 8E D8 mov ds,ax
33 000D B4 09 mov ah,9h ; Вывод
34 000F 8D 16 0000 R lea dx,text1 ; сообщения
35 0013 CD 21 int 21h ; на экран
36 0015 8B 0E 0048 R mov cx,kol
37 0019 33 F6 xor si,si ; i:=0
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.