//Wired Hello World! //Connect CPU membus input to console screen //Connect CPUs CLK input to button (toggle) //Notice how you can store your //subroutines/calls in DATA area DATA; message: db 'Hello World!',0; WriteString: //ESI - String pointer, EDX - Param mov eax,65536; AWriteLoop: cmp #esi,0; //Terminate on char 0 je AEnd; mov #eax,#esi; //Output char inc eax; mov #eax,edx; //Output char param inc eax; inc esi; jmp AWriteLoop; AEnd: ret //Return from call CODE; mov esi,message; mov edx,000999; //White foreground on black background call WriteString; //More about colors: //Lower 3 digits are foreground, //and higher 3 digits are background //Each of 3 digits shows amount of //RED, GREEN, and BLUE (in order) //Each color has 10 shades - from 0 to 9 // //For example, 999044 will be dark yellow (044) on //a white background (999) // //Experiment with colors! // //Also, the 7th digit (if its not equal to 0) will //cause the character to blink by changing foreground and //background places (actual data in memory wont change)