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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.01.2011, 14:48   #1
warkk
Пользователь
 
Регистрация: 23.11.2010
Сообщений: 10
По умолчанию Создание папки

Здравствуйте не получается создать папку

Код:
.data
buff db 254,0,254 dup ('$')
msg db 'Enter directory name: $'
.code
main:

	mov ax, @data 
	mov ds, ax

	mov ah, 09h
	mov dx, offset msg
	int 21h
	
	mov ah, 0Ah
	mov dx, offset buff
	int 21h
		
	mov ah, 39h
	mov dx, offset buff+2
	int 21h
Естественно, папка не создается, т.к. в конец строки с именем директории нужно вставить 0. Если написать так, то папка создается
Код:
...
.data
path db 'E:\NewFolder', 0
...
	mov ah, 39h
	mov dx, offset path
	int 21h
Так как мне вставить в конец введенной строки 0? Длинну строки которую я ввел можно получить mov cl, buf+1
warkk вне форума Ответить с цитированием
Старый 24.01.2011, 19:00   #2
vadimych
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 325
По умолчанию

////////////

Последний раз редактировалось vadimych; 24.01.2011 в 19:56.
vadimych вне форума Ответить с цитированием
Старый 24.01.2011, 19:00   #3
vadimych
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 325
По умолчанию

Можно так попробовать:

Код:
lea di,buff
met:
mov ah,1
int 21h
stosb
cmp al,'0'
jnz met

mov ah,39h
mov dx,offset buf 
int 21h

Последний раз редактировалось vadimych; 24.01.2011 в 19:58.
vadimych вне форума Ответить с цитированием
Старый 24.01.2011, 20:46   #4
warkk
Пользователь
 
Регистрация: 23.11.2010
Сообщений: 10
По умолчанию

Мне нужно в конец строки (buff) которую я ввел с клавиатуры, вставить 0.
warkk вне форума Ответить с цитированием
Старый 25.01.2011, 02:02   #5
vadimych
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 325
По умолчанию

Нужно ноль вставить,или папку создать? В моём коде нулём завершается цикл ввода.
vadimych вне форума Ответить с цитированием
Старый 25.01.2011, 02:26   #6
Ant1971on
Пользователь
 
Регистрация: 20.07.2010
Сообщений: 52
По умолчанию

Код:
----------------------
	MOV AH,0Ah
	MOV DX,OFFSET BUF
	INT 21h

	MOV BH,0	
	MOV BL,N
	MOV N[BX+1],0

	MOV AH,39h
	MOV DX,OFFSET BUF+2
	INT 21h
------------------------
BUF	DB 254
N	DB 0
STR	DB 254 DUP(0)
Ant1971on вне форума Ответить с цитированием
Старый 25.01.2011, 08:03   #7
vadimych
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 325
По умолчанию

Ну, если в 0Ah дело упёрлось, то
Код:
xor bx,bx
mov bl,[buf+1]
mov buf[bx+2],0

buf db 25,100 dup (?)
.
vadimych вне форума Ответить с цитированием
Старый 25.01.2011, 18:28   #8
warkk
Пользователь
 
Регистрация: 23.11.2010
Сообщений: 10
По умолчанию

Ant1971on, vadimych спасибо вам огромное!
warkk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание папки на FTP delphin100 Работа с сетью в Delphi 4 01.03.2016 14:33
Создание временной папки Яр|/||< (^_^) Qt и кроссплатформенное программирование С/С++ 1 18.03.2010 13:47
Создание папки в C Александр Елис Помощь студентам 3 07.11.2009 11:28
Создание папки sergiksergik Microsoft Office Excel 6 26.06.2009 00:07
Создание папки Яр|/||< (^_^) Общие вопросы Delphi 2 23.06.2009 19:18