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

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

31.01.2011, 22:58. Показов 3687. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 01.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 31.01.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru