Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
dino-4udo
-5 / 6 / 4
Регистрация: 16.12.2010
Сообщений: 68
1

нахождение размера файла и даты создания. нужны коменты...

18.04.2011, 15:17. Просмотров 690. Ответов 1
Метки нет (Все метки)

есть прога на асм
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
PRINT   MACRO param
    push    dx
    mov dx,offset param
    mov ah,09h
    int 21h
    pop dx
ENDM
 
INIT    MACRO
    mov ax,@data
    mov ds,ax
ENDM
 
CLRSCR  MACRO
    mov ah,0
    mov al,2
    int 10h
ENDM
 
INPSTR  MACRO inpstr,lenth,needlenth,mes
local new
new:    
    PRINT mes   
    mov dx,offset inpstr
    mov ah,0ah
    mov bx,dx
    mov al,needlenth
    mov [bx],al
    int 21h
    mov al,[bx]+1
    mov lenth,al
    cmp lenth,0
    jz  new
    PRINT ent
ENDM
 
GETCH   MACRO
    mov ah,07h
    int 21h
ENDM
 
;-----------------------------------------------------------------------------------------------------------------------
 
CASE1   MACRO
local more1,@a,obx
    cmp ifopen,0
    jnz closef
    jz  more1
ex: 
    jmp exe
closef: 
    FILECLOSE handle
more1:  
    INPSTR filestr,lenthf,13,filenmes
    cmp lenthf,0
    jz  more1
    mov ch,0
    mov cl,lenthf
    mov di,0
@a: 
    mov al,filestr[di+2]
    mov filename[di],al
    inc di
    loop    @a
    FILEOPEN filename,handle
    GETFILESIZE handle
    GETFILELARGE handle
    mov ifopen,1
ENDM
 
FILECLOSE   MACRO   handle  
    mov ah,3eh
    mov bx,handle
    int 21h
ENDM
 
FILEOPEN    MACRO path,handle
local endd,errorp
    mov ah,3Dh
    mov al,00
    lea dx,path
    int 21h 
    jc  errorp
    mov handle,ax
    jmp endd
errorp: 
    PRINT warningmes
    GETCH
    jmp ente    
endd:
ENDM
 
NUMTOSTR    MACRO    num,str
    mov ax,num
    mov bl,100
    div bl
    mov si,0
    add al,48
    mov str[si],al
    sub al,48
    mul bl
    mov bx,num
    sub bx,ax
    mov ax,bx
    mov bl,10
    div bl
    add al,48
    inc si
    mov str[si],al
    sub al,48
    mul bl
    mov bx,num
    sub bx,ax
    mov ax,bx
    add ax,48
    inc si
    mov str[si],al
    mov str[si+1],'$'
ENDM
 
GETFILESIZE MACRO handle
    mov ah,42h
    mov al,2
    mov bx,handle
    mov cx,0
    mov dx,0
    int 21h
    jc  er
    jnc next
er: 
    PRINT warn
    GETCH 
next:
    mov size,ax
    NUMTOSTR size,strout
    PRINT filesmes
    PRINT strout    
ENDM
 
GETFILELARGE MACRO handle
    mov bx,handle
    mov al,0
    mov ah,57h
    int 21h
    mov date,cx
    mov time,dx
    mov cl,3
    shr ch,cl
    mov cl,ch
    mov ch,0
    NUMTOSTR cx,strout
    PRINT ent
    PRINT strout
    mov cx,date
    mov ax,cx
    and ax,0000011111100000b
    mov cl,5
    shr ax,cl
    mov cx,ax
    NUMTOSTR cx,strout
    PRINT dwo
    PRINT strout
    mov cx,date
    and cx,0000000000011111b
    NUMTOSTR cx,strout
    PRINT dwo
    PRINT strout
    PRINT ent
    mov cx,time
    mov ax,cx
    and ax,1111111000000000b
    mov cl,9
    shr ax,cl
    mov cx,ax
    NUMTOSTR cx,strout
    PRINT strout
    PRINT spase
    mov cx,time
    mov ax,cx
    and ax,0000000111100000b
    mov cl,5
    shr ax,cl
    mov cx,ax
    NUMTOSTR cx,strout
    PRINT strout
    PRINT spase
    mov cx,time
    and cx,0000000000011111b    
    NUMTOSTR cx,strout
    PRINT strout
    PRINT spase
    GETCH
ENDM
 
;----------------------------------------------------------------------------------------------------------------------
 
    DOSSEG
    .MODEL SMALL
    .STACK 100h
    .DATA
     
    startmes    db  13,10,'Выберите вариант:',13,10,'1. Найти размер файла* .',13,10,'2.Выйти',13,10,'$'
    filenmes    db  13,10,'‚Введите имя файла :',13,10,'$'
    warningmes  db  13,10,'Файл не найден!!!',13,10,'$'
    filename    db  13 dup(0)
    filestr     db  15 dup ('*')
    ent     db  13,10,'$'
    writestr    db  258 dup ('@')
    lenthf      db  0
    lenths      db  0
    handle      dw  0
    ifopen      db  0
    SIZE        DW  0
    STROUT      DB  4 DUP('?')
    WARN        DB  'CANT GO TO END'
    filesmes    db  10,13,'Размер файла : $'
    date        dw  0
    dwo     db  ':$'
    spase       db  ' $'
    time        dw  0
    
    .CODE
    
    INIT
    CLRSCR
ente:   
    PRINT startmes  
inp:    
    GETCH
    cmp al,'1'
    jz  mitka1
    cmp al,'2'
    jz  ex
    jmp inp
mitka1: 
    CASE1
    jmp ente
exe:    
    mov ah,4Ch
    int 21h
END
если файл по размеру больше 99 байт - то в последняя цыфра - карлючка((((
и вообще - как он находит размер и дату создания? можно хоть чють-чють светлых идей (коментариев к программе)?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2011, 15:17
Ответы с готовыми решениями:

нужны коменты tASM
Программа запрашивает цвет квадрата, а затем, выводит его на экран, нужны...

Нужны примеры создания стеков, очереди (дек) с двусвязными списками
Здравствуйте, мне нужны примеры создания стеков,очереди (дек) с двусвязными...

Коменты к коду
Прокомментируйте пожалуйста код, очень благодарен .model tiny .code...

Получение размера, даты создания, даты последнего доступа файлов
Прошу помощи. С помощью каких фунций / процедур можно получить размер, дату...

Изменение времени создания файла на минус Х дней от текущей даты создания
День добрый, ветераны форума. Помогите пожалуйста следующую задачу: Есть...

1
Mikl___
Автор FAQ
11783 / 6087 / 555
Регистрация: 11.11.2010
Сообщений: 11,073
18.04.2011, 15:24 2
dino-4udo, нахождение размера
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
       mov     ah,42h
        mov     al,2
        mov     bx,handle
        mov     cx,0
        mov     dx,0
        int     21h
        jc      er
        jnc     next
er:     
        PRINT warn
        GETCH 
next:
        mov     size,ax
нахождение даты создания
Assembler
1
2
3
4
5
6
       mov     bx,handle
        mov     al,0
        mov     ah,57h
        int     21h
        mov     date,cx
        mov     time,dx
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.04.2011, 15:24

Нужны коменты к программе.
Я плохо понимаю в паскале, мне нужны коментарии к программе: uses crt;...

нужны коменты к каждой строке что мы там делаем
#include<stdio.h> #include<ctype.h> #include<math.h> #define BASEFROM 10...

Изменить даты и время создания файла, взяв информацию из имени файла
Привет! Есть файл "Call@recording@005_20150216113542.mp3" В его имени после "_"...


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

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

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