Difference between revisions of "CSC231 Addressing Mode Exercises"

From dftwiki3
Jump to: navigation, search
(Exercise 1)
(Exercise 1)
Line 6: Line 6:
 
<font color="white">
 
<font color="white">
 
<code><pre>
 
<code><pre>
 +
msg    db      "hellotherehowareyou"
 +
MSGLEN  equ    $-msg
  
toto
+
        mov    ebx, msg        ; ebx points to 1st char of msg               
 +
        mov    ecx, MSGLEN    ; # of chars in string                         
 +
for:    sub    byte[ebx],32    ; lower to upper case, in memory               
 +
        inc    ebx            ; ebx points to next char                     
 +
        loop    for
  
 
</pre></code>
 
</pre></code>

Revision as of 11:22, 1 October 2008

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

msg     db      "hellotherehowareyou"
MSGLEN  equ     $-msg

        mov     ebx, msg        ; ebx points to 1st char of msg                 
        mov     ecx, MSGLEN     ; # of chars in string                          
for:    sub     byte[ebx],32    ; lower to upper case, in memory                
        inc     ebx             ; ebx points to next char                       
        loop    for

Exercise 2

Write a program that fills an array of 8 bytes with the first 8 fibonacci terms

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 an array of 11 words, and the first words 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

Copy a string into another string, reversing the order of the string to see if they are palindromes.