Difference between revisions of "CSC231 Addressing Mode Exercises"

From dftwiki3
Jump to: navigation, search
(Exercise 2)
(Exercise 1)
Line 4: Line 4:
  
 
==Exercise 1==
 
==Exercise 1==
Write a program that changes all the characters of an all-uppercase string to all-lowercase.  We assume the string does not contain blank spaces
+
Write a program that changes all the characters of an all-uppercase string to all-lowercase.  We assume the string does not contain blank spaces.  You can find an ASCII table [http://www.asciitable.com/ here].
  
  

Revision as of 07:20, 30 September 2014

Exercises on Addressing Modes

Exercise 1

Write a program that changes all the characters of an all-uppercase string to all-lowercase. We assume the string does not contain blank spaces. You can find an ASCII table here.


Exercise 2

Write a program that fills an array of 8 bytes with the first 8 powers of 2: 1, 2, 4, 8, 16, etc.


Exercise 3

Write a program that fills an array of 16 words with the first 16 fibonacci terms


...


Exercise 4

Write a program that fills an array of 10 double-words with the first 10 powers of 2.


...


Exercise 5

Assume Powers is an array of 11 words, and the first word contains a constant. Write the program that stores 1/2 the value of the constant in the 2nd word, 1/4 the value in the 3rd word, 1/8 4th word, 1/16 5th word, etc.


...


Exercise 6

The example below copies a string into another string, reversing the order of the string to see if they are palindromes. Rewrite it using a based indexed addressing mode.

msg1    db      "Esope reste ici et se repose"
msg2    db      "                            "
MSGLEN  equ     $-msg2

        mov     esi, msg1
        mov     edi, msg2
        mov     ecx, MSGLEN

for     mov     al, byte[esi]
        mov     byte[edi], al
        inc     esi
        inc     edi
        loop    for