Şimdi Ara

emu8086 Sezar şifreleme algoritması Ekrana basma sorunu

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
7
Cevap
0
Favori
629
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Klavyeden girilen 5 harfli bir içeriği, Sezar şifreleme algoritması kullanarak şifreleyiniz. Şifrelenen içeriği ise ekrana yazdırınız.


    .MODEL small
    .STACK 64
    .DATA

    ORG 0000h ;Start of code
    MSG1 DB "Please input your string [Max 5 chars]: $"
    int 21h
    KEY1 DB "Please input your required shift [RANGE 0 -F]: $"
    MSG2 DB "YOUR ENCRYPTED MESSAGE IS : $"
    ErrorKey DB "Key Value out of range-please renter it range 0-F : $"
    STR1 DW 5 DUP('$') ;store plain text
    KEYV DB ? ;to store the value of the key
    STR2 DW 5 DUP(?); store encrypted message

    .CODE
    MAIN PROC FAR
    MOV AX,@DATA
    MOV DS,AX

    ;to display message 1
    MOV DX, OFFSET MSG1
    MOV AH,09H
    INT 21H

    ;now the user enters the message
    mov ax, 0000h
    int 16h

    mov ax, 0000h ; This key press it just to pause the program so you can see.
    Int 16h ; that you can’t see your own input
    mov STR1,ax ;moving the message to be stored in str1

    ;to display Key message
    MOV DX, OFFSET KEY1
    MOV AH,09H
    INT 21H


    ;now the user enters the key
    KEY:
    mov al, 0000h
    int 16h

    mov ax, 0000h ; This key press it just to pause the program so you can see.
    Int 16h ; that you can see your own input
    mov KEYV,al ;moving the message to be stored in KEYV


    ;now checking that the value of the key is within the correct range
    CHECK:
    CMP KEYV,0FH ;
    JG show; if value greater than F go to show

    CMP KEYV,10H ; if value below or equal F go to encrypt
    JB ENCRYPT ;

    show:
    ;to display Error Key message
    MOV DX, OFFSET ErrorKey
    MOV AH,09H
    INT 21H
    ;restore the key value
    Jp KEY



    ENCRYPT: MOV SI,OFFSET STR1 ;put the message in SI
    MOV BL,KEYV
    MOV DI,OFFSET STR2
    MOV CX,5

    ENCPROCESS:
    MOV AL ,BYTE PTR[SI] ;move first byte of PT in AL
    ADD AL,BL ;37 Add to it the key value
    MOV [DI],AL; ;store the encrypted byte in DI
    INC SI
    INC DI
    LOOP ENCPROCESS

    ;to display encrypted message
    MOV DX, OFFSET STR2
    MOV AH,09H
    INT 21H


    MAIN ENDP
    END MAIN

    böyle bir kod var. fakat ekrana basmıyor. Sorun ne olabilir? Yardımcı olursanız çok sevinirim







  • ekrana basmıyor ve kapanıyor bu sorunu nasıl çözebilirim
  • En son 2010'da açılmış assembly konularını görmüştüm. Bunu https://stackoverflow.com'a sorarsan daha iyi dönüş alabilirsin.



    < Bu mesaj bu kişi tarafından değiştirildi codforc -- 30 Mayıs 2020; 15:22:34 >
  • codforc C kullanıcısına yanıt
    Link'e tıkladığımda "Yönlenmeye çalıştığınız link geçerli değil." diyor?
  • Mh97 M kullanıcısına yanıt
    stackoverflow.com
  • codforc C kullanıcısına yanıt
    Teşekkür ederim.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.