Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: [решено] Запись в файл
Показать сообщение отдельно

Старожил


Сообщения: 208
Благодарности: 5

Профиль | Отправить PM | Цитировать


Дошёл до того, что сделал 1 часть с пробелами:
Код: Выделить весь код
	.MODEL small			;отводим под стек и под данные по 64Кб
	.STACK 100h				;отмечаем начало сегмента стека
	.386
	.DATA					;отмечаем начало сегмента данных
	NL		db		0Ah, 0Dh, '$'
    Buf		DB		255, 0, 256 DUP (0)     ;
	hFile	dw		?
	Filename	db		'file.txt',0
	.CODE				;отмечаем начало сегмента кодов
	main PROC
		mov		ax,@data		;копируем адрес
		mov		ds,ax		;сегмента данных
	
		mov dx, offset Buf
		mov ah, 0Ah
		int 21h				;запрашиваем строку
 
		mov dx, offset NL
		mov ah, 9h
		int 21h				;переводим строку на экране, выводя CRLF
 
		xor cx, cx 
		mov cl, [Buf+1]
		test cl, cl
		jz Exit				;проверяем длину строки - если пустая, то выходим
	
;		mov si, offset Buf+2		;если не пустая - то будем искать пробелы
;		add Buf+2,cl
		add bx, offset Buf+1
		add bl, cl
		mov	si, bx
last:
		mov		dl,[si]
		cmp		dl,' '
		jne		tmp
		dec		si
		dec		cx
		jmp		last
		
		
tmp:	mov si, offset Buf+2

first:	mov		dl,[si]
		cmp		dl,' '
		jne		Cycle
		inc		si
		dec		cx
		jmp		first
		
Cycle:
		mov dl, [si]			;берём очередной байт
		cmp dl, ' '			;сравниваем с пробелом
		jne	Print
		cmp 	dx,'  '			;а если пробел - то предыдущий был пробел или нет?
        je    NextChar		;если два пробела подряд - не печатаем
		
Print:
		mov     ah,02h		;выбор функции 2
		int     21h			;вызов DOS
		
NextChar:
		mov 	dh,dl		;сохранить текущий символ для теста на следующем витке
        inc 	si			;перейти к следующему символу
		
		loop	Cycle 
 
 
Exit:
		mov ax, 4c00h
		int 21h				;выходим из программы

    main    ENDP
    END main
как с файлом сделать теоретически я представляю,
взять полученную строку и посимвольно записать её в файл...
или записать всё в переменную, что бы в ней получилась обработанная строка...
Но я вообще не поднимаю как это в Ассемблере реализовать ((
я не понимаю как вообще в файл запись происходит...

Отправлено: 18:01, 19-11-2010 | #7

Название темы: [решено] Запись в файл