ええっといろんなところで紹介させていただいているのですが

Size: px
Start display at page:

Download "ええっといろんなところで紹介させていただいているのですが"

Transcription

1 アセンブラ短歌 坂井弘亮 (KOZOS プロジェクト ) Twitter ID:kozossakai

2 ええっといろんなところで紹介させていただいているのですが

3 こんな本を書いています

4 フィーリングで読むアセンブラ入門

5 どんな内容?

6 GCC が対応している CPU アーキテクチャのアセンブラを片っ端から出力させて 片っ端から読んでみる

7 ( 注 ) フィーリングで

8 対象アーキテクチャ

9 40 種類

10 Alpha ARC ARM ARM(Thumb) AVR AVR(8bit) CRIS FR30 FR-V H8/300 H8/300H HP/PA i386 i960 IA-64 M32R 68HC11 68HC11(16bit) M68000 MCORE MIPS MIPS16 MIPS64 MIST32 MMIX MN10300 PDP-11 PowerPC PowerPC64 S/390 SH SH64 SPARC StrongARM V850 VAX x86-64 XScale Xstormy Xtensa

11 Alpha ARC ARM ARM(Thumb) AVR AVR(8bit) CRIS FR30 FR-V H8/300 H8/300H HP/PA i386 i960 IA-64 M32R 68HC11 68HC11(16bit) M68000 MCORE MIPS MIPS16 MIPS64 MIST32 MMIX MN10300 PDP-11 PowerPC PowerPC64 S/390 SH SH64 SPARC StrongARM V850 VAX x86-64 XScale Xstormy Xtensa

12 不安な点

13 これだけだと物足りないですよね

14 ということで追加で

15 いくつかのアーキテクチャではシミュレータ対応をして GDB のシミュレータを使って Hello World を動かしてみる

16 対象アーキテクチャ

17 18 種類

18 Alpha ARC ARM ARM(Thumb) AVR AVR(8bit) CRIS FR30 FR-V H8/300 H8/300H HP/PA i386 i960 IA-64 M32R 68HC11 68HC11(16bit) M68000 MCORE MIPS MIPS16 MIPS64 MIST32 MMIX MN10300 PDP-11 PowerPC PowerPC64 S/390 SH SH64 SPARC StrongARM V850 VAX x86-64 XScale Xstormy Xtensa

19 本日は ダイジェストとして

20 いくつかピックアップして見てみましょう

21 40 種類の return 命令 Alpha ARC ARM Thumb AVR AVR(8) CRIS FR30 FR-V H8/300 H8/300H HP/PA i386 i960 IA-64 M32R 68HC11 68HC11(16) M68000 MCORE fa 6b ret f 38 j.d [blink] e1a0f00e mov pc, lr 4770 bx lr ret ret 7fb6 ret ret c0 3a bralr rts rts e8 40 c0 02 bv,n r0(rp) c3 ret a ret br.ret.sptk.many b0;; 1f ce f0 00 jmp lr nop 39 rts 39 rts 4e75 rts 00cf jmp r15 MIPS MIPS16 MIPS64 MIST32 MMIX MN10300 PDP-11 PowerPC PowerPC64 S/390 SH SH64 SPARC StrongARM V850 VAX x86-64 XScale Xstormy Xtensa 03e00008 jr ra e820 jr ra 03e00008 jr ra e0 b rret,#al f pop 0,0 f0 fc rets 0087 rts pc 4e blr 4e blr 07 fe br %r b rts 4401fff0 blink tr0,r63 81 c3 e0 08 retl e1a0f00e mov pc, lr 7f 00 jmp [lp 04 ret f3 c3 repz retq e12fff1e bx lr ret 1df0 retw.n

22 18 種類の Hello World Hello World! abadface This architecture is i386-elf Hello World! abadface This architecture is arm-elf Hello World! abadface This architecture is arm16-elf Hello World! abadface This architecture is avr-elf Hello World! abadface This architecture is cris-elf Hello World! abadface This architecture is frv-elf Hello World! abadface This architecture is h8300-elf Hello World! abadface This architecture is m32r-elf Hello World! abadface This architecture is m6811-elf Hello World! abadface This architecture is mcore-elf Hello World! abadface This architecture is mips-elf Hello World! abadface This architecture is mips16-elf Hello World! abadface This architecture is mn10300-elf Hello World! abadface This architecture is powerpc-elf Hello World! abadface This architecture is sh-elf Hello World! abadface This architecture is sh64-elf Hello World! abadface This architecture is sparc-elf Hello World! abadface This architecture is v850-elf

23 どうですか

24 いきなりおなかいっぱいかもしれませんが

25 アセンブラの流行の兆しが見えてきたのではないでしょうか

26 近年 若者を中心に流行しているアセンブラですが

27 今のうちに先取りしておこうということで

28 今回は若者向けにこんなものをやってみました

29 アセンブラ短歌

30 アセンブラ短歌とは の機械語コードでプログラムを書いてみるという近未来の文化的趣味

31 こんな感じです

32 c f f c 6c 89 e5 6a 0c 55 6a a cd 80

33 実行結果

34 Hello World!

35 それならば これもできるだろうということで

36 アセンブラ川柳

37 6a e5 90 6a a a cd 80

38 実行結果

39 H

40 1 文字がせいいっぱいでした 下の句が無いと けっこう難しい

41 ちなみに

42 XX 短歌 は他の言語では難しい

43 スクリプト言語はこれが邪魔

44 #!/bin/sh (9 文字 )

45 C 言語はこれが邪魔

46 #include <stdio.h> (18 文字 )

47 RISC 系プロセッサ 4 バイト固定長命令可変長命令でも 偶数バイト命令が多 原理的に不可能

48 アセンブラ短歌ができるのは実は 以下くらいしかありませんでした x86 68HC11 MN10300 VAX Xtensa

49 まてよ

50 ということは

51 こういうのも可能ということか

52 アセンブラかるた

53 作ってみた

54 68 a5 f3 a5 b0 68 a1 bc a5 ea a5 d5 a5 a3 89 e5 6a 0c 55 6a a cd 80 実行 フィーリング a5 a2 68 a5 bb a5 f a5 d6 a5 e9 89 e5 6a 0c 55 6a a cd 80 実行 ブラセンア

55 しかし問題あり

56 バイナリダンプを見ると

57 a5 f3 a5 b0 68 a1 bc h ング h ー a5 ea a5 d5 a5 リ..h フ a3 89 e5 6a 0c 55 6a 02.j.Uj a cd 80 P.j.X a5 a2 68 a5 bb h.. ア h セ a5 f a5 d6 a5 ン..h ブ e9 89 e5 6a 0c 55 6a 02.j.Uj a cd 80 P.j.X.

58 a5 f3 a5 b0 68 a1 bc h ング h ー a5 ea a5 d5 a5 リ..h フ a3 89 e5 6a 0c 55 6a 02.j.Uj a cd 80 P.j.X a5 a2 68 a5 bb h.. ア h セ a5 f a5 d6 a5 ン..h ブ e9 89 e5 6a 0c 55 6a 02.j.Uj a cd 80 P.j.X.

59 つまりバイトコードを読み上げた時点でキーワードがわかってしまう

60 これでは競技にできない (= 流行しない )

61 xorにかけて難読化してみる

62 b8 5b 0c 5a 29 f7 d8 50 b8 5b 5d 5a 44 ( 字余り ) f7 d e5 6a a a cd 80

63 実行結果

64 アセンブ

65 4 文字がせいいっぱいでした

66 バイナリダンプは

67 b8 5b 0c 5a 29 f7 d8 50 [.Z)P b8 5b 5d 5a 44 f7 d8 50 []ZDP e5 6a a j.Uj.P a cd 80...j.X.

68 これなら読めまい

69 ここからが今日の本題

70 ところで

71 現在 アセンブラ出力環境の GCCバージョン4 対応をやっています

72 以下のアーキが利用可能になりました Blackfin CR16 M32C MicroBlaze Moxie RL78 RX TIC6X

73 短歌的にはどうかというと

74 以下のアーキで原理的に可能なことが判明 x86(intel) M32C( 三菱 ) MN10300( 松下 ) RL78( ルネサス ) RX( ルネサス ) Xtensa ( テンシリカ )

75 やってみた

76 まず RX

77 こんな感じか mov.l #1, r1 mov.l #10, r3 nop mov.l #0x6c6c6548, [r0] nop mov.l #0x6c72, 8[r0] mov.l #0x6f57206f, 4[r0] 上の句 mov.l r0, r2 mov.l #5, r5 int #255 下の句

78 機械語コードにすると

79 こんな感じ a3 03 f c 6c 03 f9 0a c f f f ef ff

80 実行結果は

81 Hello Worl (10 文字 )

82 次 RL78

83 こんな感じ mov 0xfff10, #72 mov a, #108 mov 0xfff10, #101 mov 0xfff10, a mov 0xfff10, a mov 0xfff10, #111 mov a, #32 上の句 下の句 mov 0xfff10, a mov 0xfff10, #87 mov a, #111 mov 0xfff10, a mov 0xfff10, #114 nop nop

84 機械語コード ce c ce e 10 9e 10 ce 10 6f e 10 ce f 9e 10 ce

85 実行結果は

86 Hello Wor (9 文字 )

87 他のはこんな感じ

88 MN10300 Hello Wo (8 文字 ) M32C Hello! (6 文字 )

89 i386/freebsd Hello World! (12 文字 ) i386/linux Hello World!! (13 文字 )

90 比較してみる

91 比較の前に

92 定量化のためには単位が必要

93 単位を制定する BPT (Byte per Tanka)... アセンブラ短歌のやりやすさの指標

94 たとえば RX は Hello Worl で 10 文字なので 10BPT

95 集計すると

96 M32C MN10300 RL78 RX 6BPT 8BPT 9BPT 10BPT x86/freebsd 12BPT x86/linux 13BPT

97 x86は非常に短歌に向いていることが判明 ( あとLinuxも )

98 アセンブラで Quine

99 Quine とは 自分自身を出力するプログラム

100 C 言語だとこんなふうに書けるらしい

101 int main() { char *s = "int main() { char *s = %c%s%c; printf(s, 34, s, 34); }"; printf(s, 34, s, 34); }

102 Perlだとこんな感じだとか

103 $prog=q( $prog="\$prog=q(". $prog.");"; print $prog; print "\neval \ $prog;\n"; ); eval $prog;

104 機械語コードだとちょう簡単メモリの値をダンプするだけ

105 やってみた

106 e e8 05 6a a a cd 80

107 実行結果!

108 e e8 05 6a a a cd 80

109 Quineを最もやりやすい言語が何かというのは諸説あるようですが

110 実は 最もやりやすいのは機械語だった

111 どうもありがとうございました

Slide

Slide アセンブラ短歌坂井弘亮 (KOZOSプロジェクト ) TwitterID:kozossakai まず最初に紹介 SoftwareDesign 誌 懐かしの連載 全国津々浦々! 勉強会 & イベント 探訪記 電子書籍になります! 電子書籍になります! した! 達人出版会 TechLION も 収録されてます! (vol.1 4) 高橋さんありがとうございます ( 深謝 ) あともうひとつ バイナリカレンダー持ってきてます

More information

取扱説明書 -詳細版- 液晶プロジェクター CP-AW3019WNJ

取扱説明書 -詳細版- 液晶プロジェクター CP-AW3019WNJ B A C D E F K I M L J H G N O Q P Y CB/PB CR/PR COMPONENT VIDEO OUT RS-232C LAN RS-232C LAN LAN BE EF 03 06 00 2A D3 01 00 00 60 00 00 BE EF 03 06 00 BA D2 01 00 00 60 01 00 BE EF 03 06 00 19 D3 02 00

More information

HITACHI 液晶プロジェクター CP-AX3505J/CP-AW3005J 取扱説明書 -詳細版- 【技術情報編】

HITACHI 液晶プロジェクター CP-AX3505J/CP-AW3005J 取扱説明書 -詳細版- 【技術情報編】 B A C E D 1 3 5 7 9 11 13 15 17 19 2 4 6 8 10 12 14 16 18 H G I F J M N L K Y CB/PB CR/PR COMPONENT VIDEO OUT RS-232C LAN RS-232C LAN LAN BE EF 03 06 00 2A D3 01 00 00 60 00 00 BE EF 03 06 00 BA D2 01

More information

HITACHI 液晶プロジェクター CP-EX301NJ/CP-EW301NJ 取扱説明書 -詳細版- 【技術情報編】 日本語

HITACHI 液晶プロジェクター CP-EX301NJ/CP-EW301NJ 取扱説明書 -詳細版- 【技術情報編】 日本語 A B C D E F G H I 1 3 5 7 9 11 13 15 17 19 2 4 6 8 10 12 14 16 18 K L J Y CB/PB CR/PR COMPONENT VIDEO OUT RS-232C RS-232C RS-232C Cable (cross) LAN cable (CAT-5 or greater) LAN LAN LAN LAN RS-232C BE

More information

自己紹介 坂井弘亮 ( さかい ひろあき ) 個人でいろんな活動をしています 組込み OS 自作 (KOZOS プロジェクト ) イベントへの出展 セミナーなど ( オープンソースカンファレンス (OSC) など ) SECCON へのコミット雑誌記事や書籍執筆など

自己紹介 坂井弘亮 ( さかい ひろあき )   個人でいろんな活動をしています 組込み OS 自作 (KOZOS プロジェクト ) イベントへの出展 セミナーなど ( オープンソースカンファレンス (OSC) など ) SECCON へのコミット雑誌記事や書籍執筆など ワークショップ第 1 回多種アーキテクチャでの攻撃と防御 坂井弘亮 自己紹介 坂井弘亮 ( さかい ひろあき ) http://kozos.jp/ 個人でいろんな活動をしています 組込み OS 自作 (KOZOS プロジェクト ) イベントへの出展 セミナーなど ( オープンソースカンファレンス (OSC) など ) SECCON へのコミット雑誌記事や書籍執筆などアセンブラ短歌 六歌仙のひとり (

More information

Slide

Slide Arduinoでの 組込み OS 自作体験坂井弘亮 (KOZOSプロジェクト ) TwitterID:kozossakai まず最初に連絡 事務局側で用意している USBメモリがあります FreeBSD-avr-kozos.ova という OVAファイルが入っているので, これからの説明時間中に自分の PCにコピーしてください (1GB 程度あるので, コピーに時間がかかります ) ネットからダウンロード済みのひとは不要です

More information

あさひ indd

あさひ indd 2006. 0. 2 2006. 0. 4 30 8 70 2 65 65 40 65 62 300 2006. 0. 3 7 702 22 7 62802 7 385 50 7 385 50 8 385 50 0 2 390 526 4 2006. 0. 0 0 0 62 55 57 68 0 80 5000 24600 37200 0 70 267000 500000 600 2 70 70 267000

More information

1 1 1 46111 2 1061.0 106.3 1/10 24721 90 25 1/4 243 3 23 25 1.4 512 120 280 260 100 240 220 80 200 180 160 60 140 120 40 100 80 20 60 40 20 0 0 55 56 57 58 59 60 61 62 63 2 3 4 5 6 7 8 9 10 11 12 13 14

More information

補足情報

補足情報 1 危 険 警 告 注 意 2 3 4 5 6 7 8 1 2 3 4 5 9 6 7 8 9 10 10 1 2 11 1 12 1 2 13 3 4 14 1 2 15 3 4 5 16 1 2 3 17 1 2 3 4 18 19 20 21 22 23 1 2 3 4 5 24 6 7 8 9 10 25 26 27 28 6 1 2 7 8 9 3 4 5 29 1 2 警 告 3 4 5

More information

日立液晶プロジェクター CP-AW2519NJ 取扱説明書- 詳細版-

日立液晶プロジェクター CP-AW2519NJ 取扱説明書- 詳細版- PAGE UP DOWN D- ESC ENTER 1 1 2 2 3 COMPUTER IN1 USB TYPE A DC5V 0.5A USB TYPE B HDMI COMPUTER IN2 LAN CONTROL MONITOR OUT MIC AUDIO IN1 AUDIO IN3 AUDIO OUT R R L L S-VIDEO AUDIO IN2 VIDEO PAGE UP DOWN

More information

SuperH RISC engine C/C++ コンパイラ Ver.7 不具合内容 - 過去のお知らせ SuperH RISC engine C/C++ コンパイラ Ver.7 台における不具合内容を以下に示します のチェックツールをルネサスエレクトロニクス株式会社のホームページ

SuperH RISC engine C/C++ コンパイラ Ver.7 不具合内容 - 過去のお知らせ SuperH RISC engine C/C++ コンパイラ Ver.7 台における不具合内容を以下に示します のチェックツールをルネサスエレクトロニクス株式会社のホームページ SuperH RISC engine C/C++ コンパイラ Ver.7 不具合内容 - 過去のお知らせ SuperH RISC engine C/C++ コンパイラ Ver.7 台における不具合内容を以下に示します 1. 2. 4. のチェックツールをルネサスエレクトロニクス株式会社のホームページより入手できます http//tool-support.renesas.com/jpn/toolnews/shc/shcv7/dr_shcv7_4.html

More information

1009.\1.\4.ai

1009.\1.\4.ai - 1 - E O O O O O O - 2 - E O O O - 3 - O N N N N N N N N N N N N N N N N N N N N N N N E e N N N N N N N N N N N N N N N N N N N N N N N D O O O - 4 - O O O O O O O O N N N N N N N N N N N N N N N N N

More information

取扱説明書<詳細版>

取扱説明書<詳細版> B5FK-4681-01 1 2 3 4 5 6 7 8 危 険 警 告 注 意 9 10 11 警 告 注 意 12 警 告 13 注 意 14 注 意 警 告 警 告 15 注 意 注 意 16 17 18 19 20 21 22 23 1 24 2 25 26 27 28 1 2 3 4 29 5 30 6 7 8 31 9 10 32 11 33 12 13 34 14 35 15 16

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2015 年度 5 セメスター クラス D 計算機工学 5. 命令セットアーキテクチャ ( 教科書 6.1 節, 6.2 節 ) 大学院情報科学研究科鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 計算機の基本構成 メモリ プロセッサ データ領域 データデータデータ load store レジスタ PC プログラム領域

More information

‚å™J‚å−w“LŁñ›Ä

‚å™J‚å−w“LŁñ›Ä 2007 172 FFFFFFFFF FFFFFFFFF 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 c d e cc bd b fb ag ag ed ed ed bd b b ef bf f df bd f bff d D f F d f 19 bd 20 21 F C e e f b b b 22 d d e f e f bf bd 23 24 222222222222222222222222222222222222222222222222222222222222222222222222

More information

講習No.1

講習No.1 プログラムはどこに保存され, どこで実行されるのか? 復習 ハードディスク キーボード Central Processing Unit 例えば i7, ARM, Cortex-A17 ディスプレイ 例えば 4G バイト メモリ プログラムは, ワープロ文章などと同様, ハードディスクなどにファイルとして保存されている. プログラムは, メモリ上に呼び出されて ( ロード ) 実行される. プログラムの作成

More information

I ASCII ( ) NUL 16 DLE SP P p 1 SOH 17 DC1! 1 A Q a q STX 2 18 DC2 " 2 B R b

I ASCII ( ) NUL 16 DLE SP P p 1 SOH 17 DC1! 1 A Q a q STX 2 18 DC2  2 B R b I 4 003 4 30 1 ASCII ( ) 0 17 0 NUL 16 DLE SP 0 @ P 3 48 64 80 96 11 p 1 SOH 17 DC1! 1 A Q a 33 49 65 81 97 113 q STX 18 DC " B R b 34 50 66 8 98 114 r 3 ETX 19 DC3 # 3 C S c 35 51 67 83 99 115 s 4 EOT

More information

8 / 0 1 i++ i 1 i-- i C !!! C 2

8 / 0 1 i++ i 1 i-- i C !!! C 2 C 2006 5 2 printf() 1 [1] 5 8 C 5 ( ) 6 (auto) (static) 7 (=) 1 8 / 0 1 i++ i 1 i-- i 1 2 2.1 C 4 5 3 13!!! C 2 2.2 C ( ) 4 1 HTML はじめ mkdir work 作業用ディレクトリーの作成 emacs hoge.c& エディターによりソースプログラム作成 gcc -o fuga

More information

R R S S 6 S S D D S3 S3 R R S 6 S 6 S S D D w.o S3 S3 R5 3-0 R S 06 S 6 6 S S 6 D D 30 S3 w.o S3 R R8 7 3-

R R S S 6 S S D D S3 S3 R R S 6 S 6 S S D D w.o S3 S3 R5 3-0 R S 06 S 6 6 S S 6 D D 30 S3 w.o S3 R R8 7 3- 3 9 3 5 5 9 4 5 6 7 8 0 4 R R5 S S D S3 S S D S3 6 6 6 6 6 6 6 30 30 3 0 0 3 4 6 R R8 S S D S3 S S D S3 6 6 7 30 3 0 6 6 3 4 5 6 3 6 0 w.o 3R 30 3 3R3 S S D S3 S S D S3 6 6 6 4 6 6 4 4 0 0 3 6 6 6 R R9

More information

CP-X4021NJ,WX4021NJ_.indd

CP-X4021NJ,WX4021NJ_.indd ESC 1 2 ENTER PAGE UP DOWN ESC 1 2 ENTER PAGE UP DOWN PAGE UP 1 2 ENTER DOWN ESC ESC 1 2 ENTER PAGE UP DOWN 1 2 ESC ENTER PAGE UP DOWN 1 2 ESC ENTER PAGE UP DOWN ESC 1 2 ENTER PAGE UP DOWN

More information

Microsoft Word - Œ{Ł¶.doc

Microsoft Word - Œ{Ł¶.doc 17 59.0% 41.0% 60.8% 76.0%71.9% 65.3% 17 2.6% 3.5% 25.9% 57.3% 16.7% 28.1% 52.2% 11.1% 2.6% =270 18 2 (=199) 1 17 71.0% 76.0% 44.2% 71.9% 36.2% 18.1% 65.3% 16.7% 34.1% 16.3% 47.1% 14.9% 13.8% 5.0% 3.6%

More information

ex05_2012.pptx

ex05_2012.pptx 2012 年度計算機システム演習第 5 回 2012.05.25 高水準言語 (C 言語 ) アセンブリ言語 (MIPS) 機械語 (MIPS) コンパイラ アセンブラ 今日の内容 サブルーチンの実装 Outline } ジャンプ 分岐命令 } j, jr, jal } レジスタ衝突 回避 } caller-save } callee-save 分岐命令 ( 復習 ) } j label } Jump

More information

<4D F736F F D2095BD90AC E E838B8C6E8EBE8AB382CC93AE8CFC82C98AD682B782E9838A837C815B83675F2E646F6378>

<4D F736F F D2095BD90AC E E838B8C6E8EBE8AB382CC93AE8CFC82C98AD682B782E9838A837C815B83675F2E646F6378> 29 4 IT 1,234 1,447 1 2 3 F20-F29 F20,F21,F22 F23,F24,F25, F28F29 F30-F39 F30,F31,F32 F33,F34,F38 F39 F40-F48 F40,F41,F42 F43,F44,F45 F48 1,234 14,472,130 75,784,748 9,748,194 47,735,762 4,723,984 28,048,986

More information

C C UNIX C ( ) 4 1 HTML 1

C C UNIX C ( ) 4 1 HTML 1 C 2007 4 18 C UNIX 1 2 1 1.1 C ( ) 4 1 HTML 1 はじめ mkdir work 作業用ディレクトリーの作成 emacs hoge.c& エディターによりソースプログラム作成 gcc -o fuga hoge.c コンパイルにより機械語に変換 コンパイルエラー./fuga 実行 実行時エラー 完成 1: work hooge.c fuga 1 4 4 1 1.

More information

joho07-1.ppt

joho07-1.ppt 0xbffffc5c 0xbffffc60 xxxxxxxx xxxxxxxx 00001010 00000000 00000000 00000000 01100011 00000000 00000000 00000000 xxxxxxxx x y 2 func1 func2 double func1(double y) { y = y + 5.0; return y; } double func2(double*

More information

slide5.pptx

slide5.pptx ソフトウェア工学入門 第 5 回コマンド作成 1 head コマンド作成 1 早速ですが 次のプログラムを head.c という名前で作成してください #include #include static void do_head(file *f, long nlines); int main(int argc, char *argv[]) { if (argc!=

More information

ARM gcc Kunihiko IMAI 2009 1 11 ARM gcc 1 2 2 2 3 3 4 3 4.1................................. 3 4.2............................................ 4 4.3........................................

More information

Microsoft Word - C.....u.K...doc

Microsoft Word - C.....u.K...doc C uwêííôöðöõ Ð C ÔÖÐÖÕ ÐÊÉÌÊ C ÔÖÐÖÕÊ C ÔÖÐÖÕÊ Ç Ê Æ ~ if eíè ~ for ÒÑÒ ÌÆÊÉÉÊ ~ switch ÉeÍÈ ~ while ÒÑÒ ÊÍÍÔÖÐÖÕÊ ~ 1 C ÔÖÐÖÕ ÐÊÉÌÊ uê~ ÏÒÏÑ Ð ÓÏÖ CUI Ô ÑÊ ÏÒÏÑ ÔÖÐÖÕÎ d ÈÍÉÇÊ ÆÒ Ö ÒÐÑÒ ÊÔÎÏÖÎ d ÉÇÍÊ

More information

6.1号4c-03

6.1号4c-03 6.1 0 1 1 1 1 BF 1 C DB C 1* F E C 1 F 1 E C 1 E D 1 D 1 BF C G 1 DF 1 E 1 BF 1 BF 1 BF 1 BG 1 BG 1 BG 1 BF 1 BG 1 E 1 D F BF 1 BF 1 F 1 BF 1 F C 1 d 0 1 A 0 1 14 A G 0 1 A 1 G 0 1 1 1 E A 01 B 1 1 1 1

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2015 年度 5 セメスター クラス D 計算機工学 6. MIPS の命令と動作 演算 ロード ストア ( 教科書 6.3 節,6.4 節 ) 大学院情報科学研究科鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ レジスタ間の演算命令 (C 言語 ) c = a + b; ( 疑似的な MIPS アセンブリ言語 )

More information

1007.\1.ai

1007.\1.ai - 1 - B - 2 - e - 3 - F O f g e f - 4 - O O N N N N N N N N N N N N N N N N N N N N N N N F C - 5 - N N N N N N N N N N N N N N N N N N N N N N N F - 6 - D - 7 - - 8 - - 9 - - 10 - - 11 - - 12 - - 13 -

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2019 年度クラス C D 情報科学基礎 I 5. 命令セットアーキテクチャ ( 教科書 6.1 節, 6.2 節 ) 大学院情報科学研究科 鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 計算機の基本構成 メモリ プロセッサ データ領域 データデータデータ load store レジスタ PC プログラム領域 命令命令命令

More information

0 1

0 1 9 - -R -V -K - -V - -V 3 0 3 3 3 001 0 001 00 0 00 1 0 11 1 0 11 10 00 0 10 00 0 0 1 3 F X1CE G XCE CV Cm H X111CE C1V Cm C1.W J X1CE CV CV Cm E X1CE C1V Cm K X11CE C1V m V L X11BCE CV m 1.W C90V M XCE

More information

EP-808A Series

EP-808A Series & B K L & L & A B C A B C D E A B C D E A B C D E A B C D E L A B C ud D E F G & A B lr C & & & & & & & & & & & udlr & & & L K K L K L & & & L L K L K L & & & K x L L x & & K L L & K K L &

More information

第1回 プログラミング演習3 センサーアプリケーション

第1回 プログラミング演習3 センサーアプリケーション C プログラミング - ポインタなんて恐くない! - 藤田悟 fujita_s@hosei.ac.jp 目標 C 言語プログラムとメモリ ポインタの関係を深く理解する C 言語プログラムは メモリを素のまま利用できます これが原因のエラーが多く発生します メモリマップをよく頭にいれて ポインタの動きを理解できれば C 言語もこわくありません 1. ポインタ入門編 ディレクトリの作成と移動 mkdir

More information

MS-1J/MS-1WJ(形名:MS-1/MS-1W)取扱説明書 - 詳細- 技術情報編

MS-1J/MS-1WJ(形名:MS-1/MS-1W)取扱説明書 - 詳細- 技術情報編 720 x 400 37.9 85.0 VESA TEXT 640 x 480 31.5 59.9 VESA VGA (60Hz) 640 x 480 37.9 72.8 VESA VGA (72Hz) 640 x 480 37.5 75.0 VESA VGA (75Hz) 640 x 480 43.3 85.0 VESA VGA (85Hz) 800 x 600 35.2 56.3 VESA SVGA

More information

ex04_2012.ppt

ex04_2012.ppt 2012 年度計算機システム演習第 4 回 2012.05.07 第 2 回課題の補足 } TSUBAMEへのログイン } TSUBAMEは学内からのログインはパスワードで可能 } } } } しかし 演習室ではパスワードでログインできない設定 } 公開鍵認証でログイン 公開鍵, 秘密鍵の生成 } ターミナルを開く } $ ssh-keygen } Enter file in which to save

More information

さくらの個別指導 ( さくら教育研究所 ) A AB A B A B A AB AB AB B

さくらの個別指導 ( さくら教育研究所 ) A AB A B A B A AB AB AB B 1 1.1 1.1.1 1 1 1 1 a a a a C a a = = CD CD a a a a a a = a = = D 1.1 CD D= C = DC C D 1.1 (1) 1 3 4 5 8 7 () 6 (3) 1.1. 3 1.1. a = C = C C C a a + a + + C = a C 1. a a + (1) () (3) b a a a b CD D = D

More information

000 001

000 001 all-round catalogue vol.2 000 001 002 003 AA0102 AA0201 AA0701 AA0801 artistic brushes AA0602 AB2701 AB2702 AB2703 AB2704 AA0301 AH3001 AH3011 AH3101 AH3201 AH3111 AB3201 AB3202 AB2601 AB2602 AB0701 artistic

More information

Microsoft PowerPoint - exp2-02_intro.ppt [互換モード]

Microsoft PowerPoint - exp2-02_intro.ppt [互換モード] 情報工学実験 II 実験 2 アルゴリズム ( リスト構造とハッシュ ) 実験を始める前に... C 言語を復習しよう 0. プログラム書ける? 1. アドレスとポインタ 2. 構造体 3. 構造体とポインタ 0. プログラム書ける? 講義を聴いているだけで OK? 言語の要素技術を覚えれば OK? 目的のプログラム? 要素技術 データ型 配列 文字列 関数 オブジェクト クラス ポインタ 2 0.

More information

スライド 1

スライド 1 計算機の構造とプログラムの実行 1 計算機の基本構成 メモリ プロセッサ データ領域 データデータデータ load store レジスタ PC プログラム領域 命令命令命令 演算器 (ALU) 2 計算機の基本動作 プロセッサは, メモリのプログラム領域から命令をアドレス順に読み出して実行する 演算は ALU (Arithmetic Logic Unit) が行う 必要に応じて, メモリとプロセッサ内のレジスタとの間でデータを移動する

More information

Microsoft Word - no01.doc

Microsoft Word - no01.doc 応用プログラミング I II 2009.4.7 1. プログラミングとは 1.1 ハードウエアとソフトウエアパソコンをはじめとするコンピュータは ハードウエア といわれます このハードウエアだけで何ができるかといえば単なる計算だけです もちろんそれを表示することもできませんし キーボードから文字を打つこともできません 計算ができるといっても 数字を入力できないのですから数値を与えることすらできないのです

More information

05‚å™J“LŁñfi~P01-06_12/27

05‚å™J“LŁñfi~P01-06_12/27 2005 164 FFFFFFFFF FFFFFFFFF 2 3 4 5 6 7 8 g a 9 f a 10 g e g 11 f g g 12 a g g 1 13 d d f f d 14 a 15 16 17 18 r r 19 20 21 ce eb c b c bd c bd c e c gf cb ed ed fe ed g b cd c b 22 bc ff bf f c f cg

More information

情報処理概論(第二日目)

情報処理概論(第二日目) 実習資料 Linux 入門講習会 九州大学情報基盤研究開発センター 注意 : この内容は wisdom.cc.kyushu-u.ac.jp の任意の ID で利用できますが, ファイルの削除等を含んでいるので各コマンドの意味を理解するまでは講習会用 ID で利用することをお勧めします. 1 実習 1 ログイン ファイル操作 ディレクトリの作成 ファイルの移動, コピー, 削除 ログアウト 2 ログイン

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 講座を行う前に 自己紹介 僕と上回生について 1 年生同士で少しお話しよう! オリエンテーションの宿題 アルゴロジック http://home.jeita.or.jp/is/highschool/algo/index3.html どこまでできましたか? あまりできなかった人はこれから全部クリアしよう! 2016 年度 C 言語講座 第一回目 2016/6/11 fumi 今回の目標 プログラムを書いて実行するやり方を覚える

More information

05‚å™J‚å−w“LŁñ‘HP01-07_10/27

05‚å™J‚å−w“LŁñ‘HP01-07_10/27 2005 163 FFFFFFFFF FFFFFFFFF 2 3 4 5 6 7 8 9 10 g a 11 c e a 12 c g a f d 13 e f g g 1 2 f 14 bf e bd 15 bd bd bdf f b 16 17 18 bb 19 fe 20 21 ag 22 bb dd 23 EA e f g a 24 25 25 ea e a aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

More information

02: 変数と標準入出力

02: 変数と標準入出力 C プログラミング入門 基幹 7 ( 水 5) 1 12: コマンドライン引数 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/teachers/w48369 2/CPR1/ 2017-07-05 まとめ : ポインタを使った処理 2 内容呼び出し元の変数を書き換える文字列を渡す 配列を渡すファイルポインタ複数の値を返す大きな領域を確保する

More information

PowerPoint Presentation

PowerPoint Presentation プログラミング基礎 第 2 週 (4,5,6 回 ) 2011-10-07 出村公成 この資料の再配布を禁止します 予定 プログラミング入門 (45 分 ) 変数 入出力 分岐 演習 (90 分 ) タッチタイプ練習 統合開発環境 Codeblocksの使い方 教科書例題の打ち込みと実行 プログラミング入門 C 言語の簡単な例を体験 変数 入出力 分岐 プログラムの例リスト 2.1 改 #include

More information

ARM

ARM ARM 20 20413539 22 2 4 i ARM CPU CPU CPU CPU SPARC RISC 2 ARM SPEC CPU95 17% 2% ARM 1 1 2 2 2.1............................................ 2 2.2......................................... 2 2.3........................................

More information

LinuxDeviceDriver2003-PDF.PDF

LinuxDeviceDriver2003-PDF.PDF Linux Kernel Conference 2003 Linux info@devdrv.com 2003/10/9 Device Drivers Limited 1 Linux 2.6 Device Drivers Limited 2 SpinLock Atomic (SMP) HyperThreading(HT) tasklet task_queue /proc Device Drivers

More information

II ( ) prog8-1.c s1542h017%./prog8-1 1 => 35 Hiroshi 2 => 23 Koji 3 => 67 Satoshi 4 => 87 Junko 5 => 64 Ichiro 6 => 89 Mari 7 => 73 D

II ( ) prog8-1.c s1542h017%./prog8-1 1 => 35 Hiroshi 2 => 23 Koji 3 => 67 Satoshi 4 => 87 Junko 5 => 64 Ichiro 6 => 89 Mari 7 => 73 D II 8 2003 11 12 1 6 ( ) prog8-1.c s1542h017%./prog8-1 1 => 35 Hiroshi 2 => 23 Koji 3 => 67 Satoshi 4 => 87 Junko 5 => 64 Ichiro 6 => 89 Mari 7 => 73 Daisuke 8 =>. 73 Daisuke 35 Hiroshi 64 Ichiro 87 Junko

More information

2

2 2 6 7 9 4 6 7 2 3 4 5 6 7 8-0 - G G G G G G f f 9 e f - e f 0 5 e fe e c c cc B FD F 5 2 5 D F C e e e b 3 f f 5 ff ff f f f f b b bb b b b c c c ee ee e ee ee e f f 4 e e 7 5 5 e bb 6 7 f GE 8 f 9 5 F

More information

小学女子CL

小学女子CL 3km 2015/08/22 10:00 10:18 3km 3(1km*3) 1 8 8 8:12.9 0.0 2 13 13 8:38.0 +25.1 3 9 9 8:51.9 +39.0 4 5 5 8:54.7 +41.8 5 4 4 8:56.4 +43.5 6 1 1 9:34.8 +1:21.9 7 18 18 10:09.9 +1:57.0 8 10 10 10:36.4 +2:23.5

More information

1 1.1 ( ). z = a + bi, a, b R 0 a, b 0 a 2 + b 2 0 z = a + bi = ( ) a 2 + b 2 a a 2 + b + b 2 a 2 + b i 2 r = a 2 + b 2 θ cos θ = a a 2 + b 2, sin θ =

1 1.1 ( ). z = a + bi, a, b R 0 a, b 0 a 2 + b 2 0 z = a + bi = ( ) a 2 + b 2 a a 2 + b + b 2 a 2 + b i 2 r = a 2 + b 2 θ cos θ = a a 2 + b 2, sin θ = 1 1.1 ( ). z = + bi,, b R 0, b 0 2 + b 2 0 z = + bi = ( ) 2 + b 2 2 + b + b 2 2 + b i 2 r = 2 + b 2 θ cos θ = 2 + b 2, sin θ = b 2 + b 2 2π z = r(cos θ + i sin θ) 1.2 (, ). 1. < 2. > 3. ±,, 1.3 ( ). A

More information

FMV活用ガイド

FMV活用ガイド B5FJ-8721-01 トラブルの予防から解決まで B5FJ-8721-01 4 5 6 7 8 10 1 11 1 12 2 1. Floppy Disk Drive: 2. HDD0: 3. CD/DVD: 4. NETWORK: 5. USB MO: 3 4 5 13 6 14 16 17 18 19 20 1 2 3 21 4 5 6 7 22 8 9 10 11 12 23 24

More information

1.ppt

1.ppt /* * Program name: hello.c */ #include int main() { printf( hello, world\n ); return 0; /* * Program name: Hello.java */ import java.io.*; class Hello { public static void main(string[] arg)

More information

第5回お試しアカウント付き並列プログラミング講習会

第5回お試しアカウント付き並列プログラミング講習会 qstat -l ID (qstat -f) qscript ID BATCH REQUEST: 253443.batch1 Name: test.sh Owner: uid=32637, gid=30123 Priority: 63 State: 1(RUNNING) Created at: Tue Jun 30 05:36:24 2009 Started at: Tue Jun 30 05:36:27

More information

取扱説明書 [F-12C]

取扱説明書 [F-12C] F-12C 11.7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 a bc b c d d a 15 a b cd e a b c d e 16 17 18 de a b 19 c d 20 a b a b c a d e k l m e b c d f g h i j p q r c d e f g h i j n o s 21 k l m n o p q r s a X

More information

取扱説明書 [F-08D]

取扱説明書 [F-08D] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 a bc d a b c d 17 a b cd e a b c d e 18 19 20 21 22 a c b d 23 24 a b c a b c d e f g a b j k l m n o p q r s t u v h i c d e w 25 d e f g h i j k l m n o p q r s

More information

5 IT 1,280 1, , ICD -10 <1> <2> <3> F20-F29 F20,F21,F22 F23,F24,F25, F28F29 F30-F39 F30,F31,F32 F33,F34,F38 F39 F40-F48 F40,F41,F42 F43,F

5 IT 1,280 1, , ICD -10 <1> <2> <3> F20-F29 F20,F21,F22 F23,F24,F25, F28F29 F30-F39 F30,F31,F32 F33,F34,F38 F39 F40-F48 F40,F41,F42 F43,F 5 IT 1,280 1,568 1 3,862 2 3 ICD -10 F20-F29 F20,F21,F22 F23,F24,F25, F28F29 F30-F39 F30,F31,F32 F33,F34,F38 F39 F40-F48 F40,F41,F42 F43,F44,F45 F48 15,680,980 138,623,755 1,280 10,284,893

More information

( )

( ) 18 10 01 ( ) 1 2018 4 1.1 2018............................... 4 1.2 2018......................... 5 2 2017 7 2.1 2017............................... 7 2.2 2017......................... 8 3 2016 9 3.1 2016...............................

More information

ex03_2012.ppt

ex03_2012.ppt 2012 年度計算機システム演習第 3 回 2012.04.27 高水準言語 (C 言語 ) 機械語 (MIPS) コンパイラ アセンブリ言語 (MIPS) アセンブラ 計算結果 今日の内容 続 言語 関数ポインタ アセンブラ言語 九九の掛け算表 sample24.c #include int mul(int x, int y){ return x * y; void kuku_mul()

More information

Microsoft Word - no01.docx

Microsoft Word - no01.docx プログラミング基礎 1. プログラミング言語 1.1 ハードウエアとソフトウエア パソコンをはじめとするコンピュータは ハードウエア といわれます このハードウエアだけで何 ができるかといえば単なる計算だけです もちろんそれを表示することもできませんし キーボードから文字を打つこともできません 計算ができるといっても 数字を入力できないのですから数値を与えることすらできないのです このハードウエアを制御したり

More information

MC-440 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

More information

プログラムの基本構成

プログラムの基本構成 Java 入門 この 2 回 ( 今回と次回 ) が勝負だ! プログラムは自転車の練習と同じだ! 今日の予定先ず プログラムの構造を学び (p.2~6) jcpad でプログラム ( 計算機実習室 ) 戻ってきてプログラムの解読手書きプログラムを TA にみてもらい OK の出た人は計算機実習室でプログラム作成し実行実行結果を TA がチェックして帰り プログラムの基本構成 Step1: 入力 Step2:

More information

kiso2-03.key

kiso2-03.key 座席指定はありません Linux を起動して下さい 第3回 計算機基礎実習II 2018 のウェブページか ら 以下の課題に自力で取り組んで下さい 計算機基礎実習II 第2回の復習課題(rev02) 第3回の基本課題(base03) 第2回課題の回答例 ex02-2.c include int main { int l int v, s; /* 一辺の長さ */ /* 体積 v

More information

main.dvi

main.dvi 20 II 7. 1 409, 3255 e-mail: namba@faculty.chiba-u.jp 2 1 1 1 4 2 203 2 1 1 1 5 503 1 3 1 2 2 Web http://www.icsd2.tj.chiba-u.jp/~namba/lecture/ 1 2 1 5 501 1,, \,", 2000 7. : 1 1 CPU CPU 1 Intel Pentium

More information

ユーザーズマニュアル

ユーザーズマニュアル 6. 開発環境を使ってみよう! 本章では開発環境のインストールと 開発環境の基本操作について説明します 学習キットでは 仮想マシン (CentOS) にターミナルソフトで SSH 接続して操作する環境が用意されております CentOS にターミナルソフトから SSH 接続した画面 エンベデッドシステム技術者育成のための μitron(sh2) 組み込み学習キット 51 6.1 GNU 開発環境の構築本学習キットでは

More information

FR 34 316 13 303 54

FR 34 316 13 303 54 FR 34 316 13 303 54 23 ( 1 14 ) ( 3 10 ) 8/4 8/ 100% 8 22 7 12 1 9 8 45 25 28 17 19 14 3/1 6/27 5000 8/4 12/2930 1 66 45 43 35 49 25 22 20 23 21 17 13 20 6 1 8 52 1 50 4 11 49 3/4/5 75 6/7/8 46 9/10/11

More information

学習の手順

学習の手順 NAVI 2 MAP 3 ABCD EFGH D F ABCD EFGH CD EH A ABC A BC AD ABC DBA BC//DE x 4 a //b // c x BC//DE EC AD//EF//BC x y AD DB AE EC DE//BC 5 D E AB AC BC 12cm DE 10 AP=PB=BR AQ=CQ BS CS 11 ABCD 1 C AB M BD P

More information

P-12 P-13 3 4 28 16 00 17 30 P-14 P-15 P-16 4 14 29 17 00 18 30 P-17 P-18 P-19 P-20 P-21 P-22

P-12 P-13 3 4 28 16 00 17 30 P-14 P-15 P-16 4 14 29 17 00 18 30 P-17 P-18 P-19 P-20 P-21 P-22 1 14 28 16 00 17 30 P-1 P-2 P-3 P-4 P-5 2 24 29 17 00 18 30 P-6 P-7 P-8 P-9 P-10 P-11 P-12 P-13 3 4 28 16 00 17 30 P-14 P-15 P-16 4 14 29 17 00 18 30 P-17 P-18 P-19 P-20 P-21 P-22 5 24 28 16 00 17 30 P-23

More information

Catalog No.AR006-e DIN EN ISO 9001 JIS Z 9901 Certificate: 販売終了

Catalog No.AR006-e DIN EN ISO 9001 JIS Z 9901 Certificate: 販売終了 Catalog No.AR006-e DIN EN ISO 9001 JIS Z 9901 Certificate:09 100 5919 DJ!0 DF DF @3 q w e 130 230 TR RA 0H R 130 230 RA TR R R RA 0.02MPa RA 130 230 130 230 R 0.06MPa RA 0.15MPa q R #1 TR #6 I N D E X

More information

untitled

untitled H8/300,H8S,H8SX [H8S,H8/300 Tool Chain Ver6.2.0.0] #define Inline static inline //************************************************** Inline char sil_and_mem(char *mem,char and) return (*((volatile

More information

Intel Memory Protection Extensions(Intel MPX) x86, x CPU skylake 2015 Intel Software Development Emulator 本資料に登場する Intel は Intel Corp. の登録

Intel Memory Protection Extensions(Intel MPX) x86, x CPU skylake 2015 Intel Software Development Emulator 本資料に登場する Intel は Intel Corp. の登録 Monthly Research Intel Memory Protection Extensions http://www.ffri.jp Ver 1.00.01 1 Intel Memory Protection Extensions(Intel MPX) x86, x86-64 2015 2 CPU skylake 2015 Intel Software Development Emulator

More information

PROSTAGE[プロステージ]

PROSTAGE[プロステージ] PROSTAGE & L 2 3200 650 2078 Storage system Panel system 3 esk system 2 250 22 01 125 1 2013-2014 esk System 2 L4OA V 01 2 L V L V OA 4 3240 32 2 7 4 OA P202 MG55 MG57 MG56 MJ58 MG45 MG55 MB95 Z712 MG57

More information

Microsoft PowerPoint - prog03.ppt

Microsoft PowerPoint - prog03.ppt プログラミング言語 2 第 03 回 (2007 年 05 月 07 日 ) 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 1 今日やること hp://www.nlab.ice.uec.ac.jp/~s-okubo/class/language/ にアクセスすると 教材があります 2007 年 05 月 07 日分と書いてある部分が 本日の教材です 本日の内容

More information

1/68 A. 電気所 ( 発電所, 変電所, 配電塔 ) における変圧器の空き容量一覧 平成 31 年 3 月 6 日現在 < 留意事項 > (1) 空容量は目安であり 系統接続の前には 接続検討のお申込みによる詳細検討が必要となります その結果 空容量が変更となる場合があります (2) 特に記載

1/68 A. 電気所 ( 発電所, 変電所, 配電塔 ) における変圧器の空き容量一覧 平成 31 年 3 月 6 日現在 < 留意事項 > (1) 空容量は目安であり 系統接続の前には 接続検討のお申込みによる詳細検討が必要となります その結果 空容量が変更となる場合があります (2) 特に記載 1/68 A. 電気所 ( 発電所, 変電所, 配電塔 ) における変圧器の空き容量一覧 平成 31 年 3 月 6 日現在 < 留意事項 > (1) 空容量は目安であり 系統接続の前には 接続検討のお申込みによる詳細検討が必要となります その結果 空容量が変更となる場合があります (2) 特に記載のない限り 熱容量を考慮した空き容量を記載しております その他の要因 ( 電圧や系統安定度など ) で連系制約が発生する場合があります

More information