Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с командной строчкои 
:(
    Опции темы
xseroxas
Дата 6.11.2007, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 23.9.2007

Репутация: нет
Всего: нет



Возникла проблема нада как щзиат параметры с командной строчки щтобы потом з даныму мозна было оперирыват
например:split file.txt 300
и нада както оперирыват с етими даными, мозет кто пример какой подкинет, спасиба.

Эст такой пример:
Код

.model small
.stack 100h
.data
msg DB "Parametrs:"
param =$-msg
buff DB 82 dup(?)
.code
start:
 push ds
 mov ax,@data
 mov ds,ax
 mov cx,(param)
 mov dx,offset msg
 
 push ax
 push bx
 mov ah,40h 
 mov bx,1
 int 21h
 
 pop ax
 pop bx
 
 pop ds
 mov cl,[ds:80h]
 xor ch,ch
 mov dx,82h
 push ax
 push bx

 mov ah,40h 
 mov bx,1
 int 21h
 
 pop ax
 pop bx
  
mov ax,4c00h
int 21h 
end start


Это сообщение отредактировал(а) xseroxas - 6.11.2007, 20:55
PM MAIL   Вверх
Akina
Дата 6.11.2007, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



функция 51h прерывания 21h вернет в BX сегмент текущего PSP.
В нем в байтах 80h..FFh лежит копия командной строки (без имени запущенного исполняемого файла и перенаправлений стандартных потоков - они вырезаны), причем байт 80h - длина этой строки, а с байта 81h сама строка, завершаемая байтом 0Dh.

т.е. например код
Код

mov ah,51h
int 21h
mov es,bx
mov al,es:[80h]

поместит в AL длину командной строки в байтах. Соответственно если дальше
Код

cbw
add ax,81h

то по адресу es:ax находится завершающий командную строку байт 0Dh.

А уж парсинг - это как-нить сам.

PS. Несколько раз прочитал, что написано в начальном постинге - до сих пор половины не понял... но что понял - на то ответил.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0428 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.