Assembler. Шифрование.

Тема в разделе "Другие", создана пользователем stilldreaming, 19 май 2008.

Статус темы:
Закрыта.
  1. stilldreaming

    stilldreaming Гость

    Ребят, помогите пожалуйста с заданием. Сам уже замучался, знакомых кто может помочь нету. Расчитываю на вас.
    Задание такое
    текст для шифрования вводится в командной строке. Удалить пробелы и зашифровать текст. Текст разбивается на тройки букв. Коды букв каждой тройки складываются с кодами букв слова DOG по модулю 26(при этом считается, что код буквы A - 1 и так далее). Хвост текста(остаток от разбиения на тройки не изменять.

    вот текст того, что я написал:
    [codebox].MODEL SMALL
    .STACK 100h
    .DATA
    text_b DB 83 DUP(?)
    text_c DB 80 DUP(?)
    .CODE
    encode PROC
    mov al,es:[di]
    mov ah,0
    add al,'D'
    sub al,80h
    mov bl,26
    cbw
    idiv bl
    add ah,40h
    mov [si],ah
    inc si
    inc di
    mov al,es:[di]
    mov ah,0
    add al,'O'
    sub al,80h
    mov bl,26
    cbw
    idiv bl
    add ah,40h
    mov [si],ah
    inc si
    inc di
    mov al,es:[di]
    mov ah,0
    add al,'G'
    sub al,80h
    mov bl,26
    cbw
    idiv bl
    add ah,40h
    mov [si],ah
    inc si
    inc di
    clc
    ret

    encode ENDP

    start:
    mov ax,@data
    mov ds,ax
    mov cx,0
    mov cl,es:[80h]
    mov si,82h
    mov di, offset text_b
    mov dx,0
    dec cl
    n: mov al,es:[si]
    cmp al,20h
    je cont
    cmp al,0Dh
    je __end
    mov [di],al
    inc di
    inc bl
    cont: inc si
    loop n

    __end: mov al,bl
    mov bl,3h
    cbw
    idiv bl
    mov cx,0
    mov cl,al

    mov si, offset text_c
    mov di, offset text_b

    n1: call encode
    loop n1


    end_prog: mov word ptr [si],0A0Dh
    inc si
    inc si
    mov byte ptr [si],'$'


    mov dx, offset text_c
    mov ah,09h
    int 21h
    mov ah,04Ch
    mov al,0h
    int 21h
    END start[/codebox]



    для любого набора символов, программа все кодирует одинаково( в зависимости от количества символов).
    Подскажите где ошибки плз.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей