Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
romster
5 / 3 / 2
Регистрация: 25.11.2011
Сообщений: 78
1

Консольное приложение, выводящее название файла

16.12.2013, 22:12. Просмотров 264. Ответов 0
Метки нет (Все метки)

Для файла, имя которого задано в консоли, установить атрибут "скрытый"
Что_ то сам сделал, но не работает как надо, помогите, пожалуйста

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
; Консольное приложение, выводящее на консоль файл
include typefile.inc
.386
.model FLAT,STDCALL
 
.data
msgz    db  ' ',10,13
lenz    equ $-msgz
 
msg1    db  'Скрытый',10,13
len1    equ $-msg1
 
msge    db  'Error',10,13
lene    equ $-msge
 
hcons           dd      ?
hfile           dd      ?
buf             db      100 dup(0)
bufer           db      300 dup(0)
numb            dd      ?
numw            dd      ?
nameout         db      'CONOUT$'
 
.code
_start:         call    CreateFile,offset nameout,GENERIC_READ+GENERIC_WRITE,0,0,OPEN_EXISTING,0,0
                mov     hcons,eax               ;получение ссылки на консоль как на файл
                call    GetCommandLine          ;в EAX - указатель на коммандную строку 
                mov     esi,eax
                xor     ecx,ecx                 ;счетчик
                mov     edx,1                   ;признак
n1:             cmp     byte ptr [esi],0        ;конец строки
                je      end_                    ;нет параметра
                cmp     byte ptr [esi],32       ;пробел
                je      n3
                add     ecx,edx
                cmp     ecx,2                   ;Первый параметр - имя программы. Второй - имя файла.
                je      n4
                xor     edx,edx
                jmp     n2
n3:             or      edx,1
n2:             inc     esi
                jmp     n1
n4:
            call    GetFileAttributes,esi
            cmp eax,-1
            je  error
            
            mov ebx,eax
            jnc m1
            call    WriteFile, hcons, offset msgz, lenz, offset numw, 0
 
    m1:     bt  ebx,4
            call    WriteFile, hcons, offset msg1, len1, offset numw, 0
            jmp end_
    
    error:  call    WriteFile, hcons, offset msgz, lenz, offset numw, 0
            call    WriteFile, hcons, offset msge, lene, offset numw, 0
            
    end_:   call    ExitProcess,0
end     _start
TYPEFILE.INC
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
includelib      import32.lib
 
; Ё¬Ґ** ЁбЇ®«м§гҐ¬ле дг*ЄжЁ© Ё§ kernel32.dll
                extrn   ExitProcess:near
                extrn   GetCommandLineA:near
                extrn   CreateFileA:near
                extrn   CloseHandle:near
                extrn   ReadFile:near
                extrn   WriteFile:near
                extrn           GetFileAttributes:near
 
; ЇаЁбў*Ёў**Ёп ¤«п ®Ў«ҐЈзҐ*Ёп зЁв*Ґ¬®бвЁ Є®¤*
        GetCommandLine  equ     GetCommandLineA
        CreateFile      equ     CreateFileA
        GetFileAttributes      equ     GetFileAttributesA
 
; ®ЇаҐ¤Ґ«Ґ*Ёп Є®*бв**в Ё вЁЇ®ў
STD_OUTPUT_HANDLE               equ     -11
GENERIC_READ                    equ     80000000h
GENERIC_WRITE                   equ     40000000h
OPEN_EXISTING                   equ     3
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2013, 22:12
Ответы с готовыми решениями:

Консольное приложение
;консольное приложение .586 ;помещение параметров в стек справа налево, результат в eax, стек...

Консольное приложение в RadAsm
Нужно написать консольное приложение в radasm, которое переименовывает файлы. rn имя новое_имя ...

Как запустить консольное приложение с моделью small?
Мне нужно,что бы консолька запустилась,запросила пароль и далее вывела сообщение о его правильности...

Консольное приложение для win32, не проходит линковка
К большому сожалению только на этом форуме я получаю хорошие ответы и так же не как не разберусь с...

Изменить название .exe файла
Добрый день, возникла одна проблема. Есть некая программа, под названием LagUnlocker.exe ( это...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2013, 22:12

Написать консольное приложение, выводящее текст при запуске
Помогите пожалуйста с заданиями, я разобрался с 1 и 2 заданиями, с 4-го задания а), остальные...

Используя подходящий оператор цикла, создайте консольное приложение, выводящее на экран числа определенным в задании способом
Пользователь вводит целое число A (1 ≤ A ≤ 9). На экран выводится A строк чисел 1, 2, …, А по 1, 2,...

Написать консольное приложение, выводящее шуточную "реакцию" программы в виде текста
Вот одна задачка: Специфика: диалоговый режим консоли. Задача #KR1: написать консольное...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru