
Kevin's Own Version of Assembler
What is Kova?
Kova is an integrated assembly environment. It is a highly
configurable editor, "any assembly" assembler,
deassembler, and Powerview ViewSim/ViewGraph* auto-tracer.
Where did Kova originate from?
From frustration of lack of decent assembly environment,
Kova was born. Traditionally, students in CS152 had
to create MIPS assembly in their own editor, convert
to HEX, edit ViewSim test files, run simulation,
match program counter number to MIPS code
to see where codes have executed, and match HEX and
MIPS code for debugging purposes.
During a typical day, students would spend a great amount of time going
through this process over and over again.
The predecessor of Kova, mipstool, was an
attempt to simplify these mundane and time consuming tasks.
It was a primitive front end to Scott McPeak's own
version of mipsasm*. The mipstool had
only three features-- mips code auto-line-numberer, hex/mips
code matcher, and one button push assembly button (which was
simply executing mipsasm). These features, although simple,
greatly reduced mudane tasks, and gave my group
a very high competitive edge that no other groups had.
The next semester, spring 1997, I had the opportunity to publicly
release mipstools for Professor Culler's students. Following
the suggestions from the students, I added new features,
changed features, but eventually had to scrape the entire project.
I was beginning to spend more and more of my time dealing with
administrative issues associated with the new Powerview 6.0,
creating new Powerview components, helping students, grading,
and others. At the same time, modifying mipstool code became
increasingly difficult;
the code was afterall a very unmodular, dirty hack intended to
"just get something done" quickly.
After the fast paced experience TAing with Professor Culler,
I never looked back at Kova. During my last semester at Cal,
however, my former partner inquired about this forgotten
project. At that time, he not only saw a fully
functional integrated editor, but also a somewhat working version
of an assembler that would understand a "universal table",
thus allowing any code, MIPS, byte code, whatever, to be assembled.
He also saw a Powerview auto-tracer that would track the
execution of ViewSim in real time along with the Kova editor.
It would be ashamed if Kova was not completed, he thought. So after
forgetting Kova for a long time, I am back on the mission to finish
Kova, to make Kova a useful tool for CS152 and the alike classes.
*Powerview is a trademark of ViewLogic
*mipsasm is a property of U.C. Berkeley.