Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/30: Рейтинг темы: голосов - 30, средняя оценка - 4.97
12 / 12 / 9
Регистрация: 15.12.2008
Сообщений: 32

Дата создания файла

20.09.2009, 21:11. Показов 5671. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При помощи функции 57h прерывания 21h в регистрах cx и dx сохраняются время создания файла и дата создания файла. Вопрос в том как содержимое этих регистров записать в файл с обычном виде, т.е день месяц год (в десятичной системе)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.09.2009, 21:11
Ответы с готовыми решениями:

Время и дата файла
Здравствуйте! Помогите пожалуйста понять как можно вывести дату и время создания текстового файла (.txt) и потом изменить ее на...

Изменить дату создания файла
Требуется помощь. Нужно создать файл, а потом изменить дату его создания. Кроме того, сделать обработку ошибки, если диск отсутствует. Дата...

Пример создания COM-файла в редакторе MS-DOS
Пример создания COM-файла в редакторе MS-DOS 1. Заходим в MS-DOS 2. Набираем в коммандной строке "copy con c:\test.com" ...

9
 Аватар для Goodwin98
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
20.09.2009, 23:20
Раскладываете, то, что вернула ф-ция на отдельные составляющие. Переводите каждую составляющую в читаемый вид(например если месяц 0010b, то это февраль и т.п.) и запихиваете все это в файл.
Code
1
2
3
4
5
6
7
8
9
10
11
12
Формат поля времени: 
15            11 10               5 4                   0
+*
¦ Часы (0...23) ¦  Минуты (0...59) ¦  Секунды/2 (0...29) ¦
+*
 
Формат поля даты:
 
15             9 8               5 4              0
+*
¦ Год (0...119) ¦  Месяц (1...12) ¦  День (1...31) ¦
+
0
12 / 12 / 9
Регистрация: 15.12.2008
Сообщений: 32
21.09.2009, 07:47  [ТС]
А как перевести каждую составляющую в читаемый вид?
0
21 / 21 / 2
Регистрация: 29.06.2009
Сообщений: 283
21.09.2009, 07:49
не знаю как это будет на assembler но алгоритм в ответе
(если месяц 0010b, то это февраль и т.д.)
if есть в assembler или массивы?
0
 Аватар для inter-admin
9715 / 6470 / 52
Регистрация: 06.03.2009
Сообщений: 28,500
21.09.2009, 07:55
delphi, Специальных средств описания массивов в программах ассемблера нет. При необходимости использовать массив в программе его нужно моделировать.
-Перечислением элементов массива в поле операндов одной из директив описания данных. При перечислении элементы разделяются запятыми.
-Используя оператор повторения dup
-Используя директивы label и rept.
-Использование цикла для инициализации значениями области памяти, которую можно будет впоследствии трактовать как массив.
0
21 / 21 / 2
Регистрация: 29.06.2009
Сообщений: 283
21.09.2009, 08:01
Надеюсь данный алгоритм понятен...

PHP
1
2
3
4
5
6
$t = 0010b;
         if ($t == 1)  $s = "Январь" ;
            if ($t == 0010b)  $s = "Февраль";
               if ($t == 3)  $s = "Март";
                  if ($t == 4)  $s = "Апрель";
                     if ($t == 5)  $s = "Май";
Так можно на ассемблере решить? Я имею виду алгоритм, условия есть в assembler?
0
 Аватар для Goodwin98
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
21.09.2009, 08:33
В данном случае имхо лучше делать, не if, а использовать указатели.
Например так
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
mov ax,0010b ; получаем это соотв. способом
dec ax ; у нас, как у настоящих программеров нумерация идет с нуля :)
shl ax,3 ; умножаем на 8 (кол-во символов в строке)
add ax,offset mass
; теперь в ax - аддрес строчки с названием
mass:
db "январь  "
db "февраль "
db "март    "
....
db "сентябрь"
...
0
12 / 12 / 9
Регистрация: 15.12.2008
Сообщений: 32
21.09.2009, 08:43  [ТС]
А что делать с днями. Например после сохранения дня в память, в дальнейшем в файле будет записано не число ,а символ, аски кодом которого является число.
0
12 / 12 / 9
Регистрация: 15.12.2008
Сообщений: 32
21.09.2009, 13:56  [ТС]
Пример кода и, как получить нормальную дату?
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
data segment
dname1 db "C:\new_dir1",0
dname2 db "C:\new_dir2",0
file1 db "C:\new_dir1\newfile1.txt",0
handle dw 0
time dw ?
date db 5 dup(?)
data ends
code segment
assume cs:code, ds:data
start:  mov ax, data
    mov ds, ax
    lea dx, dname1
    mov ah,39h
    int 21h
    lea dx, dname2
    mov ah,39h
    int 21h
    lea dx, dname1
    mov ah, 3bh
    int 21h
    xor cx, cx
    mov ah, 3ch
    lea dx, file1
    int 21h;
    mov handle, ax
    mov ax, 5700h
    mov bx, handle
    int 21h
    mov bx, handle
    mov ah,40h
    mov time, dx
    mov cx,2
    lea dx,time
    int 21h
exit:mov ax, 4c00h
    int 21h
    code ends
end start
0
11 / 11 / 1
Регистрация: 22.12.2012
Сообщений: 508
12.11.2013, 16:56
Цитата Сообщение от Ivan123 Посмотреть сообщение
assume cs:code, ds:data
как в масме будет выглядеть эта строка?

Добавлено через 15 минут
Цитата Сообщение от Ivan123 Посмотреть сообщение
Код ASM
как этот код будет выглядеть в масме под винду?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.11.2013, 16:56
Помогаю со студенческими работами здесь

нахождение размера файла и даты создания. нужны коменты...
есть прога на асм PRINT MACRO param push dx mov dx,offset param mov ah,09h int 21h pop dx ENDM INIT MACRO

DOS перезагружается при переходе в protected mode после создания файла
Привет! Суть проблемы в следующем - есть код, который из protected mode переходит в real mode, там создает файл при помощи int 21h...

Вывести на экран список файлов в каталоге - имя, размер, дата создания
Ребята, помогите пожалуйста, есть программа, которая выводит на экран список файлов в каталоге (папке), нужно, что бы кроме имени файлов...

Создания ехе файла
Всем привет, хочу попросить помощи в создании exe файла из двух asm.(MASM). Суть программы: очистка экрана и вывод символа по...

Раздельное ассемблирование для создания com-файла
Почему-то не получается создать один com файл с помощью раздельного ассемблирования. Вот простенькая вроде программка. Написать программу,...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
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
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru