С Новым годом! Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
10 / 10 / 1
Регистрация: 04.11.2009
Сообщений: 147
1

Запрещен доступ к файлу (ошибка при записи в файл)

01.12.2011, 22:50. Показов 2954. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Записываю в файл посимвольно (код прерывания 40h), появляется вот такая ошибка(CF=1) в AX(05h). Я в недоумении... Что вообще может привести к подобной ошибке? Никаких ограничений на файле вроде не стоит...Права все есть.
Подскажите пожалуйста! Предупреждаю, что я новичок и прошу снисходительно относится ^_^.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.12.2011, 22:50
Ответы с готовыми решениями:

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

Возникает исключение при записи в txt файл (Процесс не может получить доступ к файлу)
Прив! При исполнении следующего кода using System; using System.Collections.Generic; using...

Доступ к файлу запрещен
Я создал общую папку на Win 7 Разрешил общий доступ без логина и пароля, дал всем пользователям...

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

5
Клюг
7675 / 3190 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
01.12.2011, 23:54 2
А открываете файл как? int 21h/AX=3D02?
1
10 / 10 / 1
Регистрация: 04.11.2009
Сообщений: 147
02.12.2011, 20:18  [ТС] 3
Уже сама нашла свою ошибку) Точно так...открывала через 3d00h=)

Добавлено через 20 часов 23 минуты
А не поможете с другой проблемой? Не могу разобраться с выводом числа..
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
;                           -------Ïåðåâîä ÷èñëà èç AX â ñòðîêó
PEREVOD Proc near                              
      xor  cx, cx
      mov  bx, 10                  ;Îñíîâàíèå ÷èñëà
      mov  di, 0
del:  
      xor  dx, dx                  ;Îáíóëÿåì dx, äåëèì òîëüêî òî, ÷òî â AX(÷èñëî)
      div  bx
      mov  Out_2[di], dl
      inc  di
      inc  cx                      ;Óâåëè÷èâàåì çíà÷åíèå äëèíû ÷èñëà íà åäèíèöó        
      cmp  ax, 0                   ;Ñðàâíèâàåì ÷àñòíî ñ íóëåì
      jnz  del                     ;Åñëè íå íîëü, òî ñíîâà äåëèì åãî
vvd:
      mov  dl, out_2[di]
      add  dl, '0'
      mov  out_2[di], dl
      mov  dx, offset out_2[di]
      call write
      dec  di
      loop vvd                     ;Ñòîëüêî ðàç, ñêîëüêî äëèíà ÷èñëà
      ret            
PEREVOD endp                     
;                           -------Âûâîä â ôàéë
WRITE Proc near                              
      mov  bx, handle2      
      mov  cx, 1
      mov  ax, 4000h
      int  21h
      ret            
WRITE endp       
.....
data segment
  out_2    db 10 dup(0)
Вот такое чудо написала..Вначале писала через стек, но не захотел работать. Решила через массив попробовать..Пишет в файле что угодно, но только не цифры
0
Клюг
7675 / 3190 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
02.12.2011, 21:34 4
Как-то так, сделал через стек:
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
        out_dec:
                xor si, si
                mov bx, 10
 
        out_dec_div:
                xor dx, dx
                div bx
                or dx, 30h            ;остаток от деления
                push dx               ;сохраняем в стеке
                inc si                ;считаем кол-во цифр
                or ax, ax             ;пока не 0 - делим
                jnz out_dec_div
; готовимся к записи 
        mov ax, 4000h
        mov bx, handle2 
            mov dx, offset out_2
            mov cx,1
        out_dec_out:
                pop     word ptr out_2      ;извлекаем из стека
                int 21h              
            dec si
                jnz out_dec_out       ;и выводим подсчитаенное кол-во цифр
;........... 
data segment
  out_2    dw ?
1
10 / 10 / 1
Регистрация: 04.11.2009
Сообщений: 147
02.12.2011, 21:40  [ТС] 5
Charles Kludge, Спасибо, только у меня со стеком не получается..Команды push и pop ведут к зацикливанию программы..Я уж не рискнула их больше использовать.. Ну а вообще на ваш взгляд, логически в моем коде все верно?
0
Клюг
7675 / 3190 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
02.12.2011, 21:59 6
можно и без стека:
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
        out_dec:
                mov     si, out_2_end
                mov     bx, 10
                xor cx,cx
                std
        out_dec_div:
                xor     dx, dx
                div     bx
                or  dx, 30h            ;остаток от деления
                mov [si],dl          ;сохраняем
                inc     cx                ;считаем кол-во цифр
                dec si
                or  ax, ax             ;пока не 0 - делим
                jnz     out_dec_div
; готовимся к записи 
        mov ax, 4000h
        mov bx, handle2 
            mov dx, si
            inc dx
        out_dec_out:
                int 21h        ;и выводим подсчитаенное кол-во цифр      
;........... 
;data segment
  out_2    db 5 dup(?)
out_2_end   = $
1
02.12.2011, 21:59
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.12.2011, 21:59
Помогаю со студенческими работами здесь

Ошибка 403. Доступ запрещен
Выложил сайт на хостинг ( Джино ). Есть индексный файл. При нажатии на ссылку которая...

Как изменить настройки UAC и учетной записи, если доступ запрещен и из супер-пользователя ?
Когда пытаюсь изменить настройки UAC из обычной учетки, просто не нажимается кнопка ОК в окошке с...

Ошибка: Процесс не может получить доступ к файлу, так как этот файл занят другим процессом
Добрый день, в данном коде необходимо переместить файл из одной папки в другую. При try в одну...

Безопасность в интернете - ошибка 403 Доступ запрещен! Причина: С вашего ip зарегистрирована аномальная активность.
не могу зайти в контакт и некоторые сайты через мозилу помогите пожалуйста, и пожалуйста объясните...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее: На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru