Another Blog

JAVA and C programming examples and advices. Tips about computing. Also few MIPS examples and advices about assembly.

Last build:
Tue, 15 Apr 2008 15:00:56 -0500
Language:
en
Feed URL:
http://akomaenablog.blogspot.com/rss.xml

RSS FEED IDEMS: Another Blog

  • Links for 2008-04-14 [Digg]

    Tue, 15 Apr 2008 00:00:00 -0500

  • MIPS NON recursive Fibonacci
    MIPS NON recursive Fibonacci

    As you may seen I posted an implementation of Fibonacci in C(recursive and not) and Recursive Fibonacci MIPS.
    You may also want to see All my MIPS examples.
    Here is the NON recursive implementation of Fibonacci for MIPS.

    .data
    msg1:.asciiz "Give a number : "
    .text
    .globl main
    main:

    li $v0,4
    la $a0,msg1
    syscall
    li $v0,5
    syscall
    add $a0,$v0,$zero

    jal fib

    add $a0,$v0,$zero
    li $v0,1
    syscall

    li $v0,10
    syscall

    fib:
    #a0=a
    #if (a==0) return 0;
    #if (a==1) return 1;

    # int x($t1),y($t2),z($t3),i($t4);
    # for (x=0,y=0,z=1,i=1;i<a;i++) {
    # x=y+z;
    # y=z;
    # z=x; }

    # return(x);

    addi $t0,$zero,1

    beqz $a0,return0
    beq $a0,$t0,return1

    #arxikopiisi

    add $t1,$zero,$zero
    add $t2,$zero,$zero
    addi $t3,$zero,1
    addi $t4,$zero,1

    loop:
    bge $t4,$a0,endloop
    add $t1,$t2,$t3
    add $t2,$zero,$t3
    add $t3,$zero,$t1
    addi $t4,$t4,1
    j loop

    endloop:
    add $v0,$zero,$t1
    jr $ra

    return0:
    add $v0,$zero,$zero
    jr $ra

    return1:
    addi $v0,$zero,1
    jr $ra


    Fri, 11 Apr 2008 03:17:05 -0500

  • MIPS Recursive Fibonacci
    As you may seen I posted an implementation of Fibonacci in C(recursive and not).
    I have also posted Mips Non Recursive Fibonacci.
    Here is the recursive implementation of Fibonacci for MIPS. I have already told this, I suggest you use SPIM to simulate your MIPS programs first.

    .data
    msg1:.asciiz "Give a number: "
    .text
    .globl main
    main:

    li $v0,4
    la $a0,msg1
    syscall #print msg
    li $v0,5
    syscall #read an int
    add $a0,$v0,$zero #move to $a0

    jal fib #call fib

    add $a0,$v0,$zero
    li $v0,1
    syscall

    li $v0,10
    syscall

    fib:
    #a0=y
    #if (y==0) return 0;
    #if (y==1) return 1;
    #return( fib(y-1)+fib(y-2) );

    addi $sp,$sp,-12 #save in stack
    sw $ra,0($sp)
    sw $s0,4($sp)
    sw $s1,8($sp)

    add $s0,$a0,$zero

    addi $t1,$zero,1
    beq $s0,$zero,return0
    beq $s0,$t1,return1

    addi $a0,$s0,-1

    jal fib

    add $s1,$zero,$v0 #s1=fib(y-1)

    addi $a0,$s0,-2

    jal fib #v0=fib(n-2)

    add $v0,$v0,$s1 #v0=fib(n-2)+$s1
    exitfib:

    lw $ra,0($sp) #read registers from stack
    lw $s0,4($sp)
    lw $s1,8($sp)
    addi $sp,$sp,12 #bring back stack pointer
    jr $ra

    return1:
    li $v0,1
    j exitfib
    return0 : li $v0,0
    j exitfib


    Fri, 11 Apr 2008 03:22:35 -0500

  • Excecution time in Java
    I am going to write my answer to the question " HOW DO I CALCULATE ELAPSED TIME IN JAVA ?"
    As far as I now there are two simple ways to calculate the elapsed time - excecution time in JAVA programming language.
    Java gives two methods ,nanoTime() and currentTimeMillis() both declared in class java.lang.System .
    currentTimeMillis() returns the current time in milliseconds (long) and (as expected) nanoTime() returns the current value of the most precise available system timer in nanoseconds (long).
    Below you can see an example of how to calculate the excecution time of a method. The example bellow calculate excecution time of a simple method which it's just a for loop which print numbers from 0 to 1000 but it can be any method you want.

    First I used System.currentTimeMillis() to calculate the elapsed time and then System.nanoTime().

    import java.lang.String;

    public class time_example {

    public static void print_num(){
    for(int i = 0 ; i<=1000 ; i++) {
    System.out.print(i+" ");
    }
    System.out.println();
    }

    public static void main(String args[]) {

    long start,end;
    start = 0; end = 0;

    start = System.currentTimeMillis();
    print_num();
    end = System.currentTimeMillis();
    System.out.println("Elapsed time (approximately)
    in milliseconds = " +(end-start));

    start = System.nanoTime();
    print_num();
    end = System.nanoTime();
    System.out.println("Elapsed time (approximately)
    in nanoseconds = " +(end-start));
    }
    }

    And the output is :

    0 1 2 3 4 5 ... 995 996 997 998 999 1000
    Elapsed time (approximately) in milliseconds = 47
    0 1 2 3 4 5 ... 995 996 997 998 999 1000
    Elapsed time (approximately) in nanoseconds = 193986945

    You may also want to see Elapsed Time in C.
    I hope that this post was helpful and don't forget to post your comments. Thank you.


    Tue, 08 Apr 2008 09:01:30 -0500

  • Fibonacci in C
    This code calculates the Fibonacci of a number inputted by user. Calculation is done with recursion and not.
    Fibonacci is declared as followed:

    fibonacci(n) = fibonacci(n-1) + fibonacci(n-2) n>=2
    fibonacci(0) = 0
    fibonacci(1) = 1

    Here is the source code of Fibonacci in C:

    #include <stdio.h>

    int fibonacci(int y){
    if (y==0) return 0;
    if (y==1) return 1;
    return( fibonacci(y-1)+fibonacci(y-2) );
    }

    int fibonacci2(int a) {
    if (a==0) return 0;
    if (a==1) return 1;

    int x,y,z,i;
    for (i=1,x=0,y=0,z=1;i<a;i++) {
    x=y+z;
    y=z;
    z=x;
    }
    return(x);
    }
    int main() {
    int x;
    printf("Give an integer ");
    scanf("%d",&x);
    printf("Fibonacci of %d is %d ",x,fibonacci(x));
    printf("\nFibonacci2 of %d is %d ",x,fibonacci2(x));
    exit (0);
    }

    Example of output:

    Give an integer: 30
    Fibonacci of 30 is 832040
    Fibonacci2 of 30 is 832040


    Fri, 04 Apr 2008 03:44:20 -0500

  • MIPS power X^Y example
    Calculate the X raised to the power of Y. X and Y are read from user input and also X must be from 1 to 20 and Y must be from 0 to 5. To understand better the following MIPS code you may read Calculate power X^Y in C example.
    This is the MIPS code:

    .data
    str1: .asciiz "Give integer X from 1 to 20 "
    str2: .asciiz "Give integer Y from 0 to 5 "
    errormsg: .asciiz "Out of range.\n"
    nline: .asciiz "\n"
    result1: .asciiz " raised to "
    result2: .asciiz " gives: "
    .text

    error:
    li $v0,4 #print string1
    la $a0,errormsg
    syscall
    beq $s2,$zero,getX
    j getY

    .globl main
    main:
    addi $s0,$zero,21 #s0=21
    addi $s1,$zero,6 #s1=6

    getX:
    addi $s2,$zero,0 #s2=0 to input x and 1 to input y
    li $v0,4
    la $a0,str1
    syscall #print string1
    li $v0,5
    syscall #read int
    slt $s3,$v0,$s0 #$s3=($v0<$s0) if(x<21) $s1=1
    beq $s3,$zero,error #if $s3=0 goto error
    blez $v0,error #if ($v0<=0) goto error
    move $t0,$v0

    getY:
    addi $s2,$zero,1
    li $v0,4
    la $a0,str2
    syscall #print string2
    li $v0,5
    syscall #read int
    slt $s3,$v0,$s1 #$s3=($v0<$s1) if(x<6) $s3=1
    beq $s3,$zero,error #if $s3=0 goto error
    bltz $v0,error #if ($v0<0) goto error
    move $t1,$v0

    beq $t1,$zero,else #if (t1=0) t2=1, t1=y,t2=result
    addi $t2,$zero,1
    addi $s4,$zero,0

    loop: #if s4<t1
    slt $s5,$s4,$t1 #$s5=($s4<$t1) if(x<21) $s5=1
    beq $s5,$zero,printresult
    #if $s1=0 goto printresult(s4=t1)
    mul $t2,$t2,$t0 #t2=t2*t0
    addi $s4,$s4,1
    j loop

    else:
    addi $t2,$zero,1
    j printresult

    printresult:
    li $v0,1
    move $a0,$t0
    syscall #print X
    li $v0,4
    la $a0,result1
    syscall #print " raised to "
    li $v0,1
    move $a0,$t1
    syscall #print Y
    li $v0,4
    la $a0,result2
    syscall #print " gives "
    li $v0,1
    move $a0,$t2
    syscall #print result(t2)
    li $v0,10
    syscall #exit

    You may would like to see MIPS Bubble sort or simple MIPS counter.


    Fri, 04 Apr 2008 03:27:48 -0500

  • Calculate power X^Y in C
    A simple program in C programming language which asks from user to input two numbers (X,Y) and then calculates the result of X raised to the power of Y. Calculation is done with recursion and not and prints both results which of course must be the same! Maybe you want to see the code of MIPS power X^Y example.
    Here is the code for the C power example:

    #include <stdio.h>

    /*
    power recursive
    return x^y
    */
    int power(int x,int y){
    if (y==0) return 1;
    if (y==1) return x;
    return( x*power(x,y-1) );
    }
    /*
    power not recursive
    return x^y
    */
    int power2(int x,int y) {
    if (y==0) return 1;
    if (y==1) return x;

    int result,i;
    for (i=0,result=1;i<y;i++) {
    result = result * x;
    }
    return(result);
    }
    int main() {
    int x,y;
    do{
    printf("Give integer X from 1 to 20 : ");
    scanf("%d",&x);
    }
    while( x>20 || x<1 );
    do{
    printf("Give integer Y from 0 to 5 : ");
    scanf("%d",&y);
    }
    while( x>20 || x<1 );

    printf("%d raised to %d gives %d \n",x,y,power(x,y));
    printf("%d raised to %d gives %d ",x,y,power2(x,y));
    exit (0);
    }

    The output is like that:

    Please give integer X from 1 to 20: 2
    Please give integer Y from 0 to 5: 5
    X raised to Y gives: 32

    You may want to see Simple MIPS counter or MIPS bubble sort.


    Fri, 04 Apr 2008 03:27:31 -0500

  • Simple Counter in C
    This is a very simple program in C. User is asked for a number. If user gives a number from 1 to 20 then the program prints all the numbers from 1 to the number the user inputed.
    If user give a number out of range program asks again for a valid number.
    This program is here so reader can understand better how this little program is written in MIPS code. The same in MIPS code is here.

    #include <stdio.h>

    int main() {
    int x,i;
    do{
    printf("Please give an integer from 1 to 20 : ");
    scanf("%d",&x);
    }
    while( x>20 || x<1 );
    for (i=1;i<=x;i++) {
    printf("%d\n",i);
    }
    exit(0);
    }


    Fri, 04 Apr 2008 03:07:43 -0500

  • Simple MIPS counter
    This a simple MIPS program. User is asked for a number. If user gives a number from 1 to 20 then the program prints all the numbers from 1 to the number the user inputed.
    If user gave a number out of range program asks again for a valid number.
    The same program in C is here.

    .data
    str1: .asciiz " Please give an integer from 1 to 20 : "
    errormsg: .asciiz " Out of range (1-20). \n"
    nline: .asciiz "\n" #new line
    .text
    error:
    li $v0,4
    la $a0,errormsg
    syscall #print error msg
    j get
    .globl main # label "main" must be global
    main:
    addi $s0,$zero,21 #s0=21
    get:
    li $v0,4
    la $a0,str1
    syscall #print string1
    li $v0,5
    syscall #read int
    slt $s1,$v0,$s0 #$s1=($v0<$s0) if(x<21) $s1=1
    beq $s1,$zero,error #if $s1=0 goto error
    blez $v0,error #if ($v0<=0) goto error
    move $t0,$v0
    add $t1,$0,$0
    loop:
    addi $t1,$t1,1 #$t1++
    li $v0,1
    move $a0,$t1
    syscall #print int
    li $v0,4
    la $a0,nline
    syscall #print nline
    slt $t2,$t1,$t0 #$t2=($t1<$t0)
    bnez $t2,loop #if $t2!=0 goto loop
    li $v0,10 #exit program
    syscall

    Example of output is:

    Please give an integer from 1 to 20: 35 Out of range (1-20).
    Please give an integer from 1 to 20: -5 Out of range (1-20).
    Please give an integer from 1 to 20: 5
    1
    2
    3
    4
    5

    I hope that this post was helpful for you. Maybe you would like to see MIPS Bubble sort.


    Fri, 04 Apr 2008 03:28:25 -0500

  • VHDL Counter
    This is a VHDL counter which uses VHDL n-input AND gate , VHDL n-input OR gate and VHDL D-Flip Flop.
    Counter has the following stages: 0, 1, 2, 6, 7, 10, 12, 13, 14, 15 and 0 again.
    Stages 3, 4, 5, 8, 9, 11 are not used. Counter has auto correction, which mean if the circuit go to an invalid stage after some clock ticks will go back to a valid stage. Below are the VHDL structural description and instructions how to simulate using macro .do.

    ------------------
    ---- Counter ----
    ------------------
    LIBRARY IEEE;
    USE ieee.std_logic_1164.all;

    ENTITY counter1 IS
    port(clk,reset: in std_logic;
    result : out std_logic_vector(1 to 4));
    End counter1;

    Architecture structural of counter1 IS
    COMPONENT Dflipflop
    port(resetn,D,Clock : in std_logic;
    Q1,Q2 : out std_logic);
    End Component;

    COMPONENT andn
    generic( N:integer:=4);
    PORT (x : IN STD_LOGIC_VECTOR(1 TO N);
    f : OUT STD_LOGIC);
    end component;

    component orn
    generic( N:integer:=4);
    port (x : std_logic_vector(1 to N);
    f : out std_logic);
    end component;

    Signal da1,da2,inputa,db1,db2,inputb,dc1,dc2,
    inputc,dd1,dd2,inputd:std_logic;
    Signal x1,x2,x5,x6,x7,x8,x9,x12,
    x13,x14 : std_logic_vector(1 to 2);
    Signal x3,x4,x10,x11 : std_logic_vector(1 to 3);
    SIGNAL N : std_logic_vector(1 to 10);
    Begin


    x1<=da1&dc2;
    x2<=da1&dd2;
    x3<=da2&dc1&dd1;
    x4<=N(1)&N(2)&N(3);
    G4: andn generic map(2) port map(x1,N(1));
    G5: andn generic map(2) port map(x2,N(2));
    G6: andn generic map(3) port map(x3,N(3));
    G7: orn generic map(3) port map(x4,inputa);

    x5<=da1&dc2;
    x6<=dc1&dd2;
    x7<=N(4)&N(5);
    G8: andn generic map(2) port map(x5,N(4));
    G9: andn generic map(2) port map(x6,N(5));
    G10: orn generic map(2) port map(x7,inputb);

    x8<=dc2&dd1;
    x9<=da2&dc1;
    x10<=db1&dc1&dd2;
    x11<=N(6)&N(7)&N(8);
    G11: andn generic map(2) port map(x8,N(6));
    G12: andn generic map(2) port map(x9,N(7));
    G13: andn generic map(3) port map(x10,N(8));
    G14: orn generic map(3) port map(x11,inputc);

    x12<=dc2&dd2;
    x13<=db1&dd2;
    x14<=N(9)&N(10);
    G15: andn generic map(2) port map(x12,N(9));
    G16: andn generic map(2) port map(x13,N(10));
    G17: orn generic map(2) port map(x14,inputd);

    G0: dflipflop port map(reset,inputa,clk,da1,da2);
    G1: dflipflop port map(reset,inputb,clk,db1,db2);
    G2: dflipflop port map(reset,inputc,clk,dc1, dc2);
    G3: dflipflop port map(reset,inputd,clk,dd1,dd2);

    result(1)<=inputa;
    result(2)<=inputb;
    result(3)<=inputc;
    result(4)<=inputd;
    End structural;

    Let's consider the code above is saved in a file named counter1.vhd
    Now open a new text file and write:

    vlib work
    vmap work work
    vcom counter1.vhd
    vsim counter1
    force clk 0 0, 1 10 -repeat 20
    force reset 1 0
    add wave /counter1/*
    run 250

    and save it as counter.do
    Now load ModelSim and write in the console:

    do counter.do

    You should see something like that (click to enlarge):



    Thu, 03 Apr 2008 04:40:30 -0500

  • VHDL D-Flip Flop
    VHDL D-Flip Flop.
    For more about Flip Flops read the article from wikipedia.

    ---------------------
    ---- D Flip Flop ----
    ---------------------
    LIBRARY IEEE;
    USE ieee.std_logic_1164.all;

    Entity Dflipflop IS
    Port(resetn,D,clock :in std_logic;
    Q1,Q2 : out std_logic);
    End Dflipflop;

    ARCHITECTURE behavior OF Dflipflop IS
    BEGIN
    p1: PROCESS (resetn,D,Clock)
    BEGIN
    IF resetn = '0' then
    Q1<='0';
    Q2<='1';
    ELSIF Clock'EVENT AND Clock = '1' THEN
    Q1 <= D;
    Q2 <= NOT D;
    END IF;

    END PROCESS p1;
    END behavior;

    You may also want to see VHDL n-input AND gate or VHDL n-input OR gate.


    Thu, 03 Apr 2008 04:09:41 -0500

  • VHDL n-input OR gate
    VHDL n-input OR gate.

    ------------------------
    --- OR gate n-input ---
    ------------------------
    LIBRARY IEEE;
    USE ieee.std_logic_1164.all;

    ENTITY orn IS
    GENERIC (n : INTEGER := 4);
    PORT (x : IN STD_LOGIC_VECTOR(1 TO n);
    f : OUT STD_LOGIC);
    END orn;

    ARCHITECTURE dataflow OF orn IS
    SIGNAL tmp : STD_LOGIC_VECTOR(1 TO n);
    BEGIN
    tmp <= (OTHERS => '0');
    f <= '0' WHEN x = tmp ELSE '1';
    END dataflow;

    You may also want to see VHDL n-input AND gate or VHDL D-Flip Flop.


    Thu, 03 Apr 2008 04:10:55 -0500

  • VHDL n-input AND gate
    VHDL n-input AND gate.

    ------------------------
    ----- AND n-input -----
    ------------------------
    LIBRARY IEEE;
    USE ieee.std_logic_1164.all;

    ENTITY andn IS
    GENERIC (n : INTEGER := 4);
    PORT (x : IN STD_LOGIC_VECTOR(1 TO n);
    f : OUT STD_LOGIC);
    END andn;

    ARCHITECTURE dataflow OF andn IS
    SIGNAL tmp : STD_LOGIC_VECTOR(1 TO n);
    BEGIN
    tmp <= (OTHERS => '1');
    f <= '1' WHEN x = tmp ELSE '0';
    END dataflow;

    You may also want to see VHDL n-input OR gate or VHDL D-Flip Flop.


    Thu, 03 Apr 2008 04:11:51 -0500

  • Nα θυμάσαι !!!
    Nα θυμάσαι :

    1. Υπάρχουν τουλάχιστον 2 άνθρωποι σ'αυτόν τον κόσμο που θα πέθαιναν για σένα.
    2. Τουλάχιστον 15 σ'αυτόν τον κόσμο σ'αγαπούν με κάποιο τρόπο.
    3. Ο μόνος λόγος που κάποιος μπορεί να σε μισήσει είναι επειδή θα ήθελε να είναι σαν κι εσένα.
    4. Ενα χαμόγελό σου μπορεί να φέρει ευτυχία ακόμα και σε κάποιον που δεν σε συμπαθεί.
    5. Κάθε βράδυ τουλάχιστον 1 άνθρωπος σε σκέφτεται πριν κοιμηθεί.
    6. Είσαι ο κόσμος ολόκληρος για κάποιον.
    7. Είσαι μοναδικός και ξεχωριστός άνθρωπος.
    8. Κάποιος που μπορεί να μην τον ξέρεις καν, σε αγαπάει.
    9. Ακόμα και όταν κάνεις το μεγαλύτερο λάθος, κάτι καλό βγαίνει από αυτό
    10. Οταν σκέφτεσαι οτι όλος ο κόσμος είναι εναντίον σου, ξαναρίξε μια ματιά
    11. Πάντα να θυμάσαι τους επαίνους που δέχεσαι και να ξεχνάς τις προσβολές.

    Πάντα να θυμάσαι....όταν η ζωή σου δίνει λεμόνια, ζήτα τεκίλα και αλάτι, και κάλεσε τους φίλους σου να 'ρθούν!

    Οι καλοί φίλοι είναι σαν τα αστέρια........Δεν τους βλέπεις πάντα, αλλά ξέρεις οτι υπάρχουν.

    Ίσως θέλετε να διαβάσεται παρόμοια post: Κύπριοι φίλοι , Άλλο ένα mail.


    Thu, 27 Mar 2008 10:14:26 -0500

  • Άλλο ένα mail.
    Αγαπητοί φίλοι ένα mail:

    Τι κοινό έχουν οι δημόσιοι υπάλληλοι και τα σπερματοζωάρια ;
    - Πολλοί μπαίνουν, αλλά μόνο ένας κάνει δουλειά !
    ****
    - Ποια είναι η διαφορά μεταξύ πουτάνας, ερωμένης και συζύγου;
    - Η πουτάνα λέει: 'ακόμα;', η ερωμένη 'κιόλας;' και η σύζυγος 'νομίζω πως το ταβάνι θέλει βάψιμο'
    ********
    - Μαμά, τώρα που έγινα 16 χρόνων να βάλω σουτιέν;
    - Όχι Μανώλη.
    ****
    - Τι λέει ένα σκουλίκι που έπεσε μέσα σε μια μακαρονάδα ;
    -Πω πω παρτούζα !!!
    ****
    -Από ποια πρόβατα βγαίνει το αγνό παρθένο μαλλί;
    -Από αυτά που τρέχουν πιο γρήγορα από τον τσοπάνη
    ****
    Ποιες είναι οι 3 ομοιότητες του μισθού και της περιόδου
    1) Έρχονται μόνο 1 φορά το μήνα.
    2) Κρατάνε μόνο 1 εβδομάδα
    3) Γαμιέσαι μέχρι να ξανάρθουν
    ****
    - Τι κοινό έχουν το στήθος μιας γυναίκας και ένα ηλεκτρικό τραινάκι;
    - Και τα δύο είναι φτιαγμένα για παιδιά, παίζει όμως μαζί τους ο μπαμπάς
    ****
    - Τι συμβαίνει όταν ένας άντρας μιλάει πρόστυχα σε μια γυναίκα ;
    - Σεξουαλική παρενόχληση.
    - Τι συμβαίνει όταν μια γυναίκα μιλάει πρόστυχα σε έναν άντρα ;
    - 0,65 ευρώ / 15 λεπτά
    ****
    - Πως πέθανε η Σταχτοπούτα ;
    - Στις 12 η ώρα το ταμπόν έγινε κολοκύθα.
    ****
    - Πως λέγεται η πίπα ινδικά;
    - Γάμα Μούτρα.
    ****
    - Πως μπορείς να κάνεις τη γυναίκα σου να φωνάζει δυνατά όταν κάνετε έρωτα;
    - Οταν τελειώσεις σκούπισε το πουλί σου στην κουρτίνα
    ****
    - Ποιός είναι ο πιο δημοφιλής άντρας σε ένα στρατόπεδο γυμνιστών;
    - Αυτός που μπορεί να κρατάει έναν καφέ στο κάθε χέρι και καμμιά δεκαριά
    ντόνατς
    ****
    - Ποιά είναι η πιο δημοφιλής γκόμενα σε ένα στρατόπεδο γυμνιστών;
    - Αυτή που μπορεί να φάει το τελευταίο ντόνατ.
    ****
    - Ποια είναι η διαφορά ανάμεσα στο 'Αχ !' και στο 'Αααααααααααααχ !!!';
    - Τουλάχιστον δέκα πόντοι.
    ****
    - Γιαγιά, γιαγιά, να παίξω με τα βυζιά σου ;
    - Παίξε, αλλά μην απομακρυνθείς πολύ !
    ****
    - Τι είναι κόκκινο και φτύνει πριονίδια;
    - Η κοκκινοσκουφίτσα που παίρνει πίπα στον Πινόκιο.
    ****
    - Γιατί οι γριές δε φορούν μίνι φούστα ;
    - Για να μη φαίνεται το στήθος τους.
    ****
    - Τι είπε ο γιατρός όταν έβγαλε το μπουκάλι από τον κώλο της Aννας Βίσση;
    - Παντού υπάρχει ένας Μύθος.
    ****
    -Γιατί το μουνί είναι κάθετο και όχι οριζόντιο;
    -Για να δέχεται και πιστωτικές κάρτες
    ****
    -Γιατί τα ταμπόν έχουν μια κλωστή στην άκρη?
    -Για να κάνουν οι μουνόψειρες bunjee jumping.
    ****
    -Πως λένε στη Θεσσαλονίκη το sleeping bag ;
    -Μπουγάτσα με τουρίστα.
    ****
    - Γιατί τα στρουμφάκια είναι χαμογελαστά την άνοιξη ;
    - Γιατί μεγαλώνει το χορτάρι και τους γαργαλάει τ' αρχίδια.
    ****

    Ίσως θέλετε να διαβάσεται παρόμοια post: Κύπριοι φίλοι , Να θυμάσαι!!!.


    Wed, 26 Mar 2008 17:06:51 -0500

Submit your RSS Feed

Subscribe to this RSS Feed

Copyright © 2006-2007 Listopica, Inc. RSS Feed Directory  |  Submit RSS Feed