Студопедия — Лабораторная работа №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; просмотров: 543. Нарушение авторских прав; Мы поможем в написании вашей работы!



Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

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

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

ТРАНСПОРТНАЯ ИММОБИЛИЗАЦИЯ   Под транспортной иммобилизацией понимают мероприятия, направленные на обеспечение покоя в поврежденном участке тела и близлежащих к нему суставах на период перевозки пострадавшего в лечебное учреждение...

Кишечный шов (Ламбера, Альберта, Шмидена, Матешука) Кишечный шов– это способ соединения кишечной стенки. В основе кишечного шва лежит принцип футлярного строения кишечной стенки...

Принципы резекции желудка по типу Бильрот 1, Бильрот 2; операция Гофмейстера-Финстерера. Гастрэктомия Резекция желудка – удаление части желудка: а) дистальная – удаляют 2/3 желудка б) проксимальная – удаляют 95% желудка. Показания...

Гальванического элемента При контакте двух любых фаз на границе их раздела возникает двойной электрический слой (ДЭС), состоящий из равных по величине, но противоположных по знаку электрических зарядов...

Сущность, виды и функции маркетинга персонала Перснал-маркетинг является новым понятием. В мировой практике маркетинга и управления персоналом он выделился в отдельное направление лишь в начале 90-х гг.XX века...

Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании...

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