1. Заголовок или название темы должно быть информативным 2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE] 3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора. 5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM! 6. Проверяйте программы перед тем, как выложить их на форум!!
Доброго времени суток! У меня тут заданьеце : вывести атрибуты файла, в диалоговой форме произвести переустановку атрибутов. Реализовал первую часть - вывод атрибутов, использую функцию 43h прерывания 21h. Но возникает какая-то ошибка при вызове прерывания. В чём проблема?
data segment path db "E:\data.txt",0 mes1 db 13,10,"read\write$" mes2 db 13,10,"read only$" mes3 db 13,10,"X-files$" mes4 db 13,10,"system$" data ends
Вот пытаюсь произвести установку атрибута "read only":
data segment path db "E:/data.txt",0 mes db 13,10,"R/W$" mes1 db 13,10,"RO$" mes2 db 13,10,"Hidden$" mes3 db 13,10,"System$" mes4 db 13,10,"Label$" mes5 db 13,10,"Dir$" mes6 db 13,10,"Archive$" data ends
code segment assume cs:code, ds:data
showAtr proc
m : mov ax,cx cmp ax,0000h jnz m1 mov ah, 09h mov dx,offset mes int 21h
m1: mov ax,cx and ax,0001h jz m2 mov ah, 09h mov dx,offset mes1 int 21h
m2: mov ax,cx and ax,0002h jz m3 mov ah, 09h mov dx,offset mes2 int 21h
m3: mov ax,cx and ax,0004h jz m4 mov ah, 09h mov dx,offset mes3 int 21h
m4: mov ax,cx and ax,0008h jz m5 mov ah, 09h mov dx,offset mes4 int 21h
m5: mov ax,cx and ax,0010h jz m6 mov ah, 09h mov dx,offset mes5 int 21h
m6: mov ax,cx and ax,0020h jz mx mov ah, 09h mov dx,offset mes6 int 21h ret showAtr endp
Процедура showAtr вызывается только один - при первом вызове... и при изменении атрибута, все остальные сбрасываются... p.s. Данной функцией производится как установка, так и сброс атрибутов?