<先月へ2007年5月来月へ>
一番下へ
2007/5/31 21:06
LD



DVD



DVD2



HDリマスターでNTSCディスクかよ。
そんなに綺麗になってるわけじゃないし・・・。


どうせHDメディアもでるんだろうし・・・・・・。

2007/5/22 20:40
1から100までの数をプリントするプログラムを書け。
ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。


Fizz-Buzz問題という物らしい。


出典:Fine Software Writings
どうしてプログラマに・・・プログラムが書けないのか?
http://www.aoky.net/articles/jeff_atwood/why_cant_programmers_program.htm


実際の所、(エロゲメーカーみたいにメーカーの生死が常にかかってるところは別として)ソフト開発を行っている日本の企業ってのは、
学歴重視で採用を決めてるだろう。特に大手は。
しかも、良くも悪くも、新人研修でそれなりに書けるレベルまで教えてくれるってところも多い。
入社さえしてしまえばあとはなんとかなる、ってのは本当の事かと思う。



まぁ、それはそれとして、トップの例題をコーディングしてみようではないか。win32用ネイティブで。

.data
strbuf db " 0"
crlf db 0dh,0ah
fizz db "Fizz"
buzz db "Buzz"
stdhand dd 0
dwBytesWrite dd 0
.code

start:
invoke GetStdHandle,STD_OUTPUT_HANDLE
mov stdhand, eax

mov eax,1
loop1: push eax

mov bx,ax
mov cx,3
div cl
or ah,ah
jnz non_fizz

invoke WriteFile,[stdhand],addr fizz,4,ADDR dwBytesWrite,NULL

mov ch,1

non_fizz:
mov cl,5
mov ax,bx
div cl
or ah,ah
jnz non_buzz
invoke WriteFile,[stdhand],addr buzz,4,ADDR dwBytesWrite,NULL
jmp next_loop

non_buzz:
or ch,ch
jnz next_loop

mov ax,bx
mov ebx,offset strbuf
mov esi,ebx
call putdec
invoke WriteFile,[stdhand],ebx,3,ADDR dwBytesWrite,NULL

next_loop:
invoke WriteFile,[stdhand],addr crlf,2,ADDR dwBytesWrite,NULL
pop eax
inc eax
cmp eax,101
jnz loop1
invoke CloseHandle,[stdhand]
invoke ExitProcess,NULL

putdec:
xor cl,cl
mov ch,100
div ch
call write1
mov al,ah
xor ah,ah
mov ch,10
div ch
call write1
inc cl
mov al,ah
jmp nonzero
write1: or al,al
jnz nonzero
or cl,cl
jz zero
nonzero:
add al,'0'
mov [esi],al
inc cl
inc_esi:
inc esi
ret
zero: mov byte ptr [esi],' '
jmp inc_esi
end start

言うまでもなくアセンブラソースだ。
実は、win32のアセンブラっていっても、そんなに難しいものではない。
GetStdHandle APIで、標準出力のファイルハンドルを取得、
WriteFile APIでバイト数(文字数)を指定して、標準出力のファイルハンドルへ書き込み(出力)、
CloseHande APIでファイルハンドルを閉じる(閉じなくてもいいかも?)、
ExitProcess APIで終了。
あとは、x86のアセンブラをちらっといじったことある人なら、難しい事はしていないんじゃないかと。



ちなみに、作成の所要時間は15分ほど。結構時間かかってるな・・・。






とりあえず、裕之は、プログラムを頑張って覚えてみようという人は応援します。
応援してるからといって、何をするわけでもありませんが。


でも、もし、windowsでのアセンブラに興味があって、
このソースをコンパイルして動かしてみたい、という様な人がいたら、
解らなければメールや掲示板などで聞いてもらえればお手伝いできるかもしれませんよ。
あんまり、windowsのアセンブラを説明してるページとかも無いようですので。



ところで、<pre>タグの中に<br>タグを使うとブラウザによってはまともに見れなかったような・・・・?
変だったらIEでみてくださいな。

2007/5/16 22:52
D-VHSテープが売ってない;;

なんか、240分はのきなみ生産完了してる気配で・・・・。


デジタルハイビジョンどうやって残せっていうんだよ。
HDのディスクメディアなんてまだ高すぎだし。


360とか420とかの薄テープのはまだ売ってるけど、長期保存したときの
劣化が気になるしなぁ。



ピクセラはwin故に信用できないし・・・・。


当分はピクセラとD-VHSで同時に撮って、
ピクセラで失敗した分だけD-VHSで保存かなあ。


どちらにせよ、残メディアが有限になってしまったから、
早いところピクセラとD-VHSから吸い上げる手段を確立しないと・・・


あと10本くらいしかテープの在庫持ってないぞ。

2007/5/7 21:35
またどこからともなく面白いおもちゃを入手。





xilinxのspartan-3Eの評価ボード。
搭載デバイスはXC3S500E。


このくらいあれば、turboRだって丸々入る・・・・かもしれない?

とりあえずそのうち何か作ってみよう。


ホームに戻る