Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/19: Рейтинг темы: голосов - 19, средняя оценка - 4.79
0 / 0 / 0
Регистрация: 31.01.2011
Сообщений: 4

Передача параметров

31.01.2011, 22:58. Показов 3616. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно написать COM программу,чтобы при вводе с командной строки,она считывала параметр(имя файла) и изменяла атрибут этого файла.
Например вводим 22.com 22.asm
программа изменяет атрибуты файла 22.asm.

Я тут сам накатал немного.Поправьте плиз.

MASM
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
code_seg SEGMENT
    ASSUME 
cs:code_seg,ds:code_seg,ss:code_seg,es:code_seg
    ORG 100h
@Start:
 
mov SI,80h
mov di,offset param   ;адрес параметров
xor CX,CX
mov CL,[SI] ;длина в байтах
inc SI      
rep movsb   ;перемещаем строку в буфер
mov Al,30h
stosb 
 
mov dx,offset param
mov ah,43h ;изменяем атрибуты
mov al,01h    
mov cx,0003h
int 21h
 
mov ah,09h ; завершаем программу
lea dx,stroka
int 21h
 
int 20h
 
stroka db "programma zavershena$"
param db 255 dup (?)
code_seg ENDS
 
END @Start

Вроде проблема в том,что 43-я функция не видит в конце строки ноль.Я похоже его не правильно записываю.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.01.2011, 22:58
Ответы с готовыми решениями:

Передача параметров блоком
Как передать в процедуру блоком 2й массив? (в данном случае массив x1). ведь после передачи блока начало массива x1 зависит от величины...

Передача параметров функциям
Доброго времени суток! Уважаемые форумчане, подскажите, почему вот так можно: .data a dd 0.2f ... .code ... fld a ...

Передача параметров в процедуру
Доброго времени суток. Нужна ваша помощь, знатоки! Возникла нужда в изучении процедур и передачи в них параметров. Но найти что да как...

6
 Аватар для Goodwin98
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
31.01.2011, 23:21
Ноль нужно записывать именно нулевым символом, а не цифрой "0"(30h)
1
0 / 0 / 0
Регистрация: 31.01.2011
Сообщений: 4
31.01.2011, 23:27  [ТС]
Я писал так.Тут ещё какой то косяк.Атрибуты не меняются.Причём если в param записать непосредственно адрес к файлу,а не считывать его с 80h,атрибуты меняются.
0
 Аватар для Goodwin98
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
31.01.2011, 23:39
По адресу [80h] параметры хранятся начиная с пробела, который нужно пропустить и заканчиваются символом odh [enter], который тоже нужно пропустить при перемещении.
0
0 / 0 / 0
Регистрация: 31.01.2011
Сообщений: 4
31.01.2011, 23:46  [ТС]
Я правильно понимаю,что rep movsb переписывает всё до пробела?
0
 Аватар для Goodwin98
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
31.01.2011, 23:51
Assembler
1
2
3
4
5
6
7
8
9
10
mov SI,80h
mov di,offset param   ;адрес параметров
xor CX,CX
mov CL,[SI] ;длина в байтах
inc SI      
inc si
rep movsb   ;перемещаем строку в буфер
dec di
mov Al,0
stosb
1
0 / 0 / 0
Регистрация: 31.01.2011
Сообщений: 4
01.02.2011, 00:02  [ТС]
Во!Работает)Спасибо!Только работает почему то только после компиляции.Если из командной строки выходишь и заходишь опять,то не работает.Нужно опять компилировать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.02.2011, 00:02
Помогаю со студенческими работами здесь

Передача параметров в процедуру
Пока не нашел функцию ltoa, пытался добавить подсчет количества записанных байтов. Добавил параметр qcnt:DWORD, и выполнил действия...

передача параметров dll fasm
Если у кого есть пример дайте плз. Проблема такая: как передать параметры в длл на фасме и из нее в вызвавшую программу. Мне нужно зашить в...

Передача параметров в функцию asm вставкой в C++ Builder 2010
Всем привет! Есть функция static void _stdcall. Вызов её происходит неявно, поскольку указатель на эту функцию передается в качестве...

Передача параметров в прерываниях
Какие способы адресации при передаче параметров в прерываниях существуют?

Передача параметров в другой поток
Доброго всем дня. Хотел бы прояснить для себя следующий вопрос. Допустим есть основная программа работающая с большим файлом. Работа с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru