Запись в файл пяти строк, введенных с клавиатуры - Assembler
Формулировка задачи:
напишите пожалуйста программу))я не силен в ассемблере так как изучал другой язык но сменился препод и внезапно нам дали ассемблер)) до этого изучал с_шарп
Дан пустой текстовый файл 123.txt, записать в него пять строк введенных с клавиатуры.
заранее спасибо.
Решение задачи: «Запись в файл пяти строк, введенных с клавиатуры»
textual
Листинг программы
- .model small
- .386
- .stack 100h
- .data
- filename db '123.txt',0
- handle dw ?
- buf db 100,0,100 dup(0)
- msg1 db 'file wasn"t opened!!!$'
- msg2 db 'writing fail$'
- .code
- start:
- mov ax,@data
- mov ds,ax
- mov ah,3Dh
- mov al,1
- lea dx,filename
- int 21h
- jc open_error
- mov handle,ax
- mov cx,5
- getstring:
- push cx
- mov ah,0Ah
- lea dx,buf
- int 21h
- mov ah,02h
- mov dl,0Ah
- int 21h
- mov ah,02h
- mov dl,0Dh
- int 21h
- xor bh,bh
- mov bl,buf+1
- mov cx,bx
- add cx,2
- mov byte ptr [buf+3+bx],0Ah
- mov ah,40h
- mov bx,handle
- lea dx,buf+2
- int 21h
- jc write_error
- pop cx
- loop getstring
- jmp exit
- open_error:
- mov ah,09h
- lea dx,msg1
- int 21h
- jmp exit
- write_error:
- mov ah,09h
- lea dx,msg2
- int 21h
- exit:
- mov ah,4Ch
- mov al,00h
- int 21h
- end start
Объяснение кода листинга программы
- Установка начального сегмента данных на сегмент стека.
- Объявление переменных:
- filename - строка, содержащая имя файла для открытия, максимальная длина 100 символов.
- handle - целочисленная переменная, в которую будет записан дескриптор файла.
- buf - буфер, в который будут записываться строки.
- msg1 - сообщение об ошибке, если файл не был открыт.
- msg2 - сообщение об ошибке, если произошла ошибка записи.
- Код обработки ошибок открытия файла и записи в файл.
- Начало цикла записи строк в файл. Цикл выполняется 5 раз.
- В каждой итерации цикла считывается строка с клавиатуры, записывается в буфер и записывается в файл.
- После окончания цикла выполняется завершающая операция записи в файл.
- Если произошла ошибка при открытии файла или записи в файл, выводится соответствующее сообщение об ошибке.
- Код выхода из программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д