Alright, please, nobody lock/trash/delete/distroy this topic. For those of you who know me, I would never do anything like this (except to a test box of mine, which has nothing to lose anyhow), and the only ones who would want to do this would end up owning themselves before they can do it to anyone else.
The first method of "owning" a computer is very simple. When you start a computer, it goes through the POST (power on self test), detects your floppy drive, RAM ammount (often checking it for errors), CD Drives, hard drives, etc. After that, the BIOS will begin the BIOS boot sequence (call it what you want, thats not the official name (unless I'm lucky)), which is usually something along these lines.
1) Floppy Disk
2) CD Drive(s) (Dells have this after hard disks, press F12 to be given the boot menu)
3) Hard disks
The most simple (IMO) virus that can be written is simply making an MS-DOS startup disk and sticking it in your floppy drive (or a friends (or a non-friends)). Most of the world would have no clue whats going on when they see a DOS prompt. They'll probably hear their floppy drive though, they're pretty loud. Ineffictive, unfun.
Another variant of this method is to to make an MS-DOS bootdisk, and have a simple QB program on it, something allong these lines.
10 'Placeholder
20 Goto 10
Configure an autoexec.bat file to start your program (it must be compiled). This will require the QB runtime files, but they can fit on a floppy disk, so its no problem. This will print absolutely nothing to their screen (it will, but it'll disapear quickly). Good way to make a friend (or enemy) think they fried something, asuming they didn't hear their drive.
This is where it gets serious. The above two will cause you no damage no matter how badly you screw it up (ok, theres a limit, but I think we're all above that). The below uses x86 ASM, about as low as you can get (no pun intended, =p).
The simplist ASM virus you can make is a empty bootloader. You'll need a few tools, namely NASM and PARTCOPY (both free). You'll also need a plain-text editor (I suggest UltraEdit-32, but notepad works) to write your code in. Basically, you're fooling the computer to think you've written an operating system (or someone else has), and you want it loaded.
[bits 16]
start:
jmp $
Anyhow, thats all for now. Comment, add, correct, etc.