ASKA
の編集
https://oswiki.osask.jp:443/?ASKA
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(AT)BIOS
(AT)iomap
(AT)keyboard
(AT)memorymap
(DMAC)8237A
(FDC)765A
(PCI)class
(PCI)vendor
(PCI)vendor/1000
(PCMCIA)CIS
(PIC)8259A
(PIT)8254
(TOWNS)iomap
(TOWNS)memorymap
(serial)PC16550
.mjt
APM
ASKA
ATA
BackerOS
BayOS
BracketName
CardAdapter
CardBus
CompactFlash
DOMOO
DiskExplorer
ECC
FirstStep
FormattingRules
FrontPage
GO
GO/nask
GRUB
Help
IMGTOL
IPL
InterWiki
InterWikiName
InterWikiSandBox
K
KHBIOS
KHDOS
KONOX
KOZOS
Kernel
Kohのページ
M59
MenuBar
MiSt
Mona
Mono
Muleon
NOS
OSASK
PCI
PCIC
PCMCIA
PCカードATA
PHP
ProjectArcadia
PukiWiki
PukiWiki/1.4
PukiWiki/1.4/Manual
PukiWiki/1.4/Manual/Plugin
PukiWiki/1.4/Manual/Plugin/A-D
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/H-K
PukiWiki/1.4/Manual/Plugin/L-N
PukiWiki/1.4/Manual/Plugin/O-R
PukiWiki/1.4/Manual/Plugin/S-U
PukiWiki/1.4/Manual/Plugin/V-Z
RTL8139
RecentDeleted
SF16
SF32
SandBox
Sero
SitePolicy
TI
TOWNS
TOWNSのメモリカードスロット
VESA
VGA
VGA/text
Virtual8086_mode
WikiEngines
WikiName
WikiWikiWeb
Wisteria
X DOS
YukiWiki
Zakky
administration
algorithms
backup/Lights計画
bo
bochs
deskmanta
dsk
e-bios
ecural
formats
hardwares
henoheno
ifno(AT)keyboard
impressions
introduction
licenses
links
m0v3
maintenance
members
memcard
memcard/speed
microkernel
microkernel/log0
nkenkou
others
paging
pcctol
pcecho
pekon
populars
projects
qemu
segmentation
seiya
softwares
tyama501
名無しさん
*ASKAのページ [#n2497c4d] -あすかと読みます。ASK Assemblerの略というのが語源です。まあぶっちゃけた話、[[OSASK]]を作るために考案された言語ってところでしょうか。 -今はIA-32、IA-16くらいにしか使えません。 -http://www.imasy.org/~kawai/osask/developers.html のtolsetの中にASKAは入っています。 -言語仕様設計:[[K]]&今原修一郎氏 -処理系実装:今原修一郎氏&Risa Papa氏 -将来的には[[GO]]の一部になる予定です。 *NASMとの文法比較 [#j28c403e] -NASM (NASKも同じ:NASKについては[[GO]]を参照) XOR EAX,EAX XOR ECX.ECX loopsum: ADD EAX,ECX INC ECX CMP ECX,10 JLE loopsum -ASKA int sum == EAX, i == ECX; sum = 0; i = 0; do { sum += i; i++; } while (i <= 10); -一見するとASKAはC言語のように見えますが、結局はただのアセンブラで、ASKAは上記NASMコードと全く同じコードを生成することを保障します。 -ASKAはアセンブラなので、たとえばsum += i++;みたいなことはできません。原則として一文=一命例です。 -ASKAはニーモニックがC言語風なので、他のCPU、たとえばZ80版になっても似たような記述で書けます。しかしもちろん、レジスタ数もレジスタ名も違いますし、それぞれの挙動だって微妙に違いますので、移植可能なわけではありません。そもそも移植可能になることを目指した言語ではなく、単に文法をC言語風にしたアセンブラなのです。それ以上を期待してはいけません。・・・逆にこの割り切りがあったからこそ、ASKAは実用的なレベルに到達したんだとも思っています。 *現状のASKAの問題点 [#z7a5f960] -処理系の完成度がいまいちで、正規文法では表現可能だけど、うまくコンパイルできない表現がまだたくさんあります(LEA構文とか、IMUL構文とか)。このせいでほとんどの人にはお勧めしかねる状況です。ただ、読むのには結構向いている言語だとは思います。 *こめんと欄 [#i84738fd] #comment
タイムスタンプを変更しない
*ASKAのページ [#n2497c4d] -あすかと読みます。ASK Assemblerの略というのが語源です。まあぶっちゃけた話、[[OSASK]]を作るために考案された言語ってところでしょうか。 -今はIA-32、IA-16くらいにしか使えません。 -http://www.imasy.org/~kawai/osask/developers.html のtolsetの中にASKAは入っています。 -言語仕様設計:[[K]]&今原修一郎氏 -処理系実装:今原修一郎氏&Risa Papa氏 -将来的には[[GO]]の一部になる予定です。 *NASMとの文法比較 [#j28c403e] -NASM (NASKも同じ:NASKについては[[GO]]を参照) XOR EAX,EAX XOR ECX.ECX loopsum: ADD EAX,ECX INC ECX CMP ECX,10 JLE loopsum -ASKA int sum == EAX, i == ECX; sum = 0; i = 0; do { sum += i; i++; } while (i <= 10); -一見するとASKAはC言語のように見えますが、結局はただのアセンブラで、ASKAは上記NASMコードと全く同じコードを生成することを保障します。 -ASKAはアセンブラなので、たとえばsum += i++;みたいなことはできません。原則として一文=一命例です。 -ASKAはニーモニックがC言語風なので、他のCPU、たとえばZ80版になっても似たような記述で書けます。しかしもちろん、レジスタ数もレジスタ名も違いますし、それぞれの挙動だって微妙に違いますので、移植可能なわけではありません。そもそも移植可能になることを目指した言語ではなく、単に文法をC言語風にしたアセンブラなのです。それ以上を期待してはいけません。・・・逆にこの割り切りがあったからこそ、ASKAは実用的なレベルに到達したんだとも思っています。 *現状のASKAの問題点 [#z7a5f960] -処理系の完成度がいまいちで、正規文法では表現可能だけど、うまくコンパイルできない表現がまだたくさんあります(LEA構文とか、IMUL構文とか)。このせいでほとんどの人にはお勧めしかねる状況です。ただ、読むのには結構向いている言語だとは思います。 *こめんと欄 [#i84738fd] #comment
テキスト整形のルールを表示する