• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Создание файла в Turbo assembler

  • Автор темы Автор темы 5iver
  • Дата начала Дата начала

5iver

Новые
Регистрация
11 Янв 2010
Сообщения
22
Реакции
1
Баллы
0
Создание файла в Turbo assembler

Здравствуйте. Требуется написать com-программу создающую файл, При этом имя файла и информацию в нем надо ввести с клавиатуры. Программу написал но она не хочет создавать файл. Посмотрите пожалуйста где ошибка. Заранее спасибо.
s segment
org 100h
assume cs:s,ds:s
;код программы
begin:
;Ввод имени файла
mov dx,offset priglash1 ;загрузка начального адреса строки в DX
mov ah,9h ; Вывод "введите строку"
int 21h

; ВНИМАНИЕ! Для последующего вывода строки в конце её должен быть $

lea dx,fname ;ввод строки в память
mov ah,0ah
int 21h




;ввод сторки
mov dx,offset priglash2 ;загрузка начального адреса строки в DX
mov ah,9h ; Вывод "введите строку"
int 21h

; ВНИМАНИЕ! Для последующего вывода строки в конце её должен быть $

lea dx,bufout ;ввод строки в память
mov ah,0ah
int 21h



;не лезть сюда
mov ah,3ch ;функция создания файла
mov cx,0 ;атрибут-0
mov dx,offset fname+2 ;адрес имени файла
int 21h
mov handle,dx ;сохраняем в dx дескриптор файла
mov ah,40h ;функция записи в файл
mov bx,handle ;дескриптор
mov cx,buflen ;число записываемых файлов
mov dx,offset bufout ;адрес данных
int 21h
mov ah,3eh ;функция закрытия файла
mov bx,handle ;дескриптор
int 21h
mov ah,10h ;функция ожидания
int 16h
int 20h ;выход из программы
;данные
priglash1 db 'Введите имя файла>','$'
priglash2 db 7,10,13,'Введите строку>','$'
bufout db 20,?,20 dup (?) ,'$'
buflen=$-bufout
handle dw 0
fname db 8,?,8 dup (?) ,0
s ends
end begin
 
Назад
Сверху