Question: MASM Assembly Assignment Textbook: Assembly Language for x86 Processors, 7th edition, Kip Irvine, ISBN: 978-0133769401. Please use basic mnemonics and leave comments every now and

MASM Assembly Assignment

Textbook: Assembly Language for x86 Processors, 7th edition, Kip Irvine, ISBN: 978-0133769401.

Please use basic mnemonics and leave comments every now and then. Thank you in advance!

MASM Assembly Assignment Textbook: Assembly Language for x86 Processors, 7th edition, Kip

TITLE Encryption Program (Encrypt.asm)

; This program demonstrates simple symmetric ; encryption using the XOR instruction. ; Chapter 6 example.

INCLUDE Irvine32.inc

KEY = 239 ; any value between 1-255 BUFMAX = 128 ; maximum buffer size

.data sPrompt BYTE "Enter the plain text: ",0 sEncrypt BYTE "Cipher text: ",0 sDecrypt BYTE "Decrypted: ",0

buffer BYTE BUFMAX+1 DUP(0) bufSize DWORD ?

.code main PROC

call InputTheString ; input the plain text call TranslateBuffer ; encrypt the buffer mov edx,OFFSET sEncrypt ; display encrypted message call DisplayMessage call TranslateBuffer ; decrypt the buffer mov edx,OFFSET sDecrypt ; display decrypted message call DisplayMessage

exit main ENDP

;----------------------------------------------------- InputTheString PROC ; ; Asks the user to enter a string from the ; keyboard. Saves the string and its length ; in variables. ; Receives: nothing. Returns: nothing ;----------------------------------------------------- pushad mov edx,OFFSET sPrompt ; display a prompt call WriteString mov ecx,BUFMAX ; maximum character count mov edx,offset buffer ; point to the buffer call ReadString ; input the string mov bufSize,eax ; save the length call Crlf ; new line popad ret InputTheString ENDP

;----------------------------------------------------- DisplayMessage PROC ; ; Display the encrypted or decrypted message. ; Receives: EDX points to the message ; Returns: nothing ;----------------------------------------------------- pushad call WriteString mov edx,OFFSET buffer ; display the buffer call WriteString call Crlf ; new line call Crlf ; new line popad ret DisplayMessage ENDP

;----------------------------------------------------- TranslateBuffer PROC ; ; Translates the string by exclusive-ORing each byte ; with the same integer. ; Receives: nothing. Returns: nothing ;----------------------------------------------------- pushad mov ecx,bufSize ; loop counter mov esi,0 ; index 0 in buffer L1: xor buffer[esi],KEY ; translate a byte inc esi ; point to next byte loop L1

popad ret TranslateBuffer ENDP END main

Assignment A Use the instructor given example (Encrypt asm) as the template for your program code. Program Description You program will ask the user to enter a. A key of length 1 to 10 character(s) b. A file-name to be read and encrypted. Once you get the key and the file-name of an existing file, a. you will need to open the file if exists (else inform that the file does not exist), you will need to read the content of file in a buffer, using the key encrypt the content by applying XOR operation, d. create a new file, name it En file-name' e. write place the encrypted content into the En file-name file, f. close the En file-name file, and g. inform the user that the task has been (successfully) done. The user will be able to get the content of the file-name file back in En En file-name file by re running your program on En file-name file with the same key supplied, if your program is correctly working You are allowed to use the author's ine) functions procedures (see chapter 5) such as Close File, CreateOutputFile, OpenInputFile, ReadFromFile, WriteToFile, etc. Assignment A Use the instructor given example (Encrypt asm) as the template for your program code. Program Description You program will ask the user to enter a. A key of length 1 to 10 character(s) b. A file-name to be read and encrypted. Once you get the key and the file-name of an existing file, a. you will need to open the file if exists (else inform that the file does not exist), you will need to read the content of file in a buffer, using the key encrypt the content by applying XOR operation, d. create a new file, name it En file-name' e. write place the encrypted content into the En file-name file, f. close the En file-name file, and g. inform the user that the task has been (successfully) done. The user will be able to get the content of the file-name file back in En En file-name file by re running your program on En file-name file with the same key supplied, if your program is correctly working You are allowed to use the author's ine) functions procedures (see chapter 5) such as Close File, CreateOutputFile, OpenInputFile, ReadFromFile, WriteToFile, etc

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!