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



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

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

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

Примеры задач для самостоятельного решения. 1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P   1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P...

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

Понятие о синдроме нарушения бронхиальной проходимости и его клинические проявления Синдром нарушения бронхиальной проходимости (бронхообструктивный синдром) – это патологическое состояние...

Опухоли яичников в детском и подростковом возрасте Опухоли яичников занимают первое место в структуре опухолей половой системы у девочек и встречаются в возрасте 10 – 16 лет и в период полового созревания...

Способы тактических действий при проведении специальных операций Специальные операции проводятся с применением следующих основных тактических способов действий: охрана...

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