Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет№8(asm).docx
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
89 Кб
Скачать
☆

2.Расчетно-графическая часть

Задание (Вариант 8): Напишите программу, которая пересылает информацию из области с начальным адресом LIST и конечным адресом LIST+20 в область с соответствующими адресами BLK и BLK+20.

Листинг программы:

Turbo Assembler Version 2.5 01/18/13 03:36:11 Page 1

lab33.ASM

1 0000 sts SEGMENT PARA STACK 'Stack'

2 0000 20*(????) DW 32 DUP (?)

3 0040 sts ENDS

4

5 0000 data SEGMENT

6 0000 15*(31) LIST db 21 dup ('1') ;инициализировать 21 символами единицы

7 = 0015 strlen equ $-LIST ;вичислить длину области

8 0015 16*(24) BLK db 22 dup ('$') ;зарезервировать память для строки+символ для вывода строки

9 002B data ends

10

11 0000 text SEGMENT

12 assume CS:text, DS:data, SS:sts

13 0000 main:

14 0000 B8 0000s mov ax,data

15 0003 8E D8 mov DS,AX

16 0005 8E C0 mov es,ax

17 0007 B9 0015 mov cx,strlen ;длина области

18 000A BE 0000r lea si,LIST ;из DS:SI

19 000D BF 0015r lea di,BLK ;в ES:DI

20 0010 F3> A4 rep movsb ;выполнить копирование

21 0012 B4 09 mov ah,9 ;вывод строки на экран

22 0014 BA 0015r lea dx,BLK ;адрес строки

23 0017 CD 21 int 21h

24 0019 B4 00 mov ah,0 ;ждать нажатой клавиши

25 001B CD 16 int 16h

26 001D B4 4C mov ah,4Ch ;выход из программы

27 001F CD 21 int 21h

28 0021 text ends

29 end main

Turbo Assembler Version 2.5 01/18/13 03:36:11 Page 2

Symbol Table

Symbol Name Type Value

??DATE Text "01/18/13"

??FILENAME Text "lab33 "

??TIME Text "03:36:11"

??VERSION Number 0205

@CPU Text 0101H

@CURSEG Text TEXT

@FILENAME Text LAB33

@WORDSIZE Text 2

BLK Byte DATA:0015

LIST Byte DATA:0000

MAIN Near TEXT:0000

STRLEN Number 0015

Groups & Segments Bit Size Align Combine Class

DATA 16 002B Para none

STS 16 0040 Para Stack STACK

TEXT 16 0021 Para none

Вывод

Научились анализировать ход выполнения программы на языке Ассемблера при помощи отладчика TurboDebugger.

Библиографический список

1.Программирование Ассемблер URL: http://citforum.ru/programming/asm.shtml (дата обращения 16.01.2013)

2.Программирование на языке Ассемблер URL: http://www.studfiles.ru/dir/cat32/subj1258/file11569/view110334.html (дата обращения 16.01.2013)