首页
网站开发
桌面应用
管理软件
微信开发
App开发
嵌入式软件
工具软件
数据采集与分析
其他
首页
>
> 详细
DPST1092编程讲解、辅导c/c++,Java程序设计、Python辅导 解析C/C++编程|辅导留学生 Statistics统计、回归、迭代
项目预算:
开发周期:
发布时间:
要求地区:
DPST1092 21T2 — Assignment 1: cellular, 1D Cellular Automaton in MIPS
Assignment 1: cellular, 1D Cellular Automaton in
MIPS
version: 1.0 last updated: 2021-06-3 20:00:00
Aims
to give you experience writing MIPS assembly code
to give you experience with data and control structures in MIPS
Getting Started
Create a new directory for this assignment called cellular, change to this directory, and fetch the provided code by running these
commands:
$ mkdir cellular
$ cd cellular
$ 1092 fetch cellular
This will add the following files into the directory:
cellular.c: a cellular automaton renderer
cellular.s: a stub assembly file to complete
cellular.c: A Cellular Automaton Renderer
cellular.c is an implementation of a one-dimensional, three-neighbour cellular automaton. It examines its neighbours and its value in
the previous generation to derive the value for the next generation.
Here, we using '#' to indicate a cell that's alive; and '.' to indicate a cell that is not.
Given we examine three neighbours, there are eight states that the prior cells could be in. They are:
For each one, we decide what action to take. For example, we might choose to have the following 'rule':
We apply this rule to every cell, to determine whether the next state is alive or dead; and this forms the next generation. If we print these
generations, one after the other, we can get some interesting patterns.
The description of the rule above — by example, showing each case and how it should be handled — is inefficient. We can abbreviate
this rule by reading it in binary, considering live cells as 1's and dead cells as 0s; and if we consider the prior states to be a binary value
too — the above rule could be 0b00011110, or 30.
To use that rule, we would mix together the previous states we're interested in — left, middle, and right — which tells us which bit of the
rule value gives our next state.
The size of a generation, the rule number, and the number of generations are supplied on standard input. For example:Files c.out and mips.out are identical
Try this for different values of the parameters.
Assumptions and Clarifications
Like all good programmers, you should make as few assumptions as possible.
Your submitted code must be hand-written MIPS assembly, which you yourself have written. You may not submit code in other
languages. You may not submit compiled output.
You may not copy a solution from an online source (e.g., Github).
There will be a style penalty for assignments that do not use the stack to save and restore $ra (in main)
There will be a style penalty for assignments that do not follow these important MIPS calling conventions:
function arguments should be passed in $a0 through $a3
$s0..$s9 should be preserved across function calls: if a function changes these registers, it must restore the original value before
returning
The above two style penalties apply only to assignments which score above CR (65+) on performance testing.
If you need clarification on what you can and cannot use or do for this assignment, ask in the class forum.
You are required to submit intermediate versions of your assignment. See below for details.
Assessment
When you think your program is working, you can use autotest to run some simple automated tests:
$ 1092 autotest cellular cellular.s
Submission
When you are finished working on the assignment, you must submit your work by running give:
$ give dp1092 ass1_cellular cellular.s
You must run give before June 28 23:59:59 to obtain the marks for this assignment. Note that this is an individual exercise, the work
you submit with give must be entirely your own.
You can run give multiple times.
Only your last submission will be marked.
You cannot obtain marks by e-mailing your code to tutors or lecturers.
You can check your latest submission on CSE servers with:
$ 1092 classrun -check ass1_cellular
Manual marking will be done by your tutor, who will mark for style and readability, as described in the Assessment section below. After
your tutor has assessed your work, you can collect your assignment by typing on the command line:
$ 1092 classrun -collect ass1_cellular
The resulting mark will also be available by typing:
$ 1092 classrun -sturec
Due Date
2021/6/18 DPST1092 21T2 — Assignment 1: cellular, 1D Cellular Automaton in MIPS
Due Date
This assignment is tentatively due June 28 23:59:59.
If your assignment is submitted after this date, each hour it is late reduces the maximum mark it can achieve by 2%. For example, if an
assignment worth 74% was submitted 10 hours late, the late submission would have no effect. If the same assignment was submitted 15
hours late, it would be awarded 70%, the maximum mark it can achieve at that time.
Assessment Scheme
This assignment will contribute 9 marks to your final DPST1092 mark.
80% of the marks for assignment 1 will come from the performance of your code on a large series of tests.
20% of the marks for assignment 1 will come from hand marking. These marks will be awarded on the basis of clarity, commenting,
elegance and style. In other words, you will be assessed on how easy it is for a human to read and understand your program.
An indicative assessment scheme follows. The lecturer may vary the assessment scheme after inspecting the assignment submissions,
but it is likely to be broadly similar to the following:
HD (85+) beautiful documented code, which uses the stack with MIPS calling conventions, and
implements spec perfectly
DN (75+) very readable code, prints cells correctly if n_generations positive or negative, all rules
correctly handled
CR (65+) readable code, prints cells correctly if n_generations positive, rules mostly working
PS (55+) prints initial world (first line) correctly and sometimes more correct lines
PS (50+) good progress on assignment but not passing autotests
0% knowingly providing your work to anyone
and it is subsequently submitted (by anyone).
0 FL for
DPST1092
submitting any other person's work; this includes joint work.
academic
misconduct
submitting another person's work without their consent;
paying another person to do work for you.
Intermediate Versions of Work
You are required to submit intermediate versions of your assignment.
Every time you work on the assignment and make some progress you should copy your work to your CSE account and submit it using
the give command below. It is fine if intermediate versions do not compile or otherwise fail submission tests. Only the final submitted
version of your assignment will be marked.
Attribution of Work
This is an individual assignment.
The work you submit must be entirely your own work, apart from any exceptions explicitly included in the assignment specification
above. Submission of work partially or completely derived from any other person or jointly written with any other person is not
permitted.
You are only permitted to request help with the assignment in the course forum, help sessions, or from the teaching staff (the lecturer(s)
and tutors) of DPST1092.
Do not provide or show your assignment work to any other person (including by posting it on the forum), apart from the teaching staff
of DPST1092. If you knowingly provide or show your assignment work to another person for any reason, and work derived from it is
submitted, you may be penalized, even if that work was submitted without your knowledge or consent; this may apply even if your work
is submitted by a third party unknown to you. You will not be penalized if your work is taken without your consent or knowledge.
Do not place your assignment work in online repositories such as github or any where else that is publically accessible. You may use a
private repository.
Submissions that violate these conditions will be penalised. Penalties may include negative marks, automatic failure of the course, and
possibly other academic discipline. We are also required to report acts of plagiarism or other student misconduct: if students involved
hold scholarships, this may result in a loss of the scholarship. This may also result in the loss of a student visa.
Assignment submissions will be examined, both automatically and manually, for such submissions.
Change Log
Version 1.0 Initial release.
软件开发、广告设计客服
QQ:99515681
邮箱:99515681@qq.com
工作时间:8:00-23:00
微信:codinghelp
热点项目
更多
urba6006代写、java/c++编程语...
2024-12-26
代做program、代写python编程语...
2024-12-26
代写dts207tc、sql编程语言代做
2024-12-25
cs209a代做、java程序设计代写
2024-12-25
cs305程序代做、代写python程序...
2024-12-25
代写csc1001、代做python设计程...
2024-12-24
代写practice test preparatio...
2024-12-24
代写bre2031 – environmental...
2024-12-24
代写ece5550: applied kalman ...
2024-12-24
代做conmgnt 7049 – measurem...
2024-12-24
代写ece3700j introduction to...
2024-12-24
代做adad9311 designing the e...
2024-12-24
代做comp5618 - applied cyber...
2024-12-24
热点标签
mktg2509
csci 2600
38170
lng302
csse3010
phas3226
77938
arch1162
engn4536/engn6536
acx5903
comp151101
phl245
cse12
comp9312
stat3016/6016
phas0038
comp2140
6qqmb312
xjco3011
rest0005
ematm0051
5qqmn219
lubs5062m
eee8155
cege0100
eap033
artd1109
mat246
etc3430
ecmm462
mis102
inft6800
ddes9903
comp6521
comp9517
comp3331/9331
comp4337
comp6008
comp9414
bu.231.790.81
man00150m
csb352h
math1041
eengm4100
isys1002
08
6057cem
mktg3504
mthm036
mtrx1701
mth3241
eeee3086
cmp-7038b
cmp-7000a
ints4010
econ2151
infs5710
fins5516
fin3309
fins5510
gsoe9340
math2007
math2036
soee5010
mark3088
infs3605
elec9714
comp2271
ma214
comp2211
infs3604
600426
sit254
acct3091
bbt405
msin0116
com107/com113
mark5826
sit120
comp9021
eco2101
eeen40700
cs253
ece3114
ecmm447
chns3000
math377
itd102
comp9444
comp(2041|9044)
econ0060
econ7230
mgt001371
ecs-323
cs6250
mgdi60012
mdia2012
comm221001
comm5000
ma1008
engl642
econ241
com333
math367
mis201
nbs-7041x
meek16104
econ2003
comm1190
mbas902
comp-1027
dpst1091
comp7315
eppd1033
m06
ee3025
msci231
bb113/bbs1063
fc709
comp3425
comp9417
econ42915
cb9101
math1102e
chme0017
fc307
mkt60104
5522usst
litr1-uc6201.200
ee1102
cosc2803
math39512
omp9727
int2067/int5051
bsb151
mgt253
fc021
babs2202
mis2002s
phya21
18-213
cege0012
mdia1002
math38032
mech5125
07
cisc102
mgx3110
cs240
11175
fin3020s
eco3420
ictten622
comp9727
cpt111
de114102d
mgm320h5s
bafi1019
math21112
efim20036
mn-3503
fins5568
110.807
bcpm000028
info6030
bma0092
bcpm0054
math20212
ce335
cs365
cenv6141
ftec5580
math2010
ec3450
comm1170
ecmt1010
csci-ua.0480-003
econ12-200
ib3960
ectb60h3f
cs247—assignment
tk3163
ics3u
ib3j80
comp20008
comp9334
eppd1063
acct2343
cct109
isys1055/3412
math350-real
math2014
eec180
stat141b
econ2101
msinm014/msing014/msing014b
fit2004
comp643
bu1002
cm2030
联系我们
- QQ: 9951568
© 2021
www.rj363.com
软件定制开发网!