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

Как вывести содержимое файла на экран?

27.06.2016, 21:05. Показов 2233. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как вывести содержимое файла на экран (Ассембер)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.06.2016, 21:05
Ответы с готовыми решениями:

Как вывести содержимое файла на экран
Как вывести все с текстового файла на экран???Очень нуждаюсь в вашей помощи

Как вывести содержимое бинарного файла на экран?
Как в программе оформить вывод содержимого бинарного файла на экран? #include <clocale> #include <iostream> #include...

Как вывести содержимое всего файла на экран, принтер, файл?
В книгах уйма информации, я уже не могу ее переваривать. А практику сдавть нужно завтра. Помогите если не сложно.

16
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6208 / 2442 / 403
Регистрация: 29.07.2014
Сообщений: 3,174
Записей в блоге: 4
29.06.2016, 17:39
Лучший ответ Сообщение было отмечено tezaurismosis как решение

Решение

QWEQWE2, показывай свой вариант..
Справочник по прерываниям имеешь? Если нет - скачай хотя-бы TechHelp

Добавлено через 11 часов 38 минут
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
;fasm code...
org 100h
jmp start
 
fName  db   'readme.txt',0
buff   db    0
 
start: mov   ax,3d02h
       mov   dx,fName
       int   21h
       xchg  bx,ax
       mov   si,buff
write: mov   ah,3fh
       mov   cx,1
       mov   dx,si
       int   21h
       lodsb
       cmp   al,'`'           ;eof?
       jz    exit
       int   29h
       dec   si
       jmp   write
 
exit:  xor   ax,ax
       int   16h
       int   20h
0
183 / 121 / 26
Регистрация: 18.05.2015
Сообщений: 509
30.06.2016, 09:32
R71MT, закрыть файл не забыл ?
0
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6208 / 2442 / 403
Регистрация: 29.07.2014
Сообщений: 3,174
Записей в блоге: 4
30.06.2016, 10:16
tahir_, а зачем его закрывать, если дальше закрывается сама программа? (хотя, в идеале и нужно).
Просто если следующий раз кому-то понадобится открыть файл, то дос выделит для него следующий по-номеру хэндл, которых хватит на 255 файлов. Надеюсь ТС не собирается читать столько файлов одновременно..
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
30.06.2016, 11:06
R71MT, читать по одному байту... Не лучше блоком, хотя бы по 16к, и сразу на экран?
И потом, когда в последний раз при чтении получали код eof? Не лучше проверять CF?

Добавлено через 2 минуты
Цитата Сообщение от R71MT Посмотреть сообщение
которых хватит на 255 файлов
строго говоря, на 255-5=250

Добавлено через 35 минут
QWEQWE2, вот мой вариант.
В предыдущем сообщении немного ошибся: конец файла надо проверять не по CF, а по AX = 0
Хотя, для порядка, CF надо тоже проверять, да и при открытии тоже...
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
;tasm code...
.model tiny
.code
.startup
    mov ax, 3d00h
    lea dx, fName
    int 21h
    xchg    bx, ax
    lea dx, buff
 
read_loop:
    mov ah, 3fh
    mov cx, 16384
    int 21h
    test    ax, ax
    jz  exit
    
    push    bx
    mov bx, 1
    mov cx, ax
    mov ah, 40h
    int 21h
    pop bx
    jmp read_loop
 
exit:   mov ah, 3eh
    int 21h
    
    xor ax,ax
    int 16h
    int 20h
      
fName  db       "readme.txt",0
buff   label    byte
    end
0
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6208 / 2442 / 403
Регистрация: 29.07.2014
Сообщений: 3,174
Записей в блоге: 4
30.06.2016, 12:54
QWEQWE2, по-барабану: хоть какой вариант. Он вообще в подполье..
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
30.06.2016, 13:05
R71MT, в глубоком... И чего было воду мутить, если не сильно надо?
0
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6208 / 2442 / 403
Регистрация: 29.07.2014
Сообщений: 3,174
Записей в блоге: 4
30.06.2016, 15:25
_liv_, ты на ник его посмотри - разовый. Появился, взял своё и только пятки сверкали.
Поэтому я и код ему подкинул соответствующий
0
183 / 121 / 26
Регистрация: 18.05.2015
Сообщений: 509
30.06.2016, 21:34
Цитата Сообщение от R71MT Посмотреть сообщение
tahir_, а зачем его закрывать, если дальше закрывается сама программа? (хотя, в идеале и нужно).
думаю ты забыл дос, там так много не открыть, а вот закрыть нужно чтобы сохранить изменения
0
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6208 / 2442 / 403
Регистрация: 29.07.2014
Сообщений: 3,174
Записей в блоге: 4
01.07.2016, 06:04
Цитата Сообщение от tahir_ Посмотреть сообщение
там так много не открыть
..почему, что может помешать этому?
0
780 / 412 / 75
Регистрация: 29.03.2013
Сообщений: 853
01.07.2016, 06:42
Цитата Сообщение от R71MT Посмотреть сообщение
..почему, что может помешать этому?
Например, конфигурация по умолчанию. Для DOS это 8 файлов всего
http://www.easydos.com/files.html
0
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6208 / 2442 / 403
Регистрация: 29.07.2014
Сообщений: 3,174
Записей в блоге: 4
01.07.2016, 06:53
Argogo, теоритически - ничто не мешает. Просто работать с ними будешь по-очереди.
tahir_ наверное имел в виду, что дос однозадачна
0
183 / 121 / 26
Регистрация: 18.05.2015
Сообщений: 509
01.07.2016, 07:15
R71MT, ну как то не порядок, помню конфигурировали config.sys , не помню точно, но что то files 20 или 40 делали, не знаю сколько по умолчанию было в досе
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
01.07.2016, 08:43
Все верно! По-умолчанию - 8! Если отнять 5 стандартных, остается 3!
Дело в том, что в ДОСе память под блоки открытых файлов выделялась статически, в момент загрузки.
Поэтому, в общем случае, много блоков выделять было не резон.
Для разных программ, типа баз данных, приходилось увеличивать при помощи files=40
0
183 / 121 / 26
Регистрация: 18.05.2015
Сообщений: 509
01.07.2016, 09:12
_liv_, если файл не закрыть, сброс данных на диск происходит ?
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
01.07.2016, 10:15
tahir_, как известно, файл на диске это сами данные, цепочка в FAT-е и запись в директории.
Так вот, при записи данных происходит выделение кластеров с помощью FAT-е и заполнение их данными.
При закрытии файла происходит формирование записи в директории.
Если файл не закрыть, то заполненная цепочка кластеров (большая одного кластера) становится потерянной! Что очень даже нехорошо!
При открытии на чтение ничего страшного не произойдет, если не закрыть. Разве что останется занятым дескриптор файла... Лучше все же закрывать...
2
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6208 / 2442 / 403
Регистрация: 29.07.2014
Сообщений: 3,174
Записей в блоге: 4
01.07.2016, 10:28
DOS 40h - Запись в файл/устройство
-----------------------------------
ВХ = дескриптор
При записи в файл на самом деле происходит запись в буфер DOS, данные из которого сбрасываются на диск при закрытии файла. Для немедленного сброса буфера можно использовать функцию 68h.

DOS 3Eh - Закрыть описатель файла
-----------------------------------
ВХ = дескриптор
Файл закрывается, его буфера сбрасываются на диск, оглавление обновляется новыми size/time/data.

DOS 68h - Сброс файлового буфера на диск
-----------------------------------------
ВХ = дескриптор
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.07.2016, 10:28
Помогаю со студенческими работами здесь

Как вывести на экран консоли содержимое из файла txt и при необходимости добавить информацию в файл?
C# Как вывести на экран консоли содержимое из файла txt и при необходимости добавить информацию в файл?

Вывести на экран содержимое файла
В чем моя ошибка, подскажите пожалуйста #include <stdio.h> #include <conio.h> #include <iostream.h> #include <windows> ...

Вывести на экран содержимое *.cs файла
Всем привет. У меня есть cs файл с кодом и его нужно считать в моей новой программе, т.е. сделать так чтоб при нажатии кнопки...

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

Вывести содержимое файла на экран
Здравствуйте! Столкнулся с такой проблемой, что не совсем правильно выводится содержимое файла: string getcontent; ifstream...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru