Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
SEV
3 / 3 / 1
Регистрация: 20.12.2012
Сообщений: 40
1

Чтение из файла

27.05.2013, 01:35. Просмотров 514. Ответов 0
Метки нет (Все метки)

Доброго времени суток.
Помогите кто чем сможет!!! задача состоит в том, чтобы считать из файла размерность и массив. Не могу понять как считывать.
вот стр-ра файла:
5 ;- размерность
2 ;- размерность
3 4 5 6 7 8 9 1 2 3 ;- массив
Вот код и сама решенная задача(найти в каждом столбце максимальный элемент.)
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
; multi-segment executable file template.
 
data segment
    array dw 3,4,5,6,7,8,9,1,2,3
    new_str db 13,10,' $'  
    ;array= 
    ; {3 4}
    ; {5 6}
    ; {7 8}
    ; {9 1}
    ; {2 3}
 
    ;array dw 2 DUP (5 DUP(?)) ili tak(mas 2x5) 
    max dw 0 
    ;buff db 3 dup(?),',',3 dup(?),'$'
    buff db 3 dup(?),'$'
    handle dw ?  
    filename db 'asm_result.txt', 0
    pkey db "press any key...$"
    filesize dw ?
    hand_r dw ?
    buff1 db 40 dup (?)
    FileName1 db 'array.txt',0h  
 
ends
 
stack segment
    dw   128  dup(0)
ends
 
code segment
    
CloseFile PROC
    mov ah, 3Eh
    int 21h
    ret
CloseFile ENDP
    
start:
; set segment registers:
    mov ax, data
    mov ds, ax
    mov es, ax               
;---------------------------Read------------------------------
 
;---------------------------Read------------------------------
 
;---------------------------matrica--------------------------- 
        mov ah, 3Ch
        xor cx, cx
        mov dx, offset filename
        int 21h   
        mov handle, ax         
         
    xor ax, ax
    mov si, 0
    mov bx, 0
    mov cx, 2
    external:                    ;out cycle
        mov ax, array[bx][si]
        mov max, ax
        push cx
        mov cx, 5                             
        
        internal:                    ;in cycle
            mov dx, array[bx][si]
            add bx, 2
            add si, 2
            cmp dx, max
            jg here
            loop internal
    
            here:
                jcxz move_next
                mov max, dx   
                dec cx
                jmp internal
                move_next:  
      k1:
        ;---------saving registers----
        push ax
        xor cx, cx
        mov bx, 10 
        mov ax, max
        ;-----------------------------
 
        ;---------get number----------
        lp1:
        xor dx, dx 
        div bx
        push dx
        inc cx
        test ax, ax
        jnz lp1
        ;-----------------------------
 
        ;------output number----------
        mov ah, 02h
      k2: 
        pop dx
        add dl, 30h    
        int 21h
        loop k2
        mov ah, 09h
        lea dx, new_str
        int 21h 
        
        ;---------------------------out-in-file-----------------------
        ;mov ah, 3Ch
        ;xor cx, cx
        ;mov dx, offset filename
        ;int 21h   
        mov bx, handle
         
        mov ax, max
 
        cbw
        mov cl, 10
        div cl
        add ah, 30h
 
        mov buff+2, ah
        cbw
        div cl
        add ah, 30h
 
        mov buff+1, ah
        add al, 30h
        mov buff, al
 
        outp:
        mov ah, 40h
        mov cx, 3
        lea dx, buff
        int 21h     
        mov ah, 40h
        lea dx, new_str
        int 21h
 
        ;mov ah, 3Eh
        ;int 21h
        ;jmp exit
        ;---------------------------out-in-file-----------------------
        
        xor ax, ax
        xor cx, cx
        pop ax
        pop cx
        xor si, si
        mov bx, 0
        add si, 2
        
 
        
    loop external     
    ;-----------------------------     
;---------------------------matrica---------------------------
 
        ;mov ah, 3Eh
        ;int 21h
        call CloseFile
exit:
    lea dx, pkey
    mov ah, 9
    int 21h        ; output string at ds:dx
    
    ; wait for any key....    
    mov ah, 1
    int 21h
    
    mov ax, 4c00h ; exit to operating system.
    int 21h    
ends
 
end start ; set entry point and stop the assembler.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2013, 01:35
Ответы с готовыми решениями:

Чтение из файла
Есть код програмы, нужно сделать так что данные считывались из файла. Помогите...

чтение из файла
как считать из текстового файла две строчки желательно вдвухмерный массив с...

Чтение файла
Здравствуйте. Хочу увидеть в дампе памяти свой файл, а что то я его не...

DOSBox и чтение из файла
День добрый, один и тот же код: mov ah,3Fh ;чтение файла mov bx,hnd...

Чтение из файла Tasm
Добрый день. Сделал я, собственно, открытие\чтение\вывод\закрытие файла, да...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2013, 01:35

[emu8086] Чтение матрицы из файла
Есть файл с матрицей внутри: 2 3 1 2 4 5 3 4 1 2 4 5 6 1 0 Нужно прочитать...

Чтение данных массива из файла
Есть некоторый текстовый файл в котором записаны: количество столбцов,...

Чтение из файла, исправить код
Есть програма, которая должна создать папку, потом в файл и записать в файл,...


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

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

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