Форум программистов, компьютерный форум, киберфорум
Assembler: DOS/Real Mode/16-bits
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 19.06.2017
Сообщений: 23

Переименовать файл и выставить атрибут ReadOnly

12.05.2018, 21:58. Показов 1912. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Формат программы-exe-программа
Ввод с клавиатуры - средствами BIOS
Вывод-в графическом режиме
Динамическое распределение памяти- освободить лишнюю память

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
.model small
.stack 100h
.data 
cr  equ     0dh         ; возврат каретки
lf  equ 0ah         ; подача строки
 
String4 db cr,lf,'Variant: 3.2.2.2$'
.code
main:
PUSH DS
POP ES 
MOV AH,56H
MOV DX,offset oldname
MOV DI,offset newname
int 21h
oldname db 'NEWFILE.TXT',0
newname db 'OLDFILE.TXT',0
MOV AH,43H
MOV AL,1
MOV CX,1
MOV DX,offset newname
int 21H
exit:                   ; выход из программы
 
    mov ah,49h          ; Функция освобождения памяти.
    int 21h
    mov ah,4ch          ; выход
    mov al,00h      
    int 21h
end main
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.05.2018, 21:58
Ответы с готовыми решениями:

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

Как установить атрибут ReadOnly у файла после поиска?
Как можно установить атрибут ReadOnly у файла после их поиска? With Application.FileSearch .FileName = "*.doc" .LookIn =...

Как удалить Readonly файл?
Как удалить Readonly файл?

10
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8655 / 4491 / 1669
Регистрация: 01.02.2015
Сообщений: 13,899
Записей в блоге: 12
12.05.2018, 22:09
Так вы не смешивайте код и данные - это же не C/C++.
Данные к данным, код к коду.
0
0 / 0 / 0
Регистрация: 19.06.2017
Сообщений: 23
12.05.2018, 22:23  [ТС]
Тоесть?Не понимаю
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8655 / 4491 / 1669
Регистрация: 01.02.2015
Сообщений: 13,899
Записей в блоге: 12
12.05.2018, 22:26
Названия файлов - это код или данные?
0
0 / 0 / 0
Регистрация: 19.06.2017
Сообщений: 23
12.05.2018, 22:30  [ТС]
Должно быть, данные

Добавлено через 1 минуту
Нужно переименовать файл NEWFILE.TXT В OLDFILE.TXT и выставить атрибут ReadOnly
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8655 / 4491 / 1669
Регистрация: 01.02.2015
Сообщений: 13,899
Записей в блоге: 12
12.05.2018, 22:32
А в каком сегменте располагаются данные?
1
0 / 0 / 0
Регистрация: 19.06.2017
Сообщений: 23
12.05.2018, 22:41  [ТС]
Честно говоря, не знаю.Это записи с лекции. Было две задачи:одна для переименования, другая для установки для атрибута. Я просто их объединила
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8655 / 4491 / 1669
Регистрация: 01.02.2015
Сообщений: 13,899
Записей в блоге: 12
12.05.2018, 23:16
Лучший ответ Сообщение было отмечено Mikl___ как решение

Решение

Alka467, предлагаю решать задание последовательно.
1. Переименовать файл. И ничего больше.
Начните с простой пустой программы - посмотрите некоторые варианты в
Бесконечное повторение кода после команды IDIV
Осознайте, что и инструкции процессора и коды символов - просто числа и процессор не разбирает что находится в ячейке памяти. Если на ячейку указывает cs:ip - то процессор полагает, что это код инструкции.
На данном этапе обучения примите, что данные группируют в сегменте данных, среди всех переменных и констант.

Вот туда и перемещайте названия файлов.

Итак - делайте программу, которая только переименовывает файл.

Сразу добавлю, что emu8086 не работает с файловой системой.
1
0 / 0 / 0
Регистрация: 19.06.2017
Сообщений: 23
26.05.2018, 20:42  [ТС]
Помогите пожалуйста.Я не понимаю как соединить два кусочка, чтобы и переименование и установка атрибута
были в одной проге.В ассемблере практически ничего не понимаю.Плюс есть некоторые условия:
Формат программы: EXE - программа.
Ввод с клавиатуры: средствами BIOS.
Вывод на экран: в графическом режиме.
Динамическое распределение памяти: освободить лишнюю память.

Помогите пожаалуйста.Все,что смогла собрала:

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
;переименование файла
 
;настроить регистр ES на сегмент данных??
ES 
push DS
pop ES
 
;переименование файла
mov AH,56h
mov DX,off set old name ;смещение ячейки old name
mov DI,off set new name
int 21h
 
;пол¤ данных
old name db 'NEWFILE.txt',0
new name db 'OLDFILE.txt',0
 
;установка атрибута ReadOnly
mov AH,43h
mov AL,1 ;установка атрибутов
mov CX,1 ;только дл¤ чтени¤ "1"
mov DX,off set filename
int 21h
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8655 / 4491 / 1669
Регистрация: 01.02.2015
Сообщений: 13,899
Записей в блоге: 12
27.05.2018, 20:22
Переименование, изменение атрибута.
Только названия файлов взял у вас: newname db 'OLDFILE.txt'
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
.model small
 
.stack 100h
 
.data
        CrLf            db      0Dh, 0Ah, '$'
        msgPressAnyKey  db      0Dh, 0Ah, 'Press any key to exit...', '$'
 
        oldname         db      'NEWFILE.txt', 0
        newname         db      'OLDFILE.txt', 0
 
        faReadOnly      equ     0001h
 
        asRenameErr     db      'Rename error', '$'
        asGetAttrErr    db      'Get attribute error', '$'
        asSetAttrErr    db      'Set attribute error', '$'
 
        asRenameOk      db      'Rename - Ok', 0Dh, 0Ah, '$'
        asChAttrOk      db      'Set Read Only - Ok', 0Dh, 0Ah, '$'
.code
 
main    proc
        ;инициализация сегментного регистра ds адресом сегмента данных
        mov     ax,     @data
        mov     ds,     ax
 
        push    es
        mov     ax,     ds
        mov     es,     ax
        mov     ah,     56h
        lea     dx,     [oldname]
        lea     di,     [newname]
        int     21h
        pop     es
        jnc     @@RenameOk
        mov     ah,     09h
        lea     dx,     [asRenameErr]
        int     21h
        jmp     @@Exit
@@RenameOk:
        mov     ah,     09h
        lea     dx,     [asRenameOk]
        int     21h
 
 
        mov     ax,     4300h
        lea     dx,     [newname]
        int     21h
        jnc     @@GetAttrOk
        mov     ah,     09h
        lea     dx,     [asGetAttrErr]
        int     21h
        jmp     @@Exit
@@GetAttrOk:
 
        mov     ax,     4301h
        lea     dx,     [newname]
        or      cx,     faReadOnly
        int     21h
        jnc     @@SetAttrOk
        mov     ah,     09h
        lea     dx,     [asSetAttrErr]
        int     21h
        jmp     @@Exit
@@SetAttrOk:
        mov     ah,     09h
        lea     dx,     [asChAttrOk]
        int     21h
 
 
@@Exit:
        ;ожидание нажатия любой клавиши
        mov     ah,     09h
        lea     dx,     [msgPressAnyKey]
        int     21h
 
        mov     ah,     00h
        int     16h
 
        mov     ax,     4C00h
        int     21h
main    endp
 
end     main
Добавлено через 2 минуты
А всё остальное не понял: выделение/освобождение памяти, графический режим, ввод с клавиатуры.
0
0 / 0 / 0
Регистрация: 19.06.2017
Сообщений: 23
28.05.2018, 22:00  [ТС]
ФедосеевПавел, спасибо большое!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.05.2018, 22:00
Помогаю со студенческими работами здесь

Переименовать файл
Здравствуйте, появился такой вопрос: есть скрипт, который загружает excel файл каждый день. Нужно сохранить этот файл с именем "дата...

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

Переименовать файл
В консольном приложении зделать аналог cmd для переименования файлов файл переименовать как я разобрался а как можна ходить по...

Переименовать файл
Здравствуйте! Помогите пожалуйста написать программу. Пишу на masm611. Теория такая: в текущей директории есть файл other.dat его нужно...

Переименовать файл
Прошу помощи в написании батника. Ежедневно в течение дня, файлы поступают в каталог на обработку (download\Вася.rar Вася_1.rar...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера 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. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru