Difference between revisions of "CSC231 Addressing Mode Exercises"
(→Exercise 1) |
(→Exercise 1) |
||
Line 6: | Line 6: | ||
<font color="white"> | <font color="white"> | ||
<code><pre> | <code><pre> | ||
+ | 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 | ||
</pre></code> | </pre></code> |
Revision as of 11:22, 1 October 2008
Contents
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.