Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler: DOS/Real Mode/16-bits
Войти
Регистрация
Восстановить пароль
 
aizek1
0 / 0 / 0
Регистрация: 29.10.2015
Сообщений: 9
#1

Создать файл. Записать в него строку. Считать и вывести на экран - Assembler

05.11.2016, 17:14. Просмотров 931. Ответов 1

Файл создает и записывает в него текст, но на экран не выводит. В чем может быть ошибка? Помогите пожалуйста!
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
;Определения
stdout  equ     1   ;Дескриптор стандартного вывода
cr  equ 0Dh         ;Возврат каретки
lf  equ 0Ah         ;Перевод строки
text        segment     'code'
assume  CS:text, DS:data
myproc  proc
mov     AX, data
mov     DS,AX
 
;Создадим файл
mov     AH,3Ch          ;Функция создания файла
mov     CX,0                ;Без атрибутов
mov     DX, offset filename     ;Адрес имени файла
int     21h
mov     handle, AX          ;Сохраним дескриптор файла
 
;Запишем строку в файл
mov     AH,40h          ;Функция записи
mov     BX, handle          ;Дескриптор
mov     CX, stringln        ;Длина строки
mov     DX, offset string       ;Адрес строки
int     21h
 
;Откроем файл
mov     AH,3Dh          ;Функция открытия файла
mov     AL,2                ;Доступ для чтения/записи
mov     DX, offset filename     ;Адрес имени файла
int     21h
mov     handle,AX           ;Получили дескриптор
;Попытаемся прочитать 80 байт
mov     AH,3Fh          ;Функция чтения
mov     BX,handle           ;Дескриптор
mov     CX,80           ;Столько читать
mov     DX, offset bufin        ;Сюда
int     21h
mov     CX,AX           ;Столько реально прочитали
;Выведем прочитанное на экран
mov     AH,4Dh          ;Функция записи
mov     BX, stdout      ;Дескриптор стандартного вывода
mov     DX, offset bufin    ;Отсюда выводить (СХ байт)
int     21h
 
;Завершим программу
outprog:    mov     AX,4C00h            ;Функция завершения, код
int     21h                 ;завершения = 0
myproc  endp
text        ends
 
;Поля данных
data        segment
bufin       db  80 dup (' ')        ;Буфер ввода
handle  dw ?                ;Ячейка для дескриптора
filename    db  'MYFILE.001',0  ;Имя файла в формате ASCIIZ
 
;Строка
string  db  'Текстовая строка',cr,lf    ;Строка для записи в файл
stringln    equ     $-string            ;Ее длина
data        ends
 
;Основа
stack       segment     para stack 'STACK'
db      128 dup (?)
stack       ends
end         myproc
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2016, 17:14
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Создать файл. Записать в него строку. Считать и вывести на экран (Assembler):

{FASM] Создать директорию, в ней - файл, записать в него строку, переписать вторую половину строки в другой файл.
Надо выполнить задание, создать директорию, в ней создать файл записать в него...

Считать и вывести строку.
Здравствуйте. фрагменти кода на ассемблере: 1. объявление строки: s1 db...

Очистить экран и вывести на него свою фамилию
Нужно написать программу - Очистить экран и вывести на него свою фамилию. хелп...

Создать дескриптор в GDT по смещению 03Eh и записать в него указатель на процедуру TestMode через сообщение WM_GETTEXT
.586 .model flat, stdcall option casemap:none include...

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

Вывести строку текста на экран
.model small .stack 256 .data Str1 db 'Здравствуй, МИР!!!', '$' .code...

1
proc3nt
волшебник
632 / 494 / 150
Регистрация: 26.05.2012
Сообщений: 1,415
05.11.2016, 19:15 #2
Лучший ответ Сообщение было отмечено aizek1 как решение

Решение

Цитата Сообщение от aizek1 Посмотреть сообщение
mov AH,4Dh ;Функция записи
попробуй заменить на
Assembler
1
mov ah,40h
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2016, 19:15
Привет! Вот еще темы с решениями:

Вывести на экран строку, введенную с клавиатуры
Нужно вывести на экран строку которую только что ввел с клавиатуры. Я написал...

Записать в двоичный файл строку, потом считать ее и вывести на экран
Здравствуйте! Помогите советом или реализацией)

Создать типизированный файл и записать в него 5 одинаковых слов. Вывести слова на экран
Вариант 10. Создать типизированный файл и записать в него 5 одинаковых слов....

Как создать файл TXT и непоказывая его на экране записать в него строку.
Как создать файл TXT и непоказывая его на экране записать в него строку.


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru