chiragsakhuja / lc3tools

A complete overhaul of the LC-3 simulator used in EE 306 at The University of Texas at Austin.
Apache License 2.0
130 stars 45 forks source link

Support of specific runtime configurations #36

Open moalshak opened 1 year ago

moalshak commented 1 year ago

For example :

moalshak commented 1 year ago

I would say that gathering a lot of metadata about the ran program would be quite helpful as well.

chiragsakhuja commented 1 year ago

Could you explain a use case for the first bullet point?

max number of X instruction.

Also, could you give an example of what kind of metadata should be collected?

moalshak commented 1 year ago

We are using LC3 at the university of Groningen, and I am writing test-cases for students using our online program tester (called Themis). One of the assignments is to write an efficient multiplication program by choosing the smaller number as the counter for the repeated addition. I wanted to know exactly how many times the students used the ADD instruction in their program, but I could not out of the box.

Also, could you give an example of what kind of metadata should be collected?

I think that for teachers, it is best if all metadata that can be collected, gets collected. This way, teachers can write very specific test cases that the students code has to adhere to. For example, how often a register was read, how often the memory was read, how often the code branched and to what label.

But at the bare minimum, how often every instruction was executed.