Если вы читаете часы реального времени с помощью int 1Ah fn 2, вы получите время с интервалом в 55 миллисекунд с полуночи, и вам придется самостоятельно выполнять все необходимые вычисления, чтобы вычислить часы, минуты и секунды из этого. Это не ракетостроение, но почему бы не избежать этого, если можете?
К счастью, вы можете использовать int 21h, fn 2C «DOS Get Time», которая возвращает час в CH, минуты в CL, секунды в DH и даже (с жалким приближением) сотые доли секунды в DL. (Хорошо, игнорируйте DL.) Итак, все, что вам нужно сделать, это преобразовать эти числа в строку, чтобы построить ваше имя файла.
Теперь неправильно говорить, что имя файла хранится в регистре DX; имя файла должно храниться в буфере, а регистр DX должен указывать на этот буфер при входе в int 21h fn 3Ch.
Преобразование числа в ASCII является сложным делом, но, к счастью, на SO на него уже был дан ответ: Проблема преобразования целого числа в код ASCII в сборке x86