Create  Edit  Diff  FrontPage  Index  Search  Changes  Login

はじめてのひき - FizzBuzzAsm Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

FizzBuzz のアセンブリを色んな CPU で集めてみようという試み。

* [[FizzBuzzAsm_x86]]
* [[FizzBuzzAsm_x86-64]]
* [[FizzBuzzAsm_arm]]
* [[FizzBuzzAsm_ppc]]
* [[FizzBuzzAsm_ppu]]
* [[FizzBuzzAsm_spu]]
* [[FizzBuzzAsm_psp]]
* [[FizzBuzzAsm_avr]]
* [[FizzBuzzAsm_m68hc11]]
* [[FizzBuzzAsm_h8300-hms]]
* [[FizzBuzzAsm_blackfin]]
* [[FizzBuzzAsm_sparc32]]
* [[FizzBuzzAsm_sparc64]]
* [[FizzBuzzAsm_fr-v]]
* [[FizzBuzzAsm_SH-3]]
* [[FizzBuzzAsm_SH-4]]
* [[FizzBuzzAsm_ia64]]
* [[FizzBuzzAsm_parisc64]]

ここに無いアーキテクチャを持ってる方がいれば足していただけるととても嬉しいです。

! Source code

#include <stdio.h>
int main() {
     int i;
     for (i = 1; i <= 100; i++) {
         if (i % 15 == 0) {
             puts("FizzBuzz");
         }
         else if (i % 5 == 0) {
             puts("Buzz");
         }
         else if (i % 3 == 0) {
             puts("Fizz");
         }
         else {
             printf("%d\n", i);
         }
     }
}

! Script to generate a Wiki entry

#!/bin/sh

echo '! Version'
echo
echo " % $@ -v"
"$@" -v 2>&1 | sed 's/^/ /'
echo

echo '! Optimized'
echo
"$@" -g -O -c fizzbuzz.c && objdump -dr fizzbuzz.o | sed 's/^/ /'
echo

echo '! Normal'
echo
"$@" -g -c fizzbuzz.c && objdump -dr fizzbuzz.o | sed 's/^/ /'
echo

使いかたは

% ./gen.sh gcc > x86.txt

とか

% ./gen.sh arm-gcc > arm.txt

などと。