Note that there are some explanatory texts on larger screens.

plurals
  1. POC and Assembly project suggestion needed for class on low level software
    primarykey
    data
    text
    <p>I have a class on low level programming which requires a final project (syllabus at the end). It is basically a piece of software that puts to use all you learned.</p> <p>I had a few ideas, like designing my own Roguelike (should be kind of like Nethack, only single-player), but I'd like some suggestions on alternatives. It needn't be a game, can be anything. Timeframe is a month and a half, and I have other projects, etc. so it shouldn't be <em>too</em> time consuming to implement.</p> <p>Requirements:</p> <ul> <li>Use, at least, 4 I/O devices, one of which should be the mouse or serial port</li> <li>Some of those devices should use interrupts, others should use polling</li> <li>Languages: C and Assembly (mandatorily, else there is a penalization)</li> <li>Implement state machines</li> </ul> <p>The peripherals we were lectured on were:</p> <ul> <li>Graphics card - Graphical mode</li> <li>Graphics card - Text mode </li> <li>Mouse</li> <li>Keyboard</li> <li>Real Time Counter</li> <li>On-board Speaker (via timers 0 and 2) </li> <li>Serial port</li> </ul> <p>This is the abridged syllabus:</p> <blockquote> <p>Input/Output peripherals and their operation Direct mapping in a process address space Access to peripherals in polled mode and by interrupt Processor interrupts in the IA-32 architecture and the interrupt controller. Writing interrupt service routines in Assembly and in C Study of some typical personal computer peripherals, such as keyboard, mouse, graphics card, real time clock, timer, loudspeaker and serial port.</p> <p>Programming in the C programming language: main differences with respect to C++ language; structured programming in C. Memory layout of a process. Function calls: mechanisms, parameter passing, storage of local variables and return values. Combined programming in C and the IA-32 processor family assembly. Creation and use of libraries. Static linking of object code.</p> <p>Use of software development tools: gcc, make, gdb, ar, prof, diff, patch and SVN</p> </blockquote> <p>Thank you for your time!</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload