Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2013, 13:10   #1
MasterRat
Новичок
Джуниор
 
Регистрация: 07.12.2013
Сообщений: 2
Печаль Считывание из файла матрицы

Добрый день! Сделал лабораторную, а преподаватель сказал добавить работу с файлами, чтобы моя исходная матрица хранилась в файле и от туда считывалась
Задание: C клавиатуры вводятся размерности N и M и матрица размерности NxM.
Найти максимальный элемент в каждом столбце и вывести полученный вектор на экран.
Само задание работает без проблем, а вот работу с файлами не понимаю.

Вот, что я сделал:
Код:

.model small
.stack 100h
.data
massiv dw 100 dup(?);
n dw ? ;strok
m dw ? ;stolbci
result dw 10 dup(?)
str1 db 10,13, 'Enter number of strings: $'   
str2 db 10,13, 'Enter number of columns: $' 
str3 db 10,13, 'Enter the matrix: $'
str4 db 'Result: $'
message db 10,13,'$' 
     
.code 
 
str2int proc
    xor di,di
    xor si,si
calling:mov ah,08
    int 21h
    cmp al,'0'
    jb r1
    cmp al,'9'
    ja calling
    mov bl,al
    mov ax,di
    mul bp
    mov dh,00
    mov dl,bl
    sub dl,'0'
    add dx,ax
    inc si
    mov di,dx
    mov dl,bl
    mov ah,2    
    int 21h
    jmp calling
ex1:    ret
r1: cmp si,0
    je calling
    cmp al,13
    je entert
    jmp calling
entert: 
    pop bx  
    push di
    push bx 
    jmp ex1
 
str2int endp
 
input_mas proc  
    mov cx,n   
  
calling2:   xor di,di
    xor si,si
calling1:mov ah,08
    int 21h
    cmp al,'0'
    jb r2
    cmp al,'9'
    ja calling
    mov bl,al
    mov ax,di
    mul bp
    mov dh,00
    mov dl,bl
    sub dl,'0'
    add dx,ax
    inc si
    mov di,dx
    mov dl,bl
    mov ah,2    
    int 21h
    jmp calling1
ex2:    ret
r2: cmp si,0
    je calling1
    cmp al,' '
    je enter2
    cmp al,13
    je enter1
    jmp calling1
enter1: 
    pop bx  
    push di
    push bx
    mov ah,9h
    mov dx, offset message
    int 21h
    dec cx  
    cmp cx,0
    je ex2 
    jmp calling2
    
    enter2: 
    pop bx  
    push di
    push bx 
    mov dl,al
    mov ah,2    
    int 21h
    jmp calling2
 
input_mas endp  
 
int2str proc 
    mov bp,10 
    push -1
    mov ax,result[di]
l:  mov dx,0
    div bp
    push dx
    cmp ax,0
    jne l 
    
i:  pop dx
    cmp dx,-1
    je ex6
    add dx,'0'
    mov ah,2    
    int 21h 
    jmp i
ex6:    ret
int2str endp
 
 
 
start:mov ax,@data
    mov ds,ax 
    mov bp,10
    mov dx,offset str1
    xor ax,ax
    mov ah,9h
    int 21h
    call str2int
    pop bx
    mov n,bx 
    mov dx,offset str2
    xor ax,ax
    mov ah,9h
    int 21h 
    call str2int
    pop bx
    mov m,bx
    mov dx,offset str3
    xor ax,ax
    mov ah,9h
    int 21h
    mov ah,9h
    mov dx,offset message
    int 21h
    call input_mas 
   
    
    xor di,di
    mov cx,n
t:    mov bp,cx
  pop dx 
    mov cx,m
    dec cx
 o: pop bx
    cmp dx,bx
    jb tt
yyy:    loop o
    
    mov result[di],dx
    inc di
    inc di
    mov cx,bp
    loop t 
    mov dx,offset str4
    xor ax,ax
    mov ah,9h
    int 21h
yy:   dec  di 
    dec di
    call int2str
    mov dx,32
    mov ah,2
    int 21h
    cmp di,0
    ja yy
       
    mov ax,4c00h
    int 21h
    
tt:  mov dx,bx
    jmp yyy  
 
 
end start
Если можете, помогите разобраться, а то как-то я не могу никак въехать в эту работу с файлами
MasterRat вне форума Ответить с цитированием
Старый 14.12.2013, 11:34   #2
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

Можно попробовать н..ь преподавателя используя перенаправление ввода-вывода (см соответствующую статью в педивикии).
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Считывание из файла в VB 6.0 EREV@N Помощь студентам 1 07.04.2011 17:01
считывание из файла kaljan775 Общие вопросы C/C++ 4 07.10.2010 14:59
Считывание из файла Tema_Crazzzy Visual C++ 2 09.09.2010 13:41
считывание из файла U-S Общие вопросы C/C++ 0 26.02.2010 19:42
Delphi считывание матрицы из файла Remlin Помощь студентам 1 03.05.2009 13:16