Spiky2013 Posted June 21, 2009 Posted June 21, 2009 #define IDS_HELLO 1 #define IDS_GOODBYE 2 STRINGTABLE { IDS_HELLO, "Hello" IDS_GOODBYE, "Goodbye" STRINGTABLE BEGINIDS_CHINESESTRING L"\x5e2e\x52a9" IDS_RUSSIANSTRING L"\x0421\x043f\x0440\x0430\x0432\x043a\x0430" IDS_ARABICSTRING L"\x062a\x0639\x0644\x064a\x0645\x0627\x062a" END STRINGTABLE BEGIN IDS_1 L"5\x00BC-Inch Floppy Disk" IDS_1a "5\xBC-Inch Floppy Disk" IDS_2 L"Don't confuse \x2229 (intersection) with \x222A (union)" IDS_3 "Copyright \xA92001" IDS_3a L"Copyright \x00a92001" ENDhai ia vezi, poate ma dezlantui pe tinestii ce e/ce face aia? :rofl1:
Spiky2013 Posted June 21, 2009 Posted June 21, 2009 module microcontroller(clk, i1, i2, o1, o2); input [7:0] i1; input [7:0] i2; output o1; output o2; input clk; reg [7:0] ram[0:255]; reg [15:0] rom[0:255], Ci; reg [7:0] R[0:3]; reg [7:0] o1,o2,T1,T2,Cp=0; reg [8:0] ACC; reg x; reg [1:0] Rs=0; initial begin R[0]=0; R[1]=0; R[2]=0; R[3]=0; //programul de test //=========|==|===|=|========| rom[0]=16'b1100000001000000; //IN R0,I1 R0=I1 rom[1]=16'b1100000110000000; //IN R1,I2 R1=I2 rom[2]=16'b1000000001000000; //ADD R0,R1 ACC=R0+R1 rom[3]=16'b0100001000000000; //MOVA R2 R2=ACC rom[4]=16'b1110101100000011; //MOVI R3,3 R3=3 rom[5]=16'b1011001100000000; //AND R3,0 N-ar trebui sa scoata iesirea o1 rom[6]=16'b0000010000001000; //JZ 8 Jump if zero=1 rom[7]=16'b1100011001000000; //OUT R2,O1 O1=R2 rom[8]=16'b0110110000000010; //STORE 2 ram[2]=ACC //========================= rom[9]=16'b1110100000000010; //MOVI R0,2 R0=2 rom[10]=16'b0100100000000000; //LD R0 ACC=MEM[R0] rom[11]=16'b0100001000000000; //MOVA R2 R2=ACC rom[12]=16'b1100011010000000; //OUT R2,O2 O2=R2 //=============if-then-else=== rom[13]=16'b1110100000000011; //MOVI R0,3 R0=3 rom[14]=16'b1110100100000010; //MOVI R1,2 R1=2 rom[15]=16'b1110101000000111; //MOVI R2,7 R2=7 //if (R0 || R1) O1=R0; else O1=R2=7; rom[16]=16'b1000100001000000; //OR R0,R1 Rs[1]=R0 || R1 rom[17]=16'b0000010000010100; //JZ 20 Cp=20 if zero=0 rom[18]=16'b1100010001000000; //OUT R0,O1 O1=R0 rom[19]=16'b0000000000010101; //JMP 21 Cp=21 rom[20]=16'b1100011001000000; //OUT R2,O1 O1=R2 //========================= rom[21]=16'b1110100000001101; //MOVI R0,13 R0=13 rom[22]=16'b0100010000000000; //MOVR R0 ACC=R0 rom[23]=16'b0110110000001000; //STORE 8 MEM[8]=ACC //========================= rom[24]=16'b1110100011111111; //MOVI R0,256 R0=256 rom[25]=16'b1010000011111111; //ADD R0,256 ACC=R0+256 rom[26]=16'b1110100100000000; //MOVI R1,0 R1=0 rom[27]=16'b1010010100000001; //ADDC R1,1 ACC=R1+1+Rs[0] //=========|==|===|=|========| end always @(posedge clk) begin Ci=rom[Cp]; if ((Ci[15] == 1) || (Ci[15] == 0)) begin case (Ci[15]) 0: begin //cu o adresa case (Ci[14]) 0: begin //jump case (Ci[12:10]) 0: begin //JMP Cp=Ci[7:0]-1; //se face dupa case incrementarea Cp end 1: begin //JZ if (Rs[1] == 0) Cp=Ci[7:0]-1; end 2: begin //JC if (Rs[0]==1) Cp=Ci[7:0]-1; end endcase end 1: begin //transfer date/control case (Ci[12:10]) 0: begin //MOVA R[Ci[9:8]]=ACC; end 1: begin //MOVR ACC=R[Ci[9:8]]; end 2: begin //LD if (Ci[13] == 1) ACC=ram[Ci[7:0]]; else ACC=ram[R[Ci[9:8]]]; end 3: begin //STORE if (Ci[13] == 1) ram[Ci[7:0]]=ACC; else ram[R[Ci[9:8]]]=ACC; end endcase end endcase end 1: begin //cu 2 adrese case (Ci[14]) 0: begin //operatii case (Ci[12:10]) 0: begin //ADD if (Ci[13] == 1) begin ACC=R[Ci[9:8]]+Ci[7:0]; end else begin T1=R[Ci[9:8]]; T2=R[Ci[7:6]]; ACC=T1+T2; end //seteaza transportul Rs[0]=ACC[8]; //seteaza bitul de zero if (ACC == 0) Rs[1]=1; else Rs[1]=x; end 1: begin //ADDC if (Ci[13] == 1) begin ACC=R[Ci[9:8]]+Ci[7:0]+Rs[0]; end else begin T1=R[Ci[9:8]]; T2=R[Ci[7:6]]; ACC=T1+T2+Rs[0]; end //seteaza transportul Rs[0]=ACC[8]; //seteaza bitul de zero if (ACC == 0) Rs[1]=1; else Rs[1]=0; end 2: begin //OR if (Ci[13] == 1) begin R[Ci[9:8]] = (R[Ci[9:8]] | Ci[7:0]); end else begin R[Ci[9:8]] = (R[Ci[9:8]] | R[Ci[7:5]]); end //seteaza bitul de zero if (R[Ci[9:8]] == 0) Rs[1]=0; else Rs[1]=x; end 3: begin //XOR if (Ci[13] == 1) begin R[Ci[9:8]] = (R[Ci[9:8]] ^ Ci[7:0]); end else begin R[Ci[9:8]] = (R[Ci[9:8]] ^ R[Ci[7:5]]); end //seteaza bitul de zero if (R[Ci[9:8]] == 0) Rs[1]=0; else Rs[1]=x; end 4: begin //AND if (Ci[13] == 1) begin //BIT CU BIT R[Ci[9:8]] = (R[Ci[9:8]] & Ci[7:0]); end else begin R[Ci[9:8]] = (R[Ci[9:8]] & R[Ci[7:5]]); end //seteaza bitul de zero if (R[Ci[9:8]] == 0) Rs[1]=0; else Rs[1]=x; end endcase end 1: begin //transfer date case (Ci[12:10]) 0: begin //IN if (Ci[7:6] == 1) R[Ci[9:8]] = i1; if (Ci[7:6] == 2) R[Ci[9:8]] = i2; end 1: begin //OUT if (Ci[7:6] == 1) o1=R[Ci[9:8]]; else o2=R[Ci[9:8]]; end 2: begin //MOVI if (Ci[9:8] < 4) begin if (Ci[13] == 1) R[Ci[9:8]] = Ci[7:0]; else R[Ci[9:8]] = R[Ci[7:6]]; end else begin if (Ci[13]==1) ACC = Ci[7:0]; else ACC = R[Ci[7:6]]; end end endcase end endcase end endcase Cp=Cp+1; end end endmodule asta e mai low lvl...am si assembler :-?Aici aveti proiectarea unui microcontroller... are intrare ptr semnal de ceas extern, si stie sa faca niste operatii...cred ca SUM MUL AND OR :-??
0rion Posted June 21, 2009 Posted June 21, 2009 stii ce e/ce face aia? :rofl1:da chiar skipy ce tot indrugi tu acolo ce este ?
Spiky2013 Posted June 21, 2009 Posted June 21, 2009 da chiar skipy ce tot indrugi tu acolo ce este ?mai sus era java, copy paste random din lucrarea mea de licenta :)) xDera o functie care verifica intr-un JTree cu un custom renderer sub forma de jcheckbox... verifica daca un nod cu un anumit label este selectat xD
Narcisa Posted June 21, 2009 Posted June 21, 2009 moaaaaaaaaaaaaaaaaaaa sunteti nebuni?!? a inceput poveste de cartier :o :o
Lucian Posted June 21, 2009 Posted June 21, 2009 stii ce e/ce face aia? :rofl1: dap, te face sa pari ca un tocilar mai sus era java, copy paste random din lucrarea mea de licenta :)) xD era o functie care verifica intr-un JTree cu un custom renderer sub forma de jcheckbox... verifica daca un nod cu un anumit label este selectat xD
Spiky2013 Posted June 21, 2009 Posted June 21, 2009 dap, te face sa pari ca un tocilar tocilar = persoana care stie programare? i seeeeeeee.......... esti ok! si ala prost care nu stie sa faca nimic nimic se numeste smecher si cool nu? :rofl1:
Lucian Posted June 21, 2009 Posted June 21, 2009 oh get a life si nu te mai ataca atata, glumeam doar. mereu o iei in serios si nu te opresti din comentarii de genu^ pana nu se izbeste o cearta, devine plictisitor si enervant
0rion Posted June 21, 2009 Posted June 21, 2009 bhuzale thaleeee doo pathaleeeeete sefu afk/istilor :))
rhazek Posted June 21, 2009 Author Posted June 21, 2009 ba, aia e singura manea misto ^_^ luci, dai manea misto :-w
Fury Posted June 21, 2009 Posted June 21, 2009 zip zip :> tocmai am vazut tokyo drift , doamne bun's chinezoaicele alea #-o
rhazek Posted June 21, 2009 Author Posted June 21, 2009 zip zip :> tocmai am vazut tokyo drift , doamne bun's chinezoaicele alea #-omda #-o l-am vazut si eu tot acu