Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Assembler
Перезагрузить страницу Удаление комментариев из файла
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
_0_ _0_ вне форума
Новичок
 
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 19.01.2012
Smile Удаление комментариев из файла - 19.01.2012, 16:09

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

asm Код:
my_data         segment
        assume cs:my_data, ds:my_data
iFILEg                  db      'iFILE.txt',0
OLDDIRR         db   'FILE.txt',0
NEWDIRR         db   'FILE.bak',0
fname           db      '1.txt', 0              ; ASCIIZ-имя файла
string          db      'something'             ; записываемая строк
len             =       $-string                ; длина строки
ermes           db      'Err!'
Buffer  DB 14h  DUP(0)  ; буфер на 20 символов
mes db "text from FILE.txt:"
        db      10,13,"=======================",10,13,"$"
mes2 db 10,13,"======================="
         db     10,13,"copy into iFILE.txt",10,13,"$"
 
; Код
begin:  mov     ax, my_data
                mov     ds, ax          ; инициализация DS адресом сегмента данных
                mov es, ax
                MOV  AH,41H         ;удалить копию файла
                LEA  DX,NEWDIRR     ;
                INT  21H
               
               
                mov di,OFFSET NEWDIRR  ;новое имя
                mov ah,56H              ;
                int 21H                 ;переносим файл
               
;======работа с file.txt=====
                        ; Запишем в файл FILE.txt Строку,которую потом будем копировать
                        mov     bx, ax          ; сохраним дескриптор созданного файла
                        mov     ah, 40h         ; функция записи в файл или на устройство
                        lea     dx, string              ; DS:DX -> записываемая строка
                        mov     cx, len
                        int     21h
               
                        mov ax,3d00h ; открываем FILE.txt
                        mov dx, OFFSET OLDDIRR
                        int 21h
                        jc er
                        ;Копируем все что записано в file.txt в буфер
                        mov bx,ax                       ; дескриптор файла в ВХ
                        mov ah,3fh              ; функция чтения файла
                        mov cx,14h              ; сколько читать-20 символов
                        mov dx,OFFSET Buffer    ; заносим в буфер
                        int 21h                
                        jc er
                        ;закрываем file.txt
                        mov     ah, 3Eh
                        int     21h
;===========================
        mov ah, 9    ;месага о том что копируем
        lea dx, mes              
        int 21h
       
        MOV   DI,  offset buffer        ;Адрес буфера с прочитанными данными
        MOV   BX,  17           ;количеству символов в строке
        MOV   BYTE PTR [DI+BX], '$' ;вывод текста без косяков
               
        MOV   AH,  9            ;Выводим строку, считанную из файла
        MOV   DX,  offset buffer        ;на экран
        INT   21h
       
 
;=========Работа с iFILE.txt======
                MOV  AH,3CH         ;создаем iFILE.txt
                MOV  CX,00          ; обычного файла,без атрибутов
                LEA  DX,iFILEg     ;
                INT  21H            ;
                jc er
                ;запись из буффера в файл      
                mov     bx, ax          ; сохраним дескриптор созданного файла
                mov     ah, 40h         ; з
                lea     dx, buffer              ;
                mov     cx, len
                int     21h
 
                mov     ah, 3Eh;закрыть iFile
                int     21h
       
                mov ah, 9    ;
                lea dx, mes2              
                int 21h
                ;======================
                jmp exit
 
er:
                mov     ah, 9   ; и выводим сообщение на экран
                lea     dx, ermes               ; вывод сообщения ermes
                jmp     exit
exit:   mov     ax, 4C00h
                int     21h
my_data   ends
        end     begin

С сохранением в другой файл справилась, помогите с удалением комментариев)
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление комментариев из кода dab00 Visual Basic 1 10.08.2011 10:57
Удаление файла данных Oracle 9i Sergundi Oracle 1 07.08.2008 14:26
Удаление всех многострочных комментариев в С++ germed Вопросы начинающих программистов 2 31.01.2007 16:59
Удаление ненужного файла в программном коде Palich Вопросы начинающих программистов 16 15.08.2006 11:52
Как реализовать удаление из файла dex157 С/С++ 3 29.05.2006 23:36
При создании диалога появляется ошибка в строке комментариев Madrid Visual C++ 6 29.05.2006 12:50
Удаление стуктурированной записи из файла gleban С/С++ 10 27.05.2006 13:53
Удаление файла в С++ Aram Visual C++ 10 14.03.2006 14:24
Удаление строк из файла Leonardo С/С++ 10 10.07.2004 14:56
Как производится удаление букв из файла Sharp Prolog 1 06.06.2004 15:21
Как удалить строки комментариев Koshka Prolog 4 16.05.2004 15:23
Удаление файла во время его работы Erik C++ Builder 5 04.11.2003 11:08



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов