Студопедия — Лабораторная работа №5
Студопедия Главная Случайная страница Обратная связь

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

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

Самостоятельная работа.

Димитровградский инженерно-технологический институт – филиал НИЯУ МИФИ

 

 

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

по дисциплине «Организация ЭВМ»

Тема: «Ввод чисел. Перевод чисел в различные системы счисления»

 

 

Выполнил: студент гр. ВТ-31

Горбунов И. М.

Проверил: Аленин

А. А.

 

Димитровград, 2014

 

 

Задание на выполнение лабораторной работы:

Разработать программу вывода строковых данных в файл. Строка вводится с клавиатуры, во введенной строке заменить символы «.» на «,» и вывести результирующую строку в файл. Работа с файлами должна осуществляться через описатели. В программе должны использоваться подпрограммы.

Замечания:

1. Имя файла должно вводиться с клавиатуры.

2. Если файл с введенным именем не существует, то программа должна выдать запрос о необходимости создания файла.

 

 

Выполнение лабораторной работы

Процедура замены

.model small

.data

msg1 db 13,10,'Input filename: $'

msg2 db 13,10,'File does not exist. Create(y/n)?$'

msg3 db 13,10,'Input string: $'

msg4 db 13,10,'Program finished.$'

buf db 200,205 dup(0);принимает строку, введенную с клавиатуры

.stack 256

.code

start:

mov ax,@data;Настраиваем сегментные регистры

mov ds,ax

;ввод имени текстового файла

mov ah,9;функция вывода сообщения на экран

lea dx,msg1;выводимое сообщение

int 21h;выводим на экран

mov ah,0ah;функция ввода строки с клавиатуры

mov dx,offset buf;буфер куда вводить

int 21h;пользователь вводит в текст в buf

mov bl,buf[1];длина введенной строки

mov bh,0;bx=длина введенной строки

mov buf[bx+2],byte ptr 0;добавить 0 в конец введенной строки

mov ax,3d01h;функция открытия файла на запись

lea dx, buf[2];введенное имя файла

int 21h;попытка открыть

jnc opened;если открыт - переход

mov ah,9;функция вывода сообщения на экран

lea dx,msg2;выводимое сообщение

int 21h;выводим на экран

m1: mov ah,0;ф-я ожидания нажатия клавиши

int 16h;ожидаем нажатия клавиши

cmp ah,49;если N

jz ex;то выход

cmp ah,21;если не Y

jnz m1;то повторить ввод

mov ah,3ch;ф-я создания файла

mov cx,0;атрибуты файла

lea dx, buf[2];введенное имя файла

int 21h;создать новый файл

opened: mov bx,ax;сохранить хэндл созданного/открытого файла

mov ax,4202h;переместить

xor cx,cx;указатель файла

xor dx,dx;в конец

int 21h

mov ah,9;функция вывода сообщения на экран

lea dx,msg3;выводимое сообщение

int 21h;выводим на экран

mov ah,0ah;функция ввода строки с клавиатуры

mov dx,offset buf;буфер куда вводить

int 21h;пользователь вводит в текст в buf

lea si,buf[2];начало введенного текста

lp: mov al,[si];взять очередной символ

cmp al,13;если конец строки

jz fin;то закончить

cmp al,'.';если точка

jnz m2

mov [si],byte ptr ',';то заменить ее на запятую

m2: inc si;следующий символ

jmp lp;обработать всю строку

fin: mov cl,buf[1];длина введенной строки

mov ch,0;сx=длина введенной строки

mov si,cx

mov buf[si+2+1],byte ptr 10;За символом 13 в конце строки добавить 10

add cx,2;длина строки+перевод строки

lea dx,buf[2];адрес строки

mov ah,40h;ф-я записи

int 21h;дописываем строку в файл

mov ah,3eh;закрываем

int 21h;файл

ex: mov ah,9;функция вывода сообщения на экран

lea dx,msg4;выводимое сообщение

int 21h;выводим на экран

 

mov ah,1;Ожидаем нажатия любой клавиши

int 21h

mov ax,4c00h;закончить программу

int 21h

 

end start

При запуске программы вводим строку «qwer,,..// qwer». Программа заменяет все точки на запятые и записывает в файл полученную строку, т.е в файле qwe будет записана строка «qwer,,,// qwer» (Рисунок 1).

Рисунок 1 – контрольный пример




<== предыдущая лекция | следующая лекция ==>
САМОСТОЯТЕЛЬНАЯ РАБОТА | Глава 6. ТОТАЛИТАРИСТСКАЯ СПРАВЕДЛИВОСТЬ

Дата добавления: 2015-08-27; просмотров: 549. Нарушение авторских прав; Мы поможем в написании вашей работы!



Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Билет №7 (1 вопрос) Язык как средство общения и форма существования национальной культуры. Русский литературный язык как нормированная и обработанная форма общенародного языка Важнейшая функция языка - коммуникативная функция, т.е. функция общения Язык представлен в двух своих разновидностях...

Патристика и схоластика как этап в средневековой философии Основной задачей теологии является толкование Священного писания, доказательство существования Бога и формулировка догматов Церкви...

Основные симптомы при заболеваниях органов кровообращения При болезнях органов кровообращения больные могут предъявлять различные жалобы: боли в области сердца и за грудиной, одышка, сердцебиение, перебои в сердце, удушье, отеки, цианоз головная боль, увеличение печени, слабость...

Классификация ИС по признаку структурированности задач Так как основное назначение ИС – автоматизировать информационные процессы для решения определенных задач, то одна из основных классификаций – это классификация ИС по степени структурированности задач...

Внешняя политика России 1894- 1917 гг. Внешнюю политику Николая II и первый период его царствования определяли, по меньшей мере три важных фактора...

Оценка качества Анализ документации. Имеющийся рецепт, паспорт письменного контроля и номер лекарственной формы соответствуют друг другу. Ингредиенты совместимы, расчеты сделаны верно, паспорт письменного контроля выписан верно. Правильность упаковки и оформления....

Studopedia.info - Студопедия - 2014-2024 год . (0.016 сек.) русская версия | украинская версия