Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
5 / 5 / 1
Регистрация: 13.02.2011
Сообщений: 48

Удаление комментариев из текстового файла

19.01.2012, 07:11. Показов 2073. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток)
Необходимо задать в исходном тексте программы имя некоторого файла с исходным текстом программы на ассемблере. Удалить из данного исходного текста комментарии, первоначальную же версию программы сохранить в файле с таким же именем и расширением BAK.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
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

помогите с удалением комментариев из исходного файла)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.01.2012, 07:11
Ответы с готовыми решениями:

Удаление комментариев из текстового файла
Помогите пожалуйста! нужно написать программу для удаления комментариев из текстового файла.

Удаление комментариев из файла
Решил написать программу которая удаляет комментарии из файла и пишет текст в другой файл, но она вдруг запинается на некоторых...

Удаление комментариев из файла
есть набросок функции, которая удаляет из файла все комментарии(с поддержкой многострочности.). помогите исправить ошибки и правильно...

1
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
19.01.2012, 09:04
ro0t, а в чем проблемы?
1) переименуй asm-файл в bak-файл
2) открой файл asm и получи его длину, длину файла помести в регистр CX
3) используй пару команд lodsb/stosb, анализируешь содержимое al до тех под пока не встретишь символ ";"
4) после чего используешь только lodsb и анализируй содержимое AL пока не найдешь символ 0Dh (конец строки) после чего возвращайся к пункту 3
5) создай asm-файл, содержимое буфера, который был заполнен командами stosb скопируй в asm-файл и закрой его
PS. В языке ассемблера допустим и многострочный комментарий. Многострочный комментарий должен начинаться со строчки COMMENT. В качестве маркера многострочного комментария берется первый за словом COMMENT символ, отличный от пробела; этот символ начинает комментарий. Концом многострочного комментария является конец первой из последующих строк программы, в которой в любой позиции снова встретился этот же маркер. Такой вид комментария обычно используется, когда, например, при отладке программы необходимо временно исключить какой-либо фрагмент программы.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.01.2012, 09:04
Помогаю со студенческими работами здесь

Поиск и удаление комментариев из файла
Добрый вечер. Язык С++ изучаю недавно, помогите, пожалуйста, написать программу. Задача программы: найти комментарии в файле после // или...

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

Удаление комментариев из файла, содержащего программный код
Здравствуйте. Дан текстовый файл. В нем находится программа, написанная на Паскале по правилам структурного программирования. Нужно...

Удаление комментариев из файла, содержащего текст Пролог-программы
Здравствуйте. Помогите пожалуйста. - Удаление из файла, содержащего текст Пролог-программы, комментариев. Турбо пролог.

Удаление из текстового файла
Доброго времени суток! Помогите, пожалуйста! Очень нужно на SWI Prolog решение следующей задачи: Удалите из текстового файла, состоящего...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru