IPB
ЛогинПароль:

> ПРАВИЛА РАЗДЕЛА!!!

1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!

 
 Ответить  Открыть новую тему 
> Вывод сообщения об ошибке, Добавить пару строк в текст программы
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 39
Пол: Женский
Реальное имя: Ольга

Репутация: -  0  +


Здесь приведен текст программы шифрования файлов.
Этот код рабочий, здесь сперва требуется указать имя файла(текстового) для шифрования, а затем ключ по которому оно будет выполнятся. Но есть одно но, если файла нет, то программа продолжает свое действие, а надо, чтобы после ввода имени файла она выдывала сообщение что такого файла нет. Помогите пожалуйста добавить пару строк в этот текст чтобы она заработала так как надо.
Заранее спасибо


.model small
.stack 100h
.data
cr=0dh
lf=0ah
message1 db cr,lf,'File Name:'
mess1len=$-message1
message2 db cr,lf,'Key:'
mess2len=$-message2
password db 80 dup('*')
buf db 4096 dup(?)
filelen dw ?
key db ?
filename db 32 dup(?)
FDescr dw ?
.code
begin:
mov ax,@data
mov ds,ax
mov ah,40h
mov bx,1
mov cx,mess1len
mov dx,offset message1
int 21h
mov ah,3fh
xor bx,bx
mov cx,30
mov dx,offset filename
int 21h
mov bx,ax
sub bx,2
mov filename[bx],0
mov ah,40h
mov bx,1
mov cx,mess2len
mov dx,offset message2
int 21h
mov ah,3fh
xor bx,bx
mov cx,80
mov dx,offset password
int 21h
mov si,offset password
xor al,al
mov cx,80
NextByte1:
add al,[si]
inc si
loop NextByte1
mov key,al
mov ah,3dh
mov al,2
mov dx,offset filename
int 21h
mov FDescr,ax
mov ah,3fh
mov bx,FDescr
mov cx,4096
mov dx,offset buf
int 21h
mov filelen,ax
mov cx,filelen
mov si,offset buf
mov al,key
NextByte2: xor [si],al
inc si
loop NextByte2
mov ah,42h
mov bx,FDescr
xor al,al
xor cx,cx
xor dx,dx
int 21h
mov ah,40h
mov bx,FDescr
mov cx,filelen
mov dx,offset buf
int 21h
mov ah,3eh
mov bx,FDescr
int 21h
mov ah,4ch
xor al,al
int 21h
end begin




Сообщение отредактировано: Selena -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


N337
****

Группа: Пользователи
Сообщений: 737
Пол: Мужской

Репутация: -  26  +


.model small
.stack 100h
.data
cr=0dh
lf=0ah
message1 db cr,lf,'File Name:'
mess1len=$-message1
message2 db cr,lf,'Key:'
mess2len=$-message2
message3 db 'File does not exist!',13,10,'$'
password db 80 dup('*')
buf db 4096 dup(?)
filelen dw ?
key db ?
filename db 32 dup(?)
FDescr dw ?
.code
begin:
mov ax,@data
mov ds,ax
mov ah,40h
mov bx,1
mov cx,mess1len
mov dx,offset message1
int 21h
mov ah,3fh
xor bx,bx
mov cx,30
mov dx,offset filename
int 21h
mov bx,ax
sub bx,2
mov filename[bx],0
mov ah,3dh
mov al,2
mov dx,offset filename
int 21h
jc error ;переход на обработчик ошибки открытия файла
mov FDescr,ax
mov ah,40h
mov bx,1
mov cx,mess2len
mov dx,offset message2
int 21h
mov ah,3fh
xor bx,bx
mov cx,80
mov dx,offset password
int 21h
mov si,offset password
xor al,al
mov cx,80
NextByte1:
add al,[si]
inc si
loop NextByte1
mov key,al
mov ah,3fh
mov bx,FDescr
mov cx,4096
mov dx,offset buf
int 21h
mov filelen,ax
mov cx,filelen
mov si,offset buf
mov al,key
NextByte2: xor [si],al
inc si
loop NextByte2
mov ah,42h
mov bx,FDescr
xor al,al
xor cx,cx
xor dx,dx
int 21h
mov ah,40h
mov bx,FDescr
mov cx,filelen
mov dx,offset buf
int 21h
mov ah,3eh
mov bx,FDescr
int 21h
mov ah,4ch
xor al,al
int 21h
;вывод сообщения об ошибке
error:
mov ah,9
lea dx,message3
int 21h
mov ax,4C01h
int 21h
end begin


--------------------
The idiots are winning.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 24.11.2020 14:09
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name