Ваша вторая программа на Турбо Ассемблере

 

 

Теперь вы готовы к тому, чтобы ввести и запустить программу,

которая действительно что-то делает. Вернитесь в текстовый редак-

тор и введите следующую программу REVERSE.ASM:

 

.MODEL SMALL

.STACK 100h

.DATA

MAXIMUM_STRING_LENGTH EQU 1000

StringToReverse DB MAXIMUM_STRING_LENGTH DUP (?)

ReverseString DB MAXIMUM_STRING_LENGTH DUP (?)

.CODE

.startup

mov ax,@Data

mov ds,ax; установить регистр DS таким

; образом, чтобы он указывал

mov ah,3fh; функция DOS чтения ввода

mov bx,0; описатель стандартного ввода

mov cx,MAXIMUM_STRING_LENGTH; считать до максималь-

; ного числа символов

mov dx,OFFSET StringToReverse; сохранить строку

int 21h; получить строку

and ax,ax; были считаны символы?

jz Done; нет, конец

mov cx,ax; поместить длину строки в

; регистр СХ, который можно

; использовать, как счетчик

push cx; сохранить в стеке длину

; строки

mov bx,OFFSET StringToReverse

mov si,OFFSET ReverseString

add si,cx

dec si; указывает на конец буфера

; строки

ReverseLoop:

mov al,[bx]; получить следующий символ

mov [si],al; сохранить символы в

; обратном порядке

inc bx; указатель на следующий

; символ

dec si; указатель на предыдущую

; ячейку buffer

loop ReverseLoop; переместить следующий

; символ, если он имеется

pop cx; извлечь длину строки

mov ah,40h; функция записи DOS

mov bx,1; описатель стандартного

; вывода

mov dx,OFFSET ReverseString; напечатать строку

int 21h

Done:

mov ah,4ch; функция DOS завершения

; программы

int 21h; завершить программу

ends

END

 

Скоро вы увидите, что сможет делать эта программа. Для нача-

ла не забудьте ее сохранить (под именем REVERSE.ASM).

 

 

Запуск программы REVERSE.ASM

 

 

Для запуска программы REVERSE.ASM вы должны сначала ассем-

блировать ее:

 

TASM reverse

 

а затем ввести:

 

TLINK reverse

 

для создания выполняемого файла. Запустите программу, введя в от-

вет на подсказку DOS слово reverse. В случае вывода при ассембли-

ровании сообщений об ошибках, внимательно проверьте исходный код,

сравните его с приведенным текстом, а затем попытайтесь повторить

процесс.

 

После запуска программы на экране останется мерцающий кур-

сор. Очевидно, программа ожидает, что вы что-нибудь введете. Поп-

робуйте ввести:

 

ABCDEFG

 

а затем нажмите клавишу ENTER. Программа выведет на экран:

 

GFEDCBA

 

и завершит работу.

 

Теперь ясно, что делает программа REVERSE.ASM: она изменяет

порядок символов во введенной строке на обратный. Быстрая работа

со строками и символами - эта одна из областей, где язык Ассем-

блера превосходно демонстрирует свои качества. Вы увидите это в

следующих нескольких главах.

 

Вас можно поздравить! Вы только что ввели, ассемблировали и

скомпоновали несколько программ на Ассемблере и, таким образом,

ознакомились в действии с основами программирования на Ассембле-

ре: вводом, обработкой данных и выводом.

 

Если вы не хотите создавать объектный файл, но хотите полу-

чить файл листинга, или если вы хотите получить файл перекрестных

ссылок, но не хотите создавать файл листинга или объектный файл,

задайте в качестве имени файла пустое (нулевое) устройство

(NULL). Например, команда:

 

TASM FILE1,,NUL,

 

ассемблирует файл FILE1.ASM в объектный файл FILE1.OBJ, не созда-

вая файла листинга, и создает файл перекрестных ссылок FILE1.XRF.

 

 

Литература по языку Ассемблера

 

 

Многие ведущие издательства издают по продуктам фирмы

Borland превосходные книги, предназначенные для любого круга чи-

тателей - от начинающих пользователей до тех, кто имеет достаточ-

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

можно найти дополнительную информацию о Турбо Ассемблере, Турбо

отладчике и Турбо Профайлере:

 

Ackerman, Charles. Turbo Debugger and Tools: A Self-Teaching

Guide, John Wiley and Sons (New York: 1990).

 

Swan, Tom. Mastering Turbo Assembler. Indianapolis: Hayden

Books, 1989.

 

Swan, Tom. Mastering Turbo Debugger and Tools. Howard W.

Sams and Co. (Carnel, IN: 1990).

 

Syck, Gary. The Waite Group's Turbo Assembler Bible,

Howard W. Sams and Co. (Carmel, IN: 1990).

 

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: