-44 / 2 / 3
Регистрация: 22.12.2015
Сообщений: 508
1

Запись и чтение строк из файла

31.10.2017, 22:01. Показов 5509. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно доработать код!
Задание полное таково: создать файл, вбить в него две строки (я так понимаю можно сделать это в коде программы, а не с клавиатуры), вывести все содержимое файла на экран, а затем вывести 10-15 и 2-5 байты из первой строки.

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
; masm dos exe #
.286
.model small
.data
file_name db 'c:/gg.com',0               
write_word db "Hello",0dh,0ah,"My dear friend",0 
_size dw $-write_word                     
buf db 99 dup('$') 
Handel dw ?
.code
start:  mov ax,@data
    mov ds,ax
    mov es,ax 
; add your code here
    mov ah,3Dh
    mov dx,offset file_name
    mov al,2
    int 21h      
    mov Handel,ax
        mov bx,ax                   
        mov ax,4202h                    
        mov cx,0
        mov dx,0
        int 21h
    mov ah,40h
    mov bx,Handel
    mov cx,_size
    mov dx,offset write_word
    int 21h
    mov ax,4200h
    mov bx,Handel
    mov cx,0
    mov dx,0
    int 21h
;read
    mov ah,3Fh
    mov bx,Handel
    mov cx,99
    mov dx,offset buf
    int 21h 
    mov dx,offset buf
    mov ah,9
    int 21h 
;close file
    mov ah,3Eh
    mov bx,Handel
    int 21h        
    mov ah,4Ch ; exit to operating system.
    int 21h
end start

Помогите разобраться) Буду очень признателен!)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.10.2017, 22:01
Ответы с готовыми решениями:

Чтение 2 строк из файла и запись в массив
Если строки стандартной длины - 255 символов, то проблем нет... проблема возникает, когда строка...

Чтение из файла и запись строк в массив
Здравствуйте! Сейчас пишу свою реализацию алгоритма FIFS и возникла проблема с записью данных из...

Чтение из файла нескольких строк и запись в переменные
Здравствуйте, я пишу свою консольную игру на C#, сейчас работаю над сохранениями. Ситуация такая: у...

Чтение строк из файла и запись их в отдельном textbox
Всем привет! подскажите как можно считывать из файла строки, чтоб они записывались в отдельный...

3
Модератор
Эксперт по электронике
8475 / 4334 / 1642
Регистрация: 01.02.2015
Сообщений: 13,455
Записей в блоге: 8
31.10.2017, 22:11 2
Описание системных вызовов DOS
http://www.codenet.ru/progr/dos/int_0026.php

Собственно, у вас последовательный вызов нескольких системных вызовов. Без какой либо обработки.
0
-44 / 2 / 3
Регистрация: 22.12.2015
Сообщений: 508
31.10.2017, 22:27  [ТС] 3
Я честно говоря в ассемблере вообще мало что понимаю... Эту программу по большей части и взял на вашем форуме. Могли бы вы именно добавить сюда участки кода и пояснить что и как?
0
Модератор
Эксперт по электронике
8475 / 4334 / 1642
Регистрация: 01.02.2015
Сообщений: 13,455
Записей в блоге: 8
31.10.2017, 23:21 4
Смотрите. Мне несложно доработать программу, но тратить время на ваше экспресс-обучение не буду - для этого у вас есть преподаватель.
Если преподаватель ничего не объясняет - вы всё равно оплатите ему и зачёт и экзамен. Будете жадничать в этом году - не будете в следующем. Всё равно он своё возьмёт.

Так зачем двум незнакомым джентльменам пудрить друг другу мозги?

Добавлено через 28 минут
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
85
86
87
88
89
90
91
92
93
94
95
; masm dos exe #
.286
.model small
.stack 100h
.data
file_name db 'gg.txt',0
string1 db "Hello, my dear friend",0dh,0ah
size1 dw $-string1
string2 db "I'm glad to see you"
size2 dw $-string2
buf db 99 dup('$')
bufsize dw $-buf
buflen dw ?
Handel dw ?
newline db 13,10,'$'
.code
start:  mov ax,@data
    mov ds,ax
    mov es,ax
 
    ;open file to write
    mov ah,3Ch
    mov dx,offset file_name
    mov cx,0
    int 21h
    mov Handel,ax
    ;save the first string
    mov ah,40h
    mov bx,Handel
    mov cx,size1
    mov dx,offset string1
    int 21h
    ;save the second string
    mov ah,40h
    mov bx,Handel
    mov cx,size2
    lea dx, string2
    int 21h
    ;close file
    mov ah,3Eh
    mov bx,Handel
    int 21h
 
    ;open file to read
    mov ah,3Dh
    mov dx,offset file_name
    mov al,0
    int 21h
    mov Handel,ax
    ;read file
    mov ah,3Fh
    mov bx,Handel
    mov cx,bufsize
    lea dx,buf
    int 21h
    mov buflen,ax
    ;close file
    mov ah,3Eh
    mov bx,Handel
    int 21h
 
    ;write strings
    mov ah,40h
    mov bx,1
    mov cx,buflen
    lea dx,buf
    int 21h
    ;new line
    mov ah,09h
    lea dx,newline
    int 21h
    ;write 10-15 chars
    mov ah,40h
    mov bx,1
    mov cx,15-10+1
    lea dx,buf+10-1
    int 21h
    ;new line
    mov ah,09h
    lea dx,newline
    int 21h
    ;write 2-5 chars
    mov ah,40h
    mov bx,1
    mov cx,5-2+1
    lea dx,buf+2-1
    int 21h
    ;new line
    mov ah,09h
    lea dx,newline
    int 21h
 
    mov ah,4Ch ; exit to operating system.
    int 21h
end start
0
31.10.2017, 23:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.10.2017, 23:21
Помогаю со студенческими работами здесь

Чтение строк из файла и запись каждой в свой Label
Очень нужно сделать так, что бы скажем на форме было скажем 6 лайблов, и был задан файл скажем...

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

Чтение строк из файла, объединение и запись в другой файл
Есть текстовый файл в котором записаны несколько строк (строки состоят из 0 и 1). Нужно считать...

Чтение строк текста из файла и запись каждой в свою переменную
В файле input.txt две строки, необходимо чтобы прога прочитала первую строку и записала ее в...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru