ab.com コミュニティ https://www.activebasic.com/forum/ |
|
全命令ハンドアセンブラは真実だった(for 68K User) https://www.activebasic.com/forum/viewtopic.php?t=1901 |
ページ 1 / 1 |
作成者: | Oryaaaaa [ 2007年4月11日(水) 21:26 ] |
記事の件名: | 全命令ハンドアセンブラは真実だった(for 68K User) |
どうも~ みなさんお元気ですか? 頭はよくまわっても春の陽気で気持ちが ボケる、そんな桜の舞う季節。今日は大学生でBASIC開発環境を 作っていたフランスのFred氏、その頃に作られたAmigaOSで動作 するPureBasic AmigaOS が、最近オープンソースとなり 一般に公開されています。ライセンス公開条件はLGPLとなっていて 色々な用途で使えるような自由なものです。 68K、これを知ってる人がPureBasicのコミュにはいないので、こちらに 振ってみました。68Kでハック経験のある人には面白いかもしれません。 Download the full version of PureBasic 4.00 (OpenSource) http://www.purebasic.com/download.php3 Amigaの書庫LZXを解凍するツール http://xavprods.free.fr/lzx/ AmigaのCPUはモトローラ68000です http://ja.wikipedia.org/wiki/MC68000 噂レベルでハンドアセンブルで書かれていると聞いて いたんですが、実際、どこからどこまで信じていいのか、分からなかった のです。このソースを眺めてみるとすべての命令がハンドアセンブルw ライセンスLGPL、2Dライブラリ、箱と点の部分抜粋(for 68K) コード: name "BoxFill", "(x,y,Width,Height)" flags NoResult amigalibs _GraphicsBase, a6 params d0_w, d1_w, d2_w, d3_w debugger 1, _InitCheck .BoxFill_TEST: MOVEM.l d2-d3,-(a7) ADD.w d0, d2 ADD.w d1, d3 CMP.w d0, d2 ; are in the clock order like BHI _NBF_Ok_X ; requested by RectFill() EXG d0, d2 ; _NBF_Ok_X: ; CMP.w d1, d3 ; BHI _NBF_Ok_Y ; EXG d1, d3 ; _NBF_Ok_Y: ; MOVEA.l _RastPort(a5), a1 ; Get *RastPort JSR _RectFill(a6) ; RectFill(rp, x, y, x2, y2) - a1/d0/d1/d2/d3 MOVEM.l (a7)+,d2-d3 RTS endfunc 1 ;--------------------------------------------------------------------------------------- name "Plot", "(x,y) flags NoResult | InLine amigalibs _GraphicsBase, a6 params d0_w, d1_w debugger 2, _InitCheck MOVEA.l _RastPort(a5), a1 ; Get *RastPort I_JSR _WritePixel(a6) ; WritePixel(rp, x, y) - a1/d0/d1 endfunc 2 |
ページ 1 / 1 | 全ての表示時間は UTC+09:00 です |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |