Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Assembler - файл 1.doc


Assembler
скачать (132.5 kb.)

Доступные файлы (1):

1.doc133kb.15.11.2011 20:07скачать

содержание

1.doc

Министерство образования и науки РФ

Уфимский Государственный Авиационный Технический Университет


Кафедра АПрИС


Лабораторная работа №1

Трансляция, компоновка и отладка программ.


Выполнила:

студентка гр. ИВТ-325


Проверила:

Семененко Д.В.


Уфа-2009 г.


Цель работы: Целью работы является освоение инструментальных средств создания программ на языке ассемблера и получение начальных навыков трансляции, компоновки и отладки программ.


Задача 1: С использованием редактора текста набрать указанную программу, оттранслировать программу в объектный код, скомпоновать программу, изучить листинг программы.


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

TITLE EX_PROG

PAGE ,132

STACK SEGMENT PARA STACK 'STACK'

DB 64 DUP('STACK')

STACK ENDS

DSEG SEGMENT PARA PUBLIC 'DATA'

SOURCE DB 10,20,30,40

DEST DB 4 DUP(?)

DSEG ENDS

SUBTTL

PAGE

CSEG SEGMENT PARA PUBLIC 'CODE'

ASSUME CS:CSEG, DS:DSEG, SS:STACK

OUT_PROG PROC FAR

PUSH DS

SUB AX,AX

PUSH AX

MOV AX,DSEG

MOV DS,AX

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

RET;

OUT_PROG ENDP

CSEG END

END OUT_PROG


^ Результат обработки:




Задача 2:

Внести в программу следующие изменения: задать исходную таблицу ^ SOURCE из 5 двухбайтовых шестнадцатеричных переменных и скопировать эту новую таблицу в DEST.


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

TITLE EX_PROG

PAGE ,132

STACK SEGMENT PARA STACK 'STACK'

DB 64 DUP('STACK')

STACK ENDS

DSEG SEGMENT PARA PUBLIC 'DATA'

SOURCE DW 10,20,30,40,50

DEST DW 5 DUP(?)

DSEG ENDS

SUBTTL

PAGE

CSEG SEGMENT PARA PUBLIC 'CODE'

ASSUME CS:CSEG, DS:DSEG, SS:STACK

OUT_PROG PROC FAR

PUSH DS

SUB AX,AX

PUSH AX

MOV AX,DSEG

MOV DS,AX

MOV AX,SOURCE

MOV DEST+8,AX

MOV AX,SOURCE+2

MOV DEST+6,AX

MOV AX,SOURCE+4

MOV DEST+4,AX

MOV AX,SOURCE+6

MOV DEST+2,AX

MOV AX,SOURCE+8

MOV DEST,AX

RET;

OUT_PROG ENDP

CSEG ENDS

END OUT_PROG


^ Результат обработки:





Задача 3: В программе пункта 5 в сегменте данных дополнительно определить переменные, заполнив их следующими значениями:

  • 5 байтовых переменных AA, BB, CC, DD, EE;

  • 5 двухбайтовых слов AABB, BBCC, CCDD, DDEE, EEFF;


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

TITLE EX_PROG

PAGE ,132

STACK SEGMENT PARA STACK 'STACK'

DB 64 DUP('STACK')

STACK ENDS

DSEG SEGMENT PARA PUBLIC 'DATA'

SOURCE DW 10,20,30,40,50

DEST DW 5 DUP(?)

BYTE1 DB 0AAH,0BBH,0CCH,0DDH,0EEH

WORD1 DD 0AABBH,0BBCCH,0CCDDH,0DDEEH,0EEFFH

DSEG ENDS

SUBTTL

PAGE

CSEG SEGMENT PARA PUBLIC 'CODE'

ASSUME CS:CSEG, DS:DSEG, SS:STACK

OUT_PROG PROC FAR

PUSH DS

SUB AX,AX

PUSH AX

MOV AX,DSEG

MOV DS,AX

MOV AX,SOURCE

MOV DEST+8,AX

MOV AX,SOURCE+2

MOV DEST+6,AX

MOV AX,SOURCE+4

MOV DEST+4,AX

MOV AX,SOURCE+6

MOV DEST+2,AX

MOV AX,SOURCE+8

MOV DEST,AX

RET;

OUT_PROG ENDP

CSEG ENDS

END OUT_PROG


^ Результат обработки:




Задача 4: Из заданного вектора двухбайтовых значений SOURSE переместить, используя косвенную адресацию, данные в область DEST, поменяв местами старшее и младшее слово (если начальное значение в SOURCE равно АAВB, то конечное значение д.б. ВВАА).

Подсказка: для перехода к следующему элементу вектора воспользуйтесь командой инкремента INC, преобразование данных восполните с использованием команды XCHG.


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

TITLE EX_PROG

PAGE ,132

STACK SEGMENT PARA STACK 'STACK'

DB 64 DUP('STACK ')

STACK ENDS

DSEG SEGMENT PARA PUBLIC 'DATA'

SOURCE DW 10,20,30,40

DEST DW 4 DUP(?)

DSEG ENDS

SUBTTL

PAGE

CSEG SEGMENT PARA PUBLIC 'CODE'

ASSUME CS:CSEG, DS:DSEG,SS:STACK

OUR_PROG PROC FAR

PUSH DS

SUB AX,AX

PUSH AX

MOV AX,DSEG

MOV DS,AX

MOV CX,4

MOV SI,0

M1:

MOV AL,SOURCE[SI]

XCHG AL,1

XCHG AL,1

XCHG AL,1

XCHG AL,1

MOV DEST[SI],AL

INC SI

JCXZ EXIT

DEC CX

JMP M1

EXIT: RET

OUR_PROG ENDP

CSEG ENDS

END OUR_PROG

^ Результат обработки:




Вывод: Таким образом, в ходе данной лабораторной работы мы написали несколько простых программ на языке ассемблера и получили начальные навыки трансляции, компоновки и отладки программ.


Скачать файл (132.5 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации