Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2012, 22:29   #1
илья001
Пользователь
 
Регистрация: 18.05.2011
Сообщений: 21
По умолчанию Зашифровать строку по таблице, алгоритмическая ошибка в коде.

Зашифровать строку по таблице. Таблица считается известной.
Я сделал так, две ASCII таблицы с ложным и истинным алфавитом, я должен ввести строку строчных англ букв, они должны перекодироваться согласно моей таблице перекодировки(ложная таблица). код через DOSBOX> TASM. в коде почему-то даже символы не вводятся. Опыт вообще почти нулевой, поэтому очень прошу объясняйте доступнее заранее всем спасибо.
Код:
code segment public
assume cs:code, ds:data, ss: stek
start: mov ax,data              ; настроим на начало сегмента данных
    mov ds,ax               ;сохранение начального адреса сегмента данных в регистр ds
    mov es,ax               ; es - тот же сегмент данных 
                        ; (для команд обработки цепочек)
    mov dx,offset strA      ; вывод строки 'Введите строку'
    mov ah,9                ;запись номера функции вывода строки
    int 21h;прерывание
    mov dx,offset strbuf          ;сохранение адреса выделенной области памяти под вводимую строку
     
mov ah,0Ah              ;запись номера функции ввода строки
    int 21h                 ;прерывание
   
    
        
    MOV SI,OFFSET Strbuf              ;указать цепочку источник
    MOV DI,OFFSET outstr              ;указать цепочку приемник
    MOV CX,LENGTH Strbuf             ; длина строки
    @@1: lodsb
    MOV BX,OFFSET Table1     ;истинная таблица перекодировки 
    xlatb                       ;берем символ из 
    MOV DX, OFFSET TABLe2                ;таблица перекодировки
    xlatb
    stosb
    loop @@1
    
code ends;конец кода программы
 
data segment public;сегмент данных
 
outstr db 256 dup(?)              ; строка для закодированной введенной строки
strbuf db 256 dup (?); задание буфера для ввода строки
strA db 'Input String',13,10,'$';строка «Введите строку»
table1 db '61h,62h,63h,64h,65h,66h,67h,68h,69h,6Ah,6Bh,6Ch,6Dh,6Eh,6Fh,70h,71h,72h,73h,74h,75h,76h,77h,78h,79h,7Ah'; истИнная таблица
Table2 db '7Ah,78h,76h,63h,62h,61h,64h,66h,67h,65h,68h,69h,6Ah,6Bh,6Ch,6Dh,6Eh,6Fh,70h,71h,72h,73h,74h,75h,77h,79h'; таблица перекодировки
 
 
strend db 13,10,'$';переход на новую строку
 
data ends;конец сегмента данных
Stek segment stack;сегмент стека
dw 128 dup (?)
Stek ends ;конец сигмента стека 
end Start ; конец программы
илья001 вне форума Ответить с цитированием
Старый 22.04.2012, 11:28   #2
илья001
Пользователь
 
Регистрация: 18.05.2011
Сообщений: 21
По умолчанию

все сделал Тему закрывайте

Последний раз редактировалось илья001; 22.04.2012 в 21:37.
илья001 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
скрыть отобразить строку в таблице Dmitry1983 PHP 9 07.08.2011 12:31
зашифровать строку в Си SimplyZero Помощь студентам 6 25.07.2011 18:32
Зашифровать зашифровать фамилию, имя, отчество, группу студента Юленька*** Microsoft Office Excel 1 11.07.2011 17:03
Выделить первую строку в таблице Polotenchik Microsoft Office Word 3 27.07.2010 22:41
Алгоритмическая ошибка.помогите. LeoN Общие вопросы Delphi 4 07.04.2008 23:46