Windowsってアセンブリで作られてる?

1デフォルトの名無しさん
Windowsってやはりアセンブリ言語で作られてるのか?
2デフォルトの名無しさん:2009/07/24(金) 20:16:35
残念VBです
3デフォルトの名無しさん:2009/07/24(金) 20:35:18
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
41:2009/07/24(金) 21:00:55
カーネル部分もVBなのだろうか
5デフォルトの名無しさん:2009/07/24(金) 21:03:31
HSPだよ
6デフォルトの名無しさん:2009/07/25(土) 00:49:06
>>2
馬鹿だなぁ、確かにXPまではVBだったけど、VistaからはVB.NETだよ
7デフォルトの名無しさん:2009/07/25(土) 00:49:50
そーなのかー
8デフォルトの名無しさん:2009/07/25(土) 02:00:48
夏休みになったら若干増えたな、池沼スレが
9デフォルトの名無しさん:2009/07/25(土) 12:44:10
昔ファミコンのゲームはC言語で出来てると思ってた
10デフォルトの名無しさん:2009/07/30(木) 23:20:53
>>1
どんなソフトウェアも元をたどればハンドアセンブル。
11デフォルトの名無しさん:2009/07/31(金) 14:02:41
>>10
いいえ。
12デフォルトの名無しさん:2009/07/31(金) 15:18:32
CかC++がほとんどだろ
アセンブリの部分なんて0.000000000000000000000000000000000000001%
くらいじゃね?
13デフォルトの名無しさん:2009/08/05(水) 15:43:58
C++ です このスレ終了
14デフォルトの名無しさん:2009/08/09(日) 00:50:13
アセンブリと、機械語とどう違うんですか?
15デフォルトの名無しさん:2009/08/09(日) 00:58:14
>>14
アセンブリ言語は擬似命令が使えます。
16デフォルトの名無しさん:2009/08/10(月) 08:12:29
no
17デフォルトの名無しさん:2009/08/10(月) 11:01:40
アセンブリはラベルが使えます。
それだけでも素敵!
18デフォルトの名無しさん:2009/08/10(月) 11:26:18
yes
19デフォルトの名無しさん:2009/08/10(月) 11:51:02
ラベル使えないのもあったけどな
20デフォルトの名無しさん:2009/08/10(月) 13:04:29
>>19
それは酷い。H68/TR や LKit-16 並みですな。
21デフォルトの名無しさん:2009/12/13(日) 18:16:18
pascal
22デフォルトの名無しさん:2010/12/04(土) 19:52:39
#include <stdio.h>

int getPSPsegment()
{
  int psp = 0;
  asm volatile(
    "movb $0x62, %ah;"
    "int $0x21;"
    "movl %ebx, %eax;"
    "movl %eax, -4(%ebp);"
  );
  return psp;
}

int main(int ac, char **av)
{
  fprintf(stdout, "%08x", getPSPsegment());
  return 0;
}

上のプログラムを cygwin の gcc でコンパイルしたのですが
Windows Vista の cmd.exe で実行するとアクセス違反で死にます
    "int $0x21;"
の行だけ消すとエラーは出なくなります
int 21H を呼びたいのですがどうすれば良いでしょうか?
23デフォルトの名無しさん:2010/12/04(土) 19:55:19
age
24デフォルトの名無しさん:2010/12/04(土) 20:33:35
>>22
Vistaをアンインストールしてwindows98か95をインストールしなさい。
25デフォルトの名無しさん:2010/12/04(土) 22:06:44
● command.com
http://ja.wikipedia.org/wiki/COMMAND.COM
Windows 9x系上ではMS-DOSプロンプトとしてWindowsにおけるCUIシェルの役目も担い、
例えば32ビットWindowsアプリケーションの実行も可能であった。
しかしWindows XPの登場によって9x系のMS-DOS上で動くOSが無くなったため、
その役割はWindows 2000などのWindows NT系専用の拡張版であるコマンドプロンプト (Cmd.exe)に譲った。
しかし、互換性のため今でもWindows NT系にはCOMMAND.COMが付属しており、実行することができる。

● command.comとは何ですか。
http://questionbox.jp.msn.com/qa6350763.html
16bitのMS-DOSのエミュレータ…っぽいです。
XP以降では16bitアプリに関してはいろいろ制限が入ることになりますが…
その回避の為に用意されているのでしょう。
WindowsVistaやWindows7にあるかどうかは判りませんが。

int 21割り込み(システムコール)は、Windowsが32ビットになった時点で使用できなくなっていた…かと思います。
過渡期にMS-DOSでそういうプログラム組んだことないので細かい経緯は不明ですが。

> ちなみにwindows7の64bitでは動きませんでした。64ビットではコードが違うのでしょうか。
Win7のエディションが何を使われているのかわからないのでなんともいえませんし
(HomeとかStarterにはXPモードが無いです)64ビット版を持っていないので無責任な発言かもしれませんが、
世間一般ではXPモードで過去のアプリが動けばめっけもん程度の代物とのことです。
動作確認は VirtualPC2007(フリー)とかに古いOS入れて(フリーならOpenDOSとか、
ライセンスがあればMS-DOS、PC-DOS、DR- DOS、Win3~XPとか)検証することをお勧めします。
26デフォルトの名無しさん:2010/12/05(日) 02:36:51
>>22
MASM/NASM使え
27デフォルトの名無しさん:2010/12/05(日) 12:52:10
gccが出力するのは、たとえCUIでも立派な32ビットのWindowsアプリケーション。
だから、DOSのint 21hは使えない。

int 21hを呼ぶこと自体が目的なら、DOSプログラムを出力するコンパイラを使え。
何かやりたいことが具体的にあって、それをWindowsアプリケーションでやりたいというのなら、
そっちについて適切なスレで聞け。
28デフォルトの名無しさん:2010/12/05(日) 12:58:49
gccには16bitアプリ出力のオプション無いんだっけ
29デフォルトの名無しさん:2010/12/05(日) 19:57:26
仮にコンパイル・リンクできても実行は出来ないけどね。
Vistaに怒られる。
30デフォルトの名無しさん:2010/12/05(日) 22:53:27
嘘言うなよ
31デフォルトの名無しさん:2010/12/05(日) 23:55:45
>>30
DDKとか使う前提ですか?
32デフォルトの名無しさん:2010/12/07(火) 19:55:10
昔はdjgppに世話になったけど、今もあるのかね
33 忍法帖【Lv=19,xxxPT】 :2011/10/14(金) 22:10:28.85
!ninja
34デフォルトの名無しさん:2011/10/15(土) 18:32:59.01
今はもう秋
誰も居ない海
35デフォルトの名無しさん:2011/11/20(日) 11:19:04.58
36デフォルトの名無しさん:2011/11/21(月) 17:20:47.96
Windows信者ってなんで川俣晶や江添亮みたいな人ばかりなんだろう...
37デフォルトの名無しさん
誰かわからんのでぐぐったら何処が信者なのか分からなかった件