Understanding Computer Architecture and Assembly Programming
Joint seminar by Almaty Management University and Imagination Technologies
August 24 2016
Exercise 1 - Assembly programming using MARS MIPS instruction set simulator
Name ___________________________________________________________________
An example assembly program below fills the memory with 4-byte words 0, 1, 2, 3 ... 63.
Variant that does not use branch delay slot:
Variant that uses branch delay slot:
Using the above example, create a program that fills the memory with the following pattern:
- 00000000 00000002 00000004 00000006 00000008 ... 000001FE 00000200
- 00010000 00030002 00050004 00070006 00090008 ... 00FD00FC 00FF00FE
- 03020100 07060504 0B0A0908 0F0E0D0C 13121110 ... FBFAF9F8 FFFEFDFC
- 01010101 02020202 03030303 04040404 05050505 ... EEEEEEEE FFFFFFFF
- 11111111 22222222 33333333 44444444 55555555 ... EEEEEEEE FFFFFFFF
- 01000100 02000200 03000300 04000400 05000500 ... FE00FE00 FF00FF00
- 00000001 00000002 00000004 00000008 00000010 ... 40000000 80000000
- 00020001 00080004 00200010 00800040 02000100 ... 20001000 80004000
- 12345678 01234567 00123456 00012345 00001234 ... 00000012 00000001
- 12345678 23456780 34567800 45678000 56780000 ... 78000000 80000000
- 12345678 81234567 78123456 67812345 56781234 ... 23456781 12345678
- 12345678 23456781 34567812 45678123 56781234 ... 81234567 12345678
- 00000001 00000003 00000009 OOOOOO1B 00000051 ...
- 00030001 001B0009 00F30051 088B02D9 4CE319A1 ...
- 00000001 00000004 00000009 00000010 00000019 ...
- ABCDEF78 0ABCDEF7 00ABCDEF 000ABCDE 0000ABCD ... 000000AB 0000000A
- ABCDEF78 BCDEF780 CDEF7800 DEF78000 EF780000 ... 78000000 80000000
- ABCDEF78 8ABCDEF7 78ABCDEF F78ABCDE EF78ABCD ... BCDEF78A ABCDEF78
- ABCDEF78 BCDEF78A CDEF78AB DEF78ABC EF78ABCD ... 8ABCDEF7 ABCDEF78
- 00010001 00030002 00050003 00070004 00090005 ... 00FD007F 00FF0080
- 000000FF 000000FE 000000FD 000000FC 000000FB ... 00000001 00000000
- 00FE00FF 00FC00FD 00FA00FB 00F800F9 00F600F7 ... 00010001 00000000
- FCFDFEFF F8F9FAFB F4F5F6F7 F0F1F2F3 ECEDEEEF ... 07060504 03020100
- FFFFFFFF EEEEEEEE DDDDDDDD CCCCCCCC BBBBBBBB ... 11111111 00000000
- FFFFFFFF FFFFFFFF EEEEEEEE EEEEEEEE DDDDDDDD ... 00000000 00000000
- 12345678 12345670 12345600 12345000 12340000 ... 10000000 00000000
- 12345678 1234567F 123456FF 12345FFF 1234FFFF ... 1FFFFFFF FFFFFFFF
- 12345678 02345678 00345678 00045678 00005678 ... 00000008 00000000
- 12345678 F2345678 FF345678 FFF45678 FFFF5678 ... FFFFFFF8 FFFFFFFF
- 12345678 F234567F FF3456FF FFF45FFF FFFFFFFF ... (repeat the pattern)
Exercise is created by Yuri Panchul