by konisi » 2006年6月05日(月) 21:41
それは知ってます。いや、他の人は知らないかもしれないですが・・・?
command.comでしたっけ?
因みに、いまActiveBasicに中途に対応している16ビットコンパイラを作ってます。ローダ自体が貧弱で、しかもネイティブコンパイラではなくアセンブラを別途使いますが^^;
最適化って難しい。
追記。 In 6/13
とりあえず主要部分が少し出来てきたので変換してみようかと思って動かしてみた。
元コード↓
A=A+1
変換後のコード↓
mov di,OFFSET A
push di
mov ax,A
push ax
mov ax,1
push ax
pop ax
pop bx
add ax,bx
push ax
pop ax
pop di
mov [di],al
(計24クロック)
分かる人にはわかるとは思いますが、どう考えても効率悪すぎです。
ちなみに、最もスマートに書くと
inc A
(計3クロック)
となります。
それは知ってます。いや、他の人は知らないかもしれないですが・・・?
command.comでしたっけ?
因みに、いまActiveBasicに中途に対応している16ビットコンパイラを作ってます。ローダ自体が貧弱で、しかもネイティブコンパイラではなくアセンブラを別途使いますが^^;
最適化って難しい。
追記。 In 6/13
とりあえず主要部分が少し出来てきたので変換してみようかと思って動かしてみた。
元コード↓
A=A+1
変換後のコード↓
mov di,OFFSET A
push di
mov ax,A
push ax
mov ax,1
push ax
pop ax
pop bx
add ax,bx
push ax
pop ax
pop di
mov [di],al
(計24クロック)
分かる人にはわかるとは思いますが、どう考えても効率悪すぎです。
ちなみに、最もスマートに書くと
inc A
(計3クロック)
となります。