アセンブラ 13

■ このスレッドは過去ログ倉庫に格納されています
2011/08/28(日) 15:24:40.59
前スレ
http://pc11.2ch.net/test/read.cgi/tech/1187079488/
2012/04/15(日) 16:20:37.25
>>58
検索するとしたら "アセンブラ 呼び出し規約" かなあ。
例えば↓とか。
ttp://ray.sakura.ne.jp/asm/9.html
60デフォルトの名無しさん
垢版 |
2012/06/21(木) 21:51:25.92
BIOSでhello worldを表示するためのプログラムを作ってみたんですが、何も表示されません。
「mov (%bx), %al」コレがマズイ気がするのですが、表示する方法を教えてもらえませんか?

.code16
.text
_start:
.global _start
mov $msg, %dx
jmp loop1

loop:
mov $0x00, %bh
mov $0x07, %bl
mov $0x0e, %ah
int $0x10
loop1:
mov %dx, %bx
mov (%bx), %al
inc %dx
cmp $0, %al
jne loop

msg:
.ascii "Hello World\r\n\0"
end:
.org 0x200-2
.word 0xaa55
2012/06/21(木) 22:13:23.04
>>60
動作環境ぐらい書いとけ(つーかその辺りから分かってないだろ?)
62デフォルトの名無しさん
垢版 |
2012/06/21(木) 22:50:24.78
>>61
vmwareです。
正直あまりわかってないけど、昔は同じようなプログラムを作った。
6360
垢版 |
2012/06/21(木) 22:53:34.34
概ねこのサイトのコピペなんですが、どれもちゃんと動かないです。
何も表示されなかったり、文字化けしたり…
http://news.mynavi.jp/column/helloworld/021/index.html
2012/06/21(木) 23:21:42.01
QEMUは「qemu -fda as_bios3.com」で起動します。
6560
垢版 |
2012/06/21(木) 23:33:32.01
知ってたらでいいんで、文字列の目の前でcallする以外のスマートな方法ありますか?
FreeBSDのブートプログラム見たらそんなのないけど、アセンブラの知識不足でよくわかりません。
2012/06/21(木) 23:38:44.15
>アセンブラの知識不足
パソコンのBIOSについての知識不足?
6760
垢版 |
2012/06/21(木) 23:40:09.64
それも不足してると思います。
2012/06/21(木) 23:43:24.94
63に書いてあることはやったの、DOS窓のほう?
6960
垢版 |
2012/06/21(木) 23:46:57.54
一番下以外はvmwareで試しました。(おかしな表示になりました)。
Windowsじゃなくて、LinuxなんでDOS窓では動かしてません。
一番下のは明日やります。

アドバイスくれた人ありがとう。
釈然としませんが、とりあえずcallを使うと上手く行くらしいことだけわかりました。
2012/06/21(木) 23:57:39.28
linuxならdosemu上でやってみたら
7160
垢版 |
2012/06/22(金) 00:10:17.98
dosemuインストールしましたが、使い方を調べてみます。
7260
垢版 |
2012/06/22(金) 01:07:07.83
http://d.hatena.ne.jp/pakepion/20080602/1212412508
この変見てるとcall使ってないんですが、nasmとgasの違いなのでしょうかね?
2012/06/22(金) 01:14:32.98
int 0x10
がBIOSコール
7460
垢版 |
2012/06/22(金) 01:16:06.81
>>73
それはわかったのですが、なぜか文字化けor表示されないのです。
>>63のサイトでは、callを使えとあるんですが、いまいち理由がわからず困っています。
7560
垢版 |
2012/06/22(金) 01:24:53.38
コンパイルオプションの問題でした。
スレを汚してすみません。
2012/06/22(金) 03:35:26.45
callに呼応しているのはpop %bp。
IA32ではipを直接movしたりip相対でアドレシングすることができないから
その代わり。
7760
垢版 |
2012/06/25(月) 00:29:00.44
>>76
遅くなりましたがありがとうございます。

割り込みに関するIDTRを調べているのですが、1組6byteのテーブルの内容がよくわかりません。
持っている本には、
1byte:ループカウンタ
1byte:P:DPL:タイプ
2byte:制御ワード
2byte:ハンドラへのジャンプテーブル
とあるのですが、ここでループカウンタと制御ワードの意味がわかる方がいれば教えてください。
2012/06/25(月) 01:49:39.23
IDTRの知識を必要とするレベルには、とても見えないのだけれど。


万が一本当にその知識が必要なのであれば
http://www.intel.com/jp/download/index.htm#ia32 の中の
下巻: システム・プログラミング・ガイド
http://download.intel.com/jp/developer/jpdoc/IA32_Arh_Dev_Man_Vol3_i.pdf
でも読むといいかもね。
2012/06/25(月) 09:00:36.87
根本的におかしすぎてどうしようもないレベル
2012/06/27(水) 01:56:38.88
BIOSでHelloWorldを表示ってどういう意味だ?
81デフォルトの名無しさん
垢版 |
2012/06/27(水) 23:21:56.66
NASMで「mov byte [es:edi], al」をgasで書き換えるとどうなるでしょうか?
2012/06/27(水) 23:32:33.46
>[es:edi]
?
2012/06/27(水) 23:44:32.19
mov %es:(%di),%al
2012/06/28(木) 00:10:36.43
>>83
ありがとう。
2012/06/28(木) 18:48:03.33
こういうのってバイナリで書いてnmの逆汗オプションで調べられないかな
2012/06/28(木) 18:53:10.88
今時バイナリを直で作るほうが大変でしょ
2012/06/28(木) 22:54:47.43
int main(void)
{
 __asm__("nop\n\tnop\n\tnop\n\tnop\n\tnop");
}
てのをコンパイルして、nopの所を適当なコードに書き換えてしまえばいいんでないかい
2012/06/28(木) 23:00:12.45
インライン書くのなら、中身に直書きしたほうが
2012/09/26(水) 19:30:11.06
nasm hoge.asm -o hoge.img
で良いじゃん。中身が単一の命令なら、それだけ吐き出されるだろ?
90デフォルトの名無しさん
垢版 |
2012/10/08(月) 02:03:11.10
おすすめのアセンブラをおせーて
2012/10/08(月) 02:08:26.63
どんなアセンブラがお望みだい
x86系かい
armかい
役にたってもたたなくても、ともに300ルピーだよ
いっひっひ
2012/10/08(月) 02:52:39.98
>>90
MicrosoftのMACRO-80はインテルニモニックにもザイログニモニックにも対応してるので超オススメ!
マクロも強力だし、最新版は6502にも対応してるヨ!
2012/10/08(月) 03:55:52.59
★修学旅行、韓国から国内に変更…宮崎・日南高

 日本と韓国の関係悪化を受けて、宮崎県立日南高は2年生27人が12月に予定していた韓国への
修学旅行を国内に変更した。

 日南高によると、同校の修学旅行は韓国と国内の二つから選べることになっており、今年は2年生
170人のうち、143人が東京や群馬などの国内を選択。27人が同校の姉妹校・冠陽高があるソウル
などへの旅行を希望していた。

 竹島問題などを巡って、日韓関係が悪化していることから、韓国への修学旅行について慎重に検討した
結果、「韓国の情勢が不透明で、生徒の安全などを考慮した」として、行き先を国内に一本化したという。

 県内の別の高校も来年3月に計画している韓国への修学旅行について、変更を検討しているという。

http://www.yomiuri.co.jp/kyoiku/news/20121006-OYT8T00695.htm
2012/10/08(月) 06:37:40.09
韓国より台湾へ行けば良いのに
2012/10/08(月) 09:58:10.52
尖閣問題で台湾だっていつ敵になるかわからんのに平和ボケもいいところだな
2012/10/08(月) 10:27:00.15
工作員ですね
わかります
2012/10/08(月) 15:19:54.96
ν速に帰れ
98デフォルトの名無しさん
垢版 |
2012/10/08(月) 15:23:18.91
>>92
MASM はどう?
2012/10/08(月) 15:25:30.06
nasmのがいいよ
2012/10/09(火) 02:15:29.52
gasは?
2012/10/09(火) 04:41:11.49
no hit
2012/10/16(火) 22:14:24.79
gasもnasmも大して変わらんよ
アセンブラ独自の部分は
2012/11/05(月) 01:27:09.80
MOVNTDQなどでIA-32アーキテクチャ解説書に書かれている「非テンポラルなヒントを使用して、
メモリへの書き込み時にデータがキャッシュしないように防ぎ…」の「非テンポラルなヒント」とは何を指しているんでしょうか?

何かトンチンカンな思い違いで、基本的な事が分からなくなってる気もするのですが…。
2012/11/05(月) 08:18:54.46
move対象のデータがnon-temporalである(つまり、次々に別のデータを
処理していくストリーミング型である。だからキャッシュに入れても
意味ないのでやめてね)というヒント、じゃないのかな?
2012/11/05(月) 08:31:00.31
ところでキャッシュ汚染て表現止めてほしくね?
2012/11/05(月) 11:21:53.16
なんで
107デフォルトの名無しさん
垢版 |
2012/11/06(火) 17:15:20.34
PGM STRT
LD GR5,DD
LAD GR1,3
LD GR6,DD,GR1
ADDA GR5,GR6
ST GR5,EE
RET
DD DC 5,6,7,8
EE DS 1
END

レジスタGR5の値(10進数)
レジスタGR1の値(10進数)
レジスタGR6の値(10進数
レジスタGR5の値(10進数)

を教えてください。
2012/11/06(火) 17:25:11.69
宿題はまず自分で考えれ
2012/11/06(火) 22:30:04.17
順番に読めよ・・・
単純にデータを読んで足して入れてるだけだ。まず自分の考えを書いてみな

それで間違ってるようなら、どこが、どのようにを教える気にもなる
110デフォルトの名無しさん
垢版 |
2012/11/08(木) 03:29:29.25
>>107
caslか。。。
LD命令とLAD命令の違い、指標レジスタの使い方とか大丈夫なのかな。
テキストある?
2012/11/08(木) 04:37:42.31
レジスタGR5の値(10進数) 5
レジスタGR1の値(10進数) 3
レジスタGR6の値(10進数) 8
レジスタGR5の値(10進数) 13 じゃね?
2012/11/08(木) 11:13:17.35
なんで

>レジスタGR5の値(10進数)

が二つあるんだ?
2012/11/08(木) 16:13:26.75
途中で変化するから
2012/11/08(木) 16:35:24.15
だったらせめて行番号かアドレス書いて、どの時点でのGRnの値とかって聞く罠
2012/11/08(木) 16:52:04.65
宿題は自分でやれカス
2012/12/05(水) 01:32:12.27
movzbq (%rax,%rcx,8),%rax
()の中を、どう読んだらいいのか、わからない、教えてちょ
gdbの逆汗ですです
2012/12/05(水) 01:40:30.35
>>116
>movzbq (%rax,%rcx,8),%rax
>()の中を、どう読んだらいいのか、わからない、教えてちょ

「パーセントアールエーエックスカンマパーセントアールシーエックスカンマはち」
2012/12/05(水) 02:56:30.60
バイナリコードの方から解析したよ、読み方ありがとう
2012/12/08(土) 02:05:05.38
>>116
rax + rcx * 8
2012/12/08(土) 02:24:08.56
どもども
謎なx86な環境の謎なjitを動かそうとしてハマりまくってたけど、なんとか動いたよ
2012/12/08(土) 07:59:53.85
gdbの逆アセはgas表記と同じじゃないのかい?
2012/12/08(土) 13:13:58.02
gas記法なんて大嫌いだー
2012/12/08(土) 13:39:08.43
gas記法がすきー。
2012/12/08(土) 14:09:20.53
>>116さんので気になって探してみたけど、gdbの使い方はたくさん出てくるのに
逆アセンブラ出力の記法の説明は特に見当たらなかった。

なので、デフォルトの設定でgasと同じかなと思ったんだけど。。。
2012/12/08(土) 14:29:39.98
x86の16bit汗はよくやってったんだけど
32bit以降は久しぶりで、まさか、汗の解釈が出来なくてハマったという
オチでした(中で何やってるかわからず、当てずっぽうだから余計)
C系の逆汗はたまに覗くぐらいだったからね
セグホしまくりのコケまくりでなかなか先に進めなかった
ここの解説に助けられました
ttp://www.mztn.org/lxasm64/amd05.html
2013/01/05(土) 18:11:23.41
どなたか知者にお願いします、C言語系列(派生言語、類似言語)以外で

インラインアセンブラを表記できる高級言語には何があるか教えてくれませんか?
2013/01/05(土) 18:15:03.53
色々あるよ
2013/01/05(土) 19:05:38.14
「インラインアセンブラ」「言語」でぐぐるだけでもいくつか見つかるんだが。。。
2013/01/05(土) 20:48:23.89
ネイティブバイナリ生成できる言語なら何かしらの手段が用意されとると思うが

昔のTurbo Pascalみたいにバイナリ直で書けなんてこともあったりして
2013/01/05(土) 21:03:43.11
CでもANSI以前にはasmが予約語だったってだけでインラインアセンブラの実装は
処理系依存だし、その他の言語でも処理系に拠るのは同様だろう。
2013/01/05(土) 21:09:46.25
>>128
その程度の努力もしない相談者ということでしょう。相手しないに限る。
132デフォルトの名無しさん
垢版 |
2013/01/05(土) 21:20:56.47
そんなこと言うとそこで話が終わっちゃうけど、

・実はこんな言語でインラインアセンブラにはまってるところ
・このあたりが最近ホットだよ

などと答えれば話が盛り上がるし、思わぬ発見にも出会えようかと言うもの
2013/01/05(土) 21:29:05.22
インラインアセンブラなんてほぼ横着の方法だしなあ、盛り上がるような話題ではないと思う。
2013/01/05(土) 21:55:17.81
それ以前にこのスレがそもそも・・・
2013/01/08(火) 12:02:37.21
的外れな回答するなら無視しろよwww
>>131
ググル程度では使えるかは>>129が言っている話となんの違いもない。
言語仕様として実装しているかとか考えられないなら黙っていろよww
2013/01/08(火) 12:05:07.10
>>135
>言語仕様として実装しているかとか考えられないなら黙っていろよww

聞きたい内容なら相談者が明記すべきでしょ
2013/01/08(火) 14:00:48.26
>>135
君みたいなのが黙ってればいいんだよ

分からないから出て来るんだろうけどさw
2013/01/08(火) 15:38:51.07
>>126
>どなたか知者にお願いします、C言語系列(派生言語、類似言語)以外で
>
>インラインアセンブラを表記できる高級言語には何があるか教えてくれませんか?

学校の宿題?
2013/01/13(日) 04:09:05.19
Dちゃん
2013/01/16(水) 05:12:57.75
インラインアセンブラが必要なことがある高級言語を探すほうが難しいような、C系以外で
2013/01/16(水) 05:23:30.13
ネイティブコード吐く手続き型言語ならインラインアセンブラの機能ぐらいあっても不思議はないだろ。
2013/01/16(水) 05:29:40.29
中間コードをネイティブコードにして実行するのが今時の流行りじゃあ
2013/01/16(水) 08:14:23.87
>>140
んで高級言語に欲しい機能はCで書くものだしなあ
2013/08/21(水) NY:AN:NY.AN
【boot】nasm【loader】
http://toro.2ch.net/test/read.cgi/tech/1377053129/
145デフォルトの名無しさん
垢版 |
2014/01/08(水) 00:36:24.80
Apple、1万行の手動で最適化されたアセンブリー・コードを書いたカメラアプリ会社を買収
http://hayabusa3.2ch.net/test/read.cgi/news/1389101880/
2014/01/08(水) 23:17:13.77
コンソールいじるのにwinapi叩かないといけないなんてwindowsさんひどい
2014/01/09(木) 17:34:23.99
インランニッセンブラ
2014/01/11(土) 04:40:19.77
インラインアセンブラと聞いただけでこれほど荒れるって、
どんだけキチガイがたくさんいるの?w
2014/01/11(土) 04:52:35.02
こんなんで荒れてるように見えるとは、2ch見たことない人?
2014/01/12(日) 07:13:03.69
2chっつーか、ム板だけでここより荒れてるスレくらいいくつも見つかる
2014/01/12(日) 14:13:14.12
下を見てもきりがない2ちゃんねるで何の自慢にもならん
2014/01/12(日) 14:30:29.94
下を見るも何もレベルだけど
153デフォルトの名無しさん
垢版 |
2014/02/24(月) 19:27:58.02
おすすめ書籍とかサイトなど御座いますか?
2014/02/24(月) 19:33:14.78
ないですね。
2014/04/14(月) 09:26:43.43ID:UaoAtYI0
>>33
それをOSのスケジューラやVMが管理しているとしても
最終的にはCPUに何らかの命令が下って切り替わるわけだろ
2014/04/14(月) 14:48:49.31ID:a6eUEmJs
http://p6ers.net/hashi/bunpou1-18.html
157デフォルトの名無しさん
垢版 |
2014/04/24(木) 20:23:29.80ID:6eU9esML
日本語アセンブラは、誰も作らないね。
2014/04/24(木) 22:57:56.87ID:mnsZs1hI
せいぜい単語レベルで置き換えるトランスレータかますくらいだろ
159デフォルトの名無しさん
垢版 |
2014/04/27(日) 08:31:04.45ID:zK6QyGSs
; こんな感じか?

スタート:
    コピー dl,データ1
    加算 dl,データ2
    加算 dl,'0'

;日本語にすると、ド偉く開発効率が下がりそうなのはなぜ?
;母国語でわかりやすいはずなのに。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況