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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2009, 22:02   #1
iwaniwan
Пользователь
 
Регистрация: 14.04.2009
Сообщений: 19
По умолчанию запись в файл

нужно открыть "файл" в нем набран текст, ввести слово и оно добавится в конец текста и сохранится, прошу помочь пож-ста попролбовал сделать- не работает
Код:
data segment 
code segment                            
start:                                  
assume ss:stk, ds:data, cs:code         
mov ax,data                             
mov ds,ax 

mov ax,3D02h              
int 21h 
mov ah, 3Fh         
mov bx,0            
lea dx, infile3     
mov cx, 256          
int 21h             
mov si, -1          
poka_no_en2:        
inc si              
mov al, tmpstr[si] 
cmp al, 13          
jne poka_no_en2  
		 
		 
 mov ax,4202h  ;перевод указателя в конец файла
mov dx,offset ravno 
 mov ah,40h   ;запись в конец файла полученного результата
 mov cx,8
 int 21h
 
 mov ah,3eh   ;закрытие файла
 int 21h       
              
mov ah,4ch	;exit_from_program
int 21h                       
                              
code ends
end start

Последний раз редактировалось rpy3uH; 20.05.2009 в 17:08.
iwaniwan вне форума Ответить с цитированием
Старый 19.05.2009, 22:59   #2
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

Блин, ну читать то вы умеете:
Вам же компилятор практически по русски пишет чего здесь не так.

Цитата:
Turbo Assembler Version 3.1 Copyright (c) 1988, 1992 Borland International

Assembling file: proga32.asm
**Error** proga32.asm(4) Undefined symbol: STK
**Error** proga32.asm(12) Undefined symbol: INFILE3
**Error** proga32.asm(18) Undefined symbol: TMPSTR
**Error** proga32.asm(24) Undefined symbol: RAVNO
*Warning* proga32.asm(36) Open segment: DATA
Error messages: 4
Warning messages: 1
Passes: 1
Remaining memory: 423k
**Error** proga32.asm(4) Undefined symbol: STK - не определён сегмент стека, действительно, где он?

**Error** proga32.asm(12) Undefined symbol: INFILE3
**Error** proga32.asm(18) Undefined symbol: TMPSTR
**Error** proga32.asm(24) Undefined symbol: RAVNO
где все эти переменные (данные, метки)?

*Warning* proga32.asm(36) Open segment: DATA - забыли определить конец секции данных.

Способ решения.
1. Определить сегмент стека
2. Определить все переменные, на отсутствие которых ругается компилятор.

Вот, прицепил то, что получилось у меня. Вам надо только немного доделать этот пример.
Вложения
Тип файла: rar proga32.rar (1.0 Кб, 54 просмотров)
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru

Последний раз редактировалось Ulex; 19.05.2009 в 23:34.
Ulex вне форума Ответить с цитированием
Старый 19.05.2009, 23:55   #3
iwaniwan
Пользователь
 
Регистрация: 14.04.2009
Сообщений: 19
По умолчанию

спасибо большое буду изучать помогли
iwaniwan вне форума Ответить с цитированием
Старый 20.05.2009, 20:38   #4
Xatr
Форумчанин
 
Аватар для Xatr
 
Регистрация: 17.09.2008
Сообщений: 349
По умолчанию

Народ, а как открыть файл, прочитать целую строку, и сохранить эту строку в переменную? Число строк известно. Их 37000.
Мне это нужно для загрузки проги с параметром (prog.exe a)
a - переменная, в которой прочитанная строка
(masm32)
если чем помог, поставьте отзыв на весы
Xatr вне форума Ответить с цитированием
Старый 20.05.2009, 21:13   #5
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Открытие и чтение строки, функции: CreateFile и ReadFile
Получение параметров командной строки, функция: GetCommandLine
rpy3uH вне форума Ответить с цитированием
Старый 20.05.2009, 21:42   #6
iwaniwan
Пользователь
 
Регистрация: 14.04.2009
Сообщений: 19
По умолчанию

еще как перевести каретку курсора на новую строку есть функция?

как можно вывести строчку по найденому слову ///Важно//

т.е. тупо дан текст в 5 строк нуно по найденому словувывести целеком строку

Последний раз редактировалось iwaniwan; 20.05.2009 в 21:48.
iwaniwan вне форума Ответить с цитированием
Старый 20.05.2009, 23:46   #7
r9m
₪₪₪₪₪₪₪₪
Форумчанин
 
Аватар для r9m
 
Регистрация: 16.04.2007
Сообщений: 471
По умолчанию

>>еще как перевести каретку курсора на новую строку есть функция?

10h,13h

>> как можно вывести строчку по найденому слову ///Важно//
т.е. тупо дан текст в 5 строк нуно по найденому словувывести целеком строку

проверять все слова строки на предмет вхождения нужной фразы
r9m вне форума Ответить с цитированием
Старый 21.05.2009, 15:47   #8
iwaniwan
Пользователь
 
Регистрация: 14.04.2009
Сообщений: 19
По умолчанию

можно пример пож-ста я могу найти слово в тексте но вывести строку где слово-не получается

Последний раз редактировалось iwaniwan; 21.05.2009 в 20:15.
iwaniwan вне форума Ответить с цитированием
Старый 02.06.2009, 19:59   #9
Xatr
Форумчанин
 
Аватар для Xatr
 
Регистрация: 17.09.2008
Сообщений: 349
По умолчанию

ReadFile - вывод одной строки из файла до символов 10,13 или вывод целого файла, как одной строки? Пробовал в Delphi, получился второй вариант:

procedure TForm1.Button2Click(Sender: TObject);
var
SavedFile: THandle; // holds a handle to the open file
TextSize: LongInt; // holds the size of the text in the memo
TheText: PChar; // holds the text in the memo
BytesRead: DWORD; // the number of bytes read from the file
begin
SavedFile:=CreateFile('1.txt',GENER IC_READ,0,NIL,OPEN_EXISTING,FILE_AT TRIBUTE_NORMAL or FILE_FLAG_SEQUENTIAL_SCAN,0);
GetMem(TheText,TextSize);
ReadFile(SavedFile,TheText^,TextSiz e,BytesRead,NIL);
b:=string(TheText);
Memo1.Text:=b;
FreeMem(TheText,TextSize);
end;

А можно примерчик на masm?
если чем помог, поставьте отзыв на весы
Xatr вне форума Ответить с цитированием
Старый 02.06.2009, 22:23   #10
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

Цитата:
ReadFile - вывод одной строки из файла до символов 10,13 или вывод целого файла, как одной строки?
Насколько я в курсе, ни то, ни другое. ReadFile просто читает из файла определённое количество байт, ровно столько, сколько вы ему скажете, если конечно файл раньше не закончится.

Цитата:
BOOL ReadFile(

HANDLE hFile, // handle of file to read
LPVOID lpBuffer, // address of buffer that receives data
DWORD nNumberOfBytesToRead, // number of bytes to read
LPDWORD lpNumberOfBytesRead, // address of number of bytes read
LPOVERLAPPED lpOverlapped // address of structure for data
);
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись в файл (C++) Serant Помощь студентам 0 10.05.2009 09:49
Запись в файл Titan123 Общие вопросы Delphi 6 23.08.2008 01:12
Запись в файл |{ot Общие вопросы Delphi 6 05.07.2008 02:24
Запись в файл С++ Viteks Общие вопросы C/C++ 3 18.04.2008 13:18
Запись в файл на С++ Mails Помощь студентам 7 31.03.2008 14:37