Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Листинг трансляции zad2.lst

Читайте также:
  1. Графики вероятностно-временных характеристик по результатам в листингах
  2. Эволюция способов трансляции научных знаний

Отчет по лабораторной работе № 2

Создание и отладка ассемблерных программ. Разработка.EXE-файла.

Получение навыков отладки в среде Turbo Debugger.

Цель работы: Разработка.EXE-файла. Получение навыков отладки в среде Turbo Debugger.

Оборудование: ПК с программой Turbo Debugger.exe.

 

Ход исследования:

 

Программа пересылки данных из одного места оперативной памяти в другое в обратном порядке.

 

stack1 segment stack 'stack'; сегмент стека

db 10 dup ('stack '); резервирование места в памяти

stack1 ends

 

dseg segment; сегмент данных

source db 10,20,30,40; исходная таблица

dest db 4 dup (?); место под результирующую таблицу

dseg ends

 

cseg segment; сегмент кода

assume cs: cseg, ds: dseg, ss: stack1; связь сегментов с регистрами

our_prog:; точка входа программы

mov ax,dseg; инициализация регистра DS

mov ds,ax

 

; присвоить элементам таблицы dest нулевые начальные значения

 

mov dest,0; обнуление первого байта

mov dest+1,0; обнуление второго байта

mov dest+2,0; обнуление третьего байта

mov dest+3,0; обнуление четвертого байта

 

 

; копирование таблицы source в таблицу dest в обратном порядке

 

mov al,source

mov dest+3,al

mov al,source+1

mov dest+2,al

mov al,source+2

mov dest+1,al

mov al,source+3

mov dest,al

 

mov ah,4ch; выход в DOS

int 21h

 

cseg ends; конец сегмента кода

end our_prog; конец программы

 

 

Трансляция и компоновка программы


Листинг трансляции zad2.lst

1 – № строки

2 – относительные адреса команд от начала сегмента

3 – машинные коды команд

4 – исходный текст программы (мнемоническое представление)

 

1 2 3 4

 

1 0000 stack1 segment stack 'stack'; сегмент стека

2 0000 0A*(73 74 61 63 6B + db 10 dup ('stack '); резервирование места в памяти

3 20)

4 003C stack1 ends

6 0000 dseg segment; сегмент данных

7 0000 0A 14 1E 28 source db 10,20,30,40; исходная таблица

8 0004 04*(??) dest db 4 dup (?); место под результирующую таблицу

9 0008 dseg ends

11 0000 cseg segment; сегмент кода

12 assume cs: cseg, ds: dseg, ss: stack1; связь сегментов с

13; регистрами

14 0000 our_prog:; точка входа программы

15 0000 B8 0000s mov ax,dseg; инициализация регистра DS

16 0003 8E D8 mov ds,ax

18; присвоить элементам таблицы dest нулевые начальные значения,

20 0005 C6 06 0004r 00 mov dest,0; обнуление первого байта

21 000A C6 06 0005r 00 mov dest+1,0; обнуление второго байта

22 000F C6 06 0006r 00 mov dest+2,0; и т.п.

23 0014 C6 06 0007r 00 mov dest+3,0

25; копирование таблицы source в таблицу dest в обратном порядке

27 0019 A0 0000r mov al,source

28 001C A2 0007r mov dest+3,al

29 001F A0 0001r mov al,source+1

30 0022 A2 0006r mov dest+2,al

31 0025 A0 0002r mov al,source+2

32 0028 A2 0005r mov dest+1,al

33 002B A0 0003r mov al,source+3

34 002E A2 0004r mov dest,al

36 0031 B4 4C mov ah,4ch; выход в DOS

37 0033 CD 21 int 21h

39 0035 cseg ends; конец сегмента кода

40 end our_prog; конец программы

 

Symbol Name Type Value

 

??DATE Text "09/12/13"

??FILENAME Text "zad2 "

??TIME Text "16:14:58"

??VERSION Number 040A

@CPU Text 0101H

@CURSEG Text CSEG

@FILENAME Text ZAD2

@WORDSIZE Text 2

DEST Byte DSEG:0004

OUR_PROG Near CSEG:0000

SOURCE Byte DSEG:0000

 

Groups & Segments Bit Size Align Combine Class

 

CSEG 16 0035 Para none

DSEG 16 0008 Para none

STACK1 16 003C Para Stack STACK

 

 


Дата добавления: 2015-09-06; просмотров: 92 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Просмотреть содержимое регистров микропроцессора до начала выполнения задания 4 и после его завершения.| КАК БЫЛА НАПИСАНА ЭТА КНИГА — И ПОЧЕМУ

mybiblioteka.su - 2015-2024 год. (0.009 сек.)