리그캣의 개발놀이터

어셈블리 - 문제풀기 1 본문

프로그래밍 언어/Assembly

어셈블리 - 문제풀기 1

리그캣 2018. 1. 22. 15:15

첫 번째 – 임의의 Key값을주어 xor사용하여 값을 변경시킨 후 xor사용하여 다시 재출력하라.


1. Source code

TITLE EncryptingString

; Program Description: Encypting a String

; Author : Kwak S.H

; Creation Date : 2016-10-11

; Revisions : X

; Date :

INCLUDE Irvine32.inc

KEY = 154

.data

ansStr BYTE "Enter the plain text:",0

ansStr2 BYTE "Cipher text:",0

ansStr3 BYTE "Decrypted:",0

iniStr BYTE 20 DUP(?)

.code

main PROC

mov edx,OFFSET ansStr

call WriteString

mov edx,OFFSET iniStr

mov ecx,SIZEOF iniStr-1

call ReadString

mov ecx, eax

push eax

mov esi, 0

L1:

xor iniStr[esi],KEY

inc esi

loop L1

 

mov edx, OFFSET ansStr2

call WriteString

mov edx, OFFSET iniStr

call WriteString

pop eax

mov ecx, eax

mov esi,0

L2:

xor iniStr[esi],KEY

inc esi

loop L2

call Crlf

mov edx, OFFSET ansStr3

 

call WriteString

mov edx, OFFSET iniStr

call WriteString

 

 

exit

main ENDP

END main

 

2. Output




'프로그래밍 언어 > Assembly' 카테고리의 다른 글

어셈블리 - 배열 교환  (0) 2018.01.22
어셈블리 - 과일 게임 만들기  (0) 2018.01.22
어셈블리 - 문제풀기2  (0) 2018.01.22
어셈블리 - 과제2  (0) 2018.01.22
어셈블리 - 과제1  (0) 2018.01.22
Comments