Register Now

Login

Lost Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Login

Register Now

Welcome to All Test Answers

Assignment 2 – ASM program-Fibonacci number sequence- displays the string in reverse order-each lower-case letter converted to its corresponding upper-case letter

Click Here to enroll in this course now


Assembly language x86 processors for beginners

60-266 – Assignment #2
Write an ASM program that reads an integer number N and then displays the first N values of the Fibonacci number sequence, described by:
Fib(0) = 0, Fib(1) = 1, Fib(N) = Fib(N-2) + Fib(N-1)
Thus, if the input is N = 10, your program Ass1-Q1.exe should display the following single line:
Fibonacci sequence with N = 10 is: 0 1 1 2 3 5 8 13 21 34 55

Answer(partial):

INCLUDE Irvine32.inc

.data
    msg1 byte "Please enter a number", 0dh, 0ah, 0
    msg2 byte "Febonacci sequence is: ", 0
    spce byte "  ", 0

.code
  main PROC
    mov edx, OFFSET msg1
    call WriteString
    call ReadInt
    mov ecx, eax; print N numbers

    call WriteString

  L1:
    add ebx, eax; generate next number

    xchg eax, ebx; step up the sequence
  loop L1
    call crlf

  exit
  main ENDP
  END main

Programming Exercise 2 :
Write an ASM program that prompts the user to enter a string of at most 128 characters and then displays the string in reverse order, with: each upper-case letter converted to its corresponding lower-case letter, and each lower-case letter converted to its corresponding upper-case letter. The program should also display the number of lowercase characters after displaying the output string. For instance, a sample execution of “Ass2-Q2.exe” with the input string “An Input Line!” is shown below
——————————————
C:\Programming\asm>Ass1-Q2
Enter a string of at most 128 characters: An Input Line!
Here it is in LOWERCASE and in reverse order:
!ENIl TUPNi Na
There are 3 lower-case characters.
C:\Programming\asm>
——————————————
HINT: Solving this question in the following sequential order will be much easier; though you can solve the way you want. 1) First, read the string from the keyboard into a memory variable. 2) Second, convert lowercases to uppercases and uppercases to lowercases; be careful here. 3) Third, print the resulting string in reverse order, by using indirect
addressing (or indexed addressing, if you wish); be also careful here since there are two possible ways: you can either reverse the initial string first then display the resulting reversed string, or you can directly display the initial string in reverse order.
You should correctly decide how, when, and where (in the hint above) to perform the count of the number of lower-case characters.
If the user enters more than 128 characters, only the first 128 characters must be processed (the rest are ignored but make sure that you cannot write outside the memory you have allocated for storing the string).
Also, try to make use of data-related operators as much as possible, such as SIZEOF, TYPE, LENGTHOF, DUP or PTR, in order to make your program as flexible as possible (and as short —efficient— as possible); see Chapt_04-c.

Answer(partial):

INCLUDE Irvine32.inc

.data
	buffer byte 128 dup(0)
	msg1   byte  "Enter a string of at most 128 characters:", 0dh, 0ah, 0
	msg2   byte  " Here it is in LOWERCASE and in reverse order: ", 0dh, 0ah, 0
	msg3   byte   0dh, 0ah, " There are ",0
	msg4   byte  " lower-case characters ", 0dh, 0ah, 0
	countLower byte 0

.code
    main PROC

	mov ecx, 0
	mov eax, 0
	mov edx,OFFSET msg1
	call WriteString
    read_again:


   test_lower :
	cmp al, 7Ah
	ja store
	sub al, 20h
   store:
	push eax
	inc ecx
	jmp read_again
   endread:
	lea esi, buffer
   display :

   again: 
	pop eax
	call WriteChar

   quit:

   exit
   main ENDP
END main

Click Here to enroll in this course now


Assembly language x86 processors for beginners

About

Leave a reply

Captcha Click on image to update the captcha .

error: Content is protected !!