ええっといろんなところで紹介させていただいているのですが
|
|
- さなえ しろみず
- 5 years ago
- Views:
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
アセンブラ短歌坂井弘亮 (KOZOSプロジェクト ) TwitterID:kozossakai まず最初に紹介 SoftwareDesign 誌 懐かしの連載 全国津々浦々! 勉強会 & イベント 探訪記 電子書籍になります! 電子書籍になります! した! 達人出版会 TechLION も 収録されてます! (vol.1 4) 高橋さんありがとうございます ( 深謝 ) あともうひとつ バイナリカレンダー持ってきてます
More information取扱説明書 -詳細版- 液晶プロジェクター 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 informationHITACHI 液晶プロジェクター 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 informationHITACHI 液晶プロジェクター 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 へのコミット雑誌記事や書籍執筆など
ワークショップ第 1 回多種アーキテクチャでの攻撃と防御 坂井弘亮 自己紹介 坂井弘亮 ( さかい ひろあき ) http://kozos.jp/ 個人でいろんな活動をしています 組込み OS 自作 (KOZOS プロジェクト ) イベントへの出展 セミナーなど ( オープンソースカンファレンス (OSC) など ) SECCON へのコミット雑誌記事や書籍執筆などアセンブラ短歌 六歌仙のひとり (
More informationSlide
Arduinoでの 組込み OS 自作体験坂井弘亮 (KOZOSプロジェクト ) TwitterID:kozossakai まず最初に連絡 事務局側で用意している USBメモリがあります FreeBSD-avr-kozos.ova という OVAファイルが入っているので, これからの説明時間中に自分の PCにコピーしてください (1GB 程度あるので, コピーに時間がかかります ) ネットからダウンロード済みのひとは不要です
More informationあさひ 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 information1 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 取扱説明書- 詳細版-
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 informationSuperH 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 information1009.\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
東北大学工学部機械知能 航空工学科 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Łñ›Ä
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
プログラムはどこに保存され, どこで実行されるのか? 復習 ハードディスク キーボード Central Processing Unit 例えば i7, ARM, Cortex-A17 ディスプレイ 例えば 4G バイト メモリ プログラムは, ワープロ文章などと同様, ハードディスクなどにファイルとして保存されている. プログラムは, メモリ上に呼び出されて ( ロード ) 実行される. プログラムの作成
More informationI 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 information8 / 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 informationR 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 informationCP-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 informationMicrosoft 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 informationex05_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>
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 informationC 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 informationjoho07-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 informationslide5.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 informationARM 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 informationMicrosoft Word - C.....u.K...doc
C uwêííôöðöõ Ð C ÔÖÐÖÕ ÐÊÉÌÊ C ÔÖÐÖÕÊ C ÔÖÐÖÕÊ Ç Ê Æ ~ if eíè ~ for ÒÑÒ ÌÆÊÉÉÊ ~ switch ÉeÍÈ ~ while ÒÑÒ ÊÍÍÔÖÐÖÕÊ ~ 1 C ÔÖÐÖÕ ÐÊÉÌÊ uê~ ÏÒÏÑ Ð ÓÏÖ CUI Ô ÑÊ ÏÒÏÑ ÔÖÐÖÕÎ d ÈÍÉÇÊ ÆÒ Ö ÒÐÑÒ ÊÔÎÏÖÎ d ÉÇÍÊ
More information6.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
東北大学工学部機械知能 航空工学科 2015 年度 5 セメスター クラス D 計算機工学 6. MIPS の命令と動作 演算 ロード ストア ( 教科書 6.3 節,6.4 節 ) 大学院情報科学研究科鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ レジスタ間の演算命令 (C 言語 ) c = a + b; ( 疑似的な MIPS アセンブリ言語 )
More information1007.\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
東北大学工学部機械知能 航空工学科 2019 年度クラス C D 情報科学基礎 I 5. 命令セットアーキテクチャ ( 教科書 6.1 節, 6.2 節 ) 大学院情報科学研究科 鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 計算機の基本構成 メモリ プロセッサ データ領域 データデータデータ load store レジスタ PC プログラム領域 命令命令命令
More information0 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 informationEP-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 センサーアプリケーション
C プログラミング - ポインタなんて恐くない! - 藤田悟 fujita_s@hosei.ac.jp 目標 C 言語プログラムとメモリ ポインタの関係を深く理解する C 言語プログラムは メモリを素のまま利用できます これが原因のエラーが多く発生します メモリマップをよく頭にいれて ポインタの動きを理解できれば C 言語もこわくありません 1. ポインタ入門編 ディレクトリの作成と移動 mkdir
More informationMS-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 informationex04_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
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 information000 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 informationMicrosoft PowerPoint - exp2-02_intro.ppt [互換モード]
情報工学実験 II 実験 2 アルゴリズム ( リスト構造とハッシュ ) 実験を始める前に... C 言語を復習しよう 0. プログラム書ける? 1. アドレスとポインタ 2. 構造体 3. 構造体とポインタ 0. プログラム書ける? 講義を聴いているだけで OK? 言語の要素技術を覚えれば OK? 目的のプログラム? 要素技術 データ型 配列 文字列 関数 オブジェクト クラス ポインタ 2 0.
More informationスライド 1
計算機の構造とプログラムの実行 1 計算機の基本構成 メモリ プロセッサ データ領域 データデータデータ load store レジスタ PC プログラム領域 命令命令命令 演算器 (ALU) 2 計算機の基本動作 プロセッサは, メモリのプログラム領域から命令をアドレス順に読み出して実行する 演算は ALU (Arithmetic Logic Unit) が行う 必要に応じて, メモリとプロセッサ内のレジスタとの間でデータを移動する
More informationMicrosoft Word - no01.doc
応用プログラミング I II 2009.4.7 1. プログラミングとは 1.1 ハードウエアとソフトウエアパソコンをはじめとするコンピュータは ハードウエア といわれます このハードウエアだけで何ができるかといえば単なる計算だけです もちろんそれを表示することもできませんし キーボードから文字を打つこともできません 計算ができるといっても 数字を入力できないのですから数値を与えることすらできないのです
More information05‚å™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 informationPowerPoint プレゼンテーション
講座を行う前に 自己紹介 僕と上回生について 1 年生同士で少しお話しよう! オリエンテーションの宿題 アルゴロジック http://home.jeita.or.jp/is/highschool/algo/index3.html どこまでできましたか? あまりできなかった人はこれから全部クリアしよう! 2016 年度 C 言語講座 第一回目 2016/6/11 fumi 今回の目標 プログラムを書いて実行するやり方を覚える
More information05‚å™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 information02: 変数と標準入出力
C プログラミング入門 基幹 7 ( 水 5) 1 12: コマンドライン引数 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/teachers/w48369 2/CPR1/ 2017-07-05 まとめ : ポインタを使った処理 2 内容呼び出し元の変数を書き換える文字列を渡す 配列を渡すファイルポインタ複数の値を返す大きな領域を確保する
More informationPowerPoint Presentation
プログラミング基礎 第 2 週 (4,5,6 回 ) 2011-10-07 出村公成 この資料の再配布を禁止します 予定 プログラミング入門 (45 分 ) 変数 入出力 分岐 演習 (90 分 ) タッチタイプ練習 統合開発環境 Codeblocksの使い方 教科書例題の打ち込みと実行 プログラミング入門 C 言語の簡単な例を体験 変数 入出力 分岐 プログラムの例リスト 2.1 改 #include
More informationARM
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 informationLinuxDeviceDriver2003-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 informationII ( ) 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 information2
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
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 information1 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 informationFMV活用ガイド
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 information1.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回お試しアカウント付き並列プログラミング講習会
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 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]
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 information5 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 informationex03_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 informationMicrosoft Word - no01.docx
プログラミング基礎 1. プログラミング言語 1.1 ハードウエアとソフトウエア パソコンをはじめとするコンピュータは ハードウエア といわれます このハードウエアだけで何 ができるかといえば単なる計算だけです もちろんそれを表示することもできませんし キーボードから文字を打つこともできません 計算ができるといっても 数字を入力できないのですから数値を与えることすらできないのです このハードウエアを制御したり
More informationMC-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 informationkiso2-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 informationmain.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 informationFR 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 informationP-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 informationCatalog 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 informationuntitled
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 informationIntel 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 informationPROSTAGE[プロステージ]
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 informationMicrosoft 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 information1/68 A. 電気所 ( 発電所, 変電所, 配電塔 ) における変圧器の空き容量一覧 平成 31 年 3 月 6 日現在 < 留意事項 > (1) 空容量は目安であり 系統接続の前には 接続検討のお申込みによる詳細検討が必要となります その結果 空容量が変更となる場合があります (2) 特に記載
1/68 A. 電気所 ( 発電所, 変電所, 配電塔 ) における変圧器の空き容量一覧 平成 31 年 3 月 6 日現在 < 留意事項 > (1) 空容量は目安であり 系統接続の前には 接続検討のお申込みによる詳細検討が必要となります その結果 空容量が変更となる場合があります (2) 特に記載のない限り 熱容量を考慮した空き容量を記載しております その他の要因 ( 電圧や系統安定度など ) で連系制約が発生する場合があります
More information