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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.01.2013, 22:50   #1
Bullrock
Пользователь
 
Регистрация: 01.03.2012
Сообщений: 14
Сообщение Поиск и запись в файл(Assembler)

Необходимо составить программу, которая выполняет поиск в текущем каталоге файлы с расширением .asm и записывает все имена в файл report.exe.
написал вроде, но файл остается пустым. Даже не знаю, что не так ассемблер токо начал учить...
Код HTML:
	.model small
	.stack 32
	.data
	
	fname		db	'report.txt', 0		; ASCIIZ-имя файла
	searchPath  db  "*.asm*"
	dta			db	256 dup (?)
	.code
	.startup
	
	mov	ah, 3Ch		; функция ’Создать файл’
	lea	dx, fname	; DS:DX -> ASCIIZ-имя
	xor	cx, cx		; без атрибутов
	int	21h
	
	;Find First File
				 
        mov ah,4eh
        xor cx,cx
        mov dx, offset searchPath

write_n:			; запись имени найденых файлов в созданный файл

        mov dx,  offset fname	;открываю файл
	mov ah, 3dh 
	mov al, 1 ;доступ
	int 21h
	
	mov bx,ax
	mov ah, 40h
	lea	dx, dta+1Eh	; DS:DX -> записываемая строк	
	lea	cx, dta+1Ah	; ???????
	int	21h

 ;Ищем следующий файл
 
        mov ah,4fh
        lea dx, dta
        int 21h
        jnc write_n   
    
exit:	
	mov	ax, 4C00h
	int	21h

	.exit 0
	end

Последний раз редактировалось Bullrock; 07.01.2013 в 22:52.
Bullrock вне форума Ответить с цитированием
Старый 08.01.2013, 12:34   #2
zhan313
Пользователь
 
Регистрация: 09.12.2011
Сообщений: 44
По умолчанию

Код:
.model small
	.stack 32
	.data
	
	fname		db	'report.txt', 0		; ASCIIZ-имя файла
	searchPath  db  "*.asm",0  ; ASCIIZ-имя файла поиска
	dta			db	256 dup (?)
	.code
	.startup
	
	mov	ah, 3Ch		; функция 'Создать файл'
	lea	dx, fname	; DS:DX -> ASCIIZ-имя
	xor	cx, cx		; без атрибутов
	int	21h
	
	lea	dx,dta    ; устанавливаем свой DTA
	mov	ah,1ah
	int	21h
	
	;Find First File
				 
        mov ah,4eh
        xor cx,cx
        mov dx, offset searchPath
        int 21h

        mov dx,  offset fname	;открываю файл
	mov ah, 3dh 
	mov al, 1 		;доступ
	int 21h
	mov bx,ax
	
write_n:			; запись имени найденых файлов в созданный файл

	mov	ah, 40h
	lea	dx, dta+1Eh	; DS:DX -> начало записываемой строки	
; определяем длину имени файла
	xor	cx,cx
	mov	si,dx
w1:
	lodsb
	inc	cx
	cmp	al,0
	jne	w1
; записываем имя в формате ASCIIZ в файл
	int	21h

 ;Ищем следующий файл
 
        mov ah,4fh
        lea dx, dta
        int 21h
        jnc write_n   
    
exit:	
	mov	ah,3eh  ; не забываем закрывать файл
	int	21h
	mov	ax, 4C00h
	int	21h

	.exit 0
	end
zhan313 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
XML Поиск элемента по значению атрибуту и запись в новый файл Rastamans C# (си шарп) 0 15.12.2012 22:34
Delfi, поиск слов и запись в файл Lady1 Фриланс 10 29.03.2012 23:00
assembler.tasm. Запись результата в файл .txt квант Помощь студентам 0 15.12.2011 00:12
Задачи: Сортировка символьной информации в строке, заданной пользователем.; Чтение и запись данных в файл (Assembler,TASM) User22 Помощь студентам 2 01.12.2011 11:40
Последовательный поиск С++ (+запись и чтение в файл) MC_CUBE Помощь студентам 0 15.06.2011 11:59