Переименовать текстовый файл и установить на нем атрибут "Только для чтения" - Assembler
Формулировка задачи:
В ассемблере ничего не понимаю просто сказали написать программу, помогите кто сможет буду благодарен).
Программу должна переименовать текстовый файл и установить на нем атрибут "Только для чтения". Заранее спасибо!
Решение задачи: «Переименовать текстовый файл и установить на нем атрибут "Только для чтения"»
textual
Листинг программы
;DOS, TASM, COM-файл ;tasm.exe /m filename.asm ;tlink.exe /t /x filename.obj ; .model tiny .code .386 ORG 100h START: mov ah,56h ;переименовать lea dx,file1 lea di,file2 int 21h mov ax,4301h ;изменить атрибут mov dx,di mov cx,1 ;только для чтения int 21h ret ;завершить программу file1 db '1.txt',0 file2 db '2.txt',0 end start
Объяснение кода листинга программы
- .model tiny - устанавливает модель сегмента данных, используемую в программе. Сегмент данных будет 16-битным сегментом.
- .code - указывает на то, что следующий код должен быть написан в формате кода 16-битного сегмента.
- .386 - указывает на то, что при генерации кода следует использовать 32-битные регистры.
- ORG 100h - указывает начальный адрес сегмента для кода программы.
- START: - определяет точку входа в программу.
- mov ah,56h - устанавливает код функции для операции переименования файла.
- lea dx,file1 - перемещает адрес строки имени файла в регистр dx.
- lea di,file2 - перемещает адрес строки нового имени файла в регистр di.
- int 21h - вызывает функцию DOS для переименования файла.
- mov ax,4301h - устанавливает код функции для изменения атрибутов файла.
- mov dx,di - перемещает адрес нового имени файла в регистр dx.
- mov cx,1 - устанавливает значение параметра, указывающего на то, что файл должен быть доступен только для чтения.
- int 21h - вызывает функцию DOS для изменения атрибутов файла.
- ret - завершает программу.
- file1 db '1.txt',0 - определяет строку, содержащую имя исходного файла.
- file2 db '2.txt',0 - определяет строку, содержащую имя файла, на которое нужно переименовать исходный файл. Следует отметить, что код на ассемблере может быть очень специфичным для конкретной системы и компилятора, поэтому приведенный выше список может не полностью отражать все, что происходит в этом коде.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д