「アセンブラ」を含む日記 RSS

はてなキーワード: アセンブラとは

2020-02-15

できるかどうかと、やっていいかどうかは別 王様たちのヴァイキング問題点

ラーメンを作るときに、成分分析にかけて

成分を割り出して、パウダーで合成して同じ味を作っても良いか

 ↓

プログラム師匠に習わず他人プログラムを解析して

作り方を割り出して、アセンブラで合成して同じプログラムを作ってよいか

 

あれはもともとハッカーという犯罪捜査ではあるが

犯罪差者が作るラーメンにも本人に権利があり、警察捜査目的であっても、裁判所の令嬢がないのに

勝手分析して言い訳がない(場合がある)

著作権法違反だったり、そこで何か新しい知識を得たら盗作の疑いすらある。

からヴァイキング

ただあれ、警察が協力している演出問題

もともと、他人プログラム勝手に解析してソースを読むのは必ずしも自由じゃない場合もある

著作権表示をすべき

2020-02-04

手は抜かないというより

いわゆる性能重視でチューニングした場合

ASMキーワード連発で

アセンブラジャネーの?みたいなソースになるわけだが

そんなもんがいいの?ちゃうやろ?

というチューニングの難しさ

2020-01-26

入社して5年までのプログラム

それこそ朝9時から朝4時まで見たいな話も冗談でもない非がある程度には本当なくらいがむしゃらに働いたとしても

簡単でも合った。アセンブラドライバ組んだ経験だってDOSである

 

なにはともあれ、一所懸命がんばった。先輩から見たら嗤うような出来だったのかもな。

2020-01-25

そのためにあるんだろうけど

他人のお店の料理の味を

成分分析機にかけて、成分を割り出して

パウダーで合成して作り出すってどうなの?

っておもうけど

食べに行って参考にするのも大差ない

 

同じように

他人プログラムリバースしてマシン語を取り出して改造するのはどうなの?という

もちろんアセンブラでもらっているとかなら別だが

普通ソースでもらう

ソートを例にとったときのN=1のとき特殊解。

 計算量N*Nと2Nが

N=2以上であれば2Nのほうが速く終わるが

N=1のとき例外的にN=1のほうが速く終わる。

という例外を知ることは重要

 

ではN=Bigがなぜ特殊解か?というと単純に言えば

メモリが足りなくなって不正終了というものから

メモリをあけるためにSSDに書き出すから遅くなる

というものにはじまり

メモリがたりなくなりSSDがたりなくなりさらHDDに書き出してとなると

どんどん遅くなっていく

 

逆にすさまじく小さい場合何が起きるかはN=1のとき例外として考えてみてほしい

 

ちなみに、コンパイルオプションには速度優先コンパイルコードが長くなっても高速なアセンブラを書く)とサイズ優先(速度が遅くなっても短いコードを書く)がある。

★ いっしょうけんめいになればいい・・・ これはもう私にとっては一所懸命ではない

MOV DX.[AX]

MOV CX,[BX]

MOV [BX],DX

MOV [AX],CX

 

端的に令を言う場合このコードC言語でかくとかなり遅くなる。

一般的アセンブラコード記述した場合、2倍以上早くなる場合があるという端的な例である。2倍かどうか走らんがw

 

他方 JAVAなどとC言語を比べた場合は1.4倍

これはスクリプト言語などでも同じであるJITネイティブ関数コールは含まない

2020-01-18

そりゃそうかもな

高校時代アセンブラをやってるとはおもうのかおもわないのか

遅いだろといわれるとはおもうんだが

アセンブラ高校だったんだよ

2020-01-15

anond:20200115121738

企業でのサラリーマンとしての会社の記録に参加しただから個人ではない

その後もさまざまな実績はあるが、主に外部には出ていない。

一般的下請けさん。

アセンブラが読めるとか、大学を出ているとかは本当

性犯罪などはデマ。異性を愛するタイプ。など。

風評被害防止のため といっても匿名だけどな

2020-01-14

各種書名検証連鎖証明、まんがいち秘密鍵漏洩した場合対処

さまざまなコンパイルフラグ DEFINE、アセンブラレベルでの柔軟性、ヒープ対処

試験工数をかんがみてある設計試験工数が大きくなりすぎる機能に対する工夫)

単位テスト

anond:20200114151740

まぁこういう試験ではでていたけど

レアケースだし、環境依存するから特定メーカー向け意外にはOFFになっている

コンパイルフラグの類のコードアセンブラにはでてこないから、リバースでは見つからないけど

ちゃんと、ソースコードにはあるのだ

技術貯金

anond:20200114041018

ソートプログラム 太田式(名前適当)一考察

 

バケツソートバブルソートを含むとする)のような単純なソートプログラムを例にとっても

N=1,Bigとき例外となる。プログラム教育ではこういう例外は良くおきるので準正常系のようなものだが、慣例的に例外と呼ぶ

どうように1,1,1,1、のような偏りの大きいデータにたいしてもソートプログラムは特異な処理時間必要とする。

 

ソートは、そのデータの量や質、大きすぎる、小さすぎる、偏りが大きすぎる、小さすぎる

などによって、一般的に言われている特性とはことな特性を示す。

これがもっと標準的ソート例外であり

データや偏りが小さいときコンパイラなどの最適化により、さらに異なる特性を示すことがある。

一般的にはコンパイラ最適化は気にする必要がないが、こういう例外にはなりやすいので、納品などがある場合は1度確認しておいたほうがよい(アセンブラレベルコード確認など方法任意

 

入力の量の偏り、質の偏り、装置特性★ これはどのプログラムでもそうだが、ソート説明やすい。

2020-01-11

__forceinlineとinlineは毛っこう違う。

一般的プログラマー主観に会うのは__forceinlineのほうがイメージするinlineにはちかい

inlineはどちらかというとvolatileのように最適化キーワードに近く扱われる。(所定の条件で無視される)

なので、実際にどういうアセンブラはいたか確認したほうがベター

Intel系のCoreなんちゃらのCPU場合

フルアセンブラC言語C++)を比較すると速度差は2倍前後

C言語JITをしないスクリプト言語を比べると1.4倍程度

とはいえ、1秒の処理が1秒40になったところで2秒になったところであまり気にならないことが大半。

この辺はテスト工程の中で、バグによって炎上していないチームになどにフィーリングをはかってもらうと吉。

2020-01-01

多値返しに関する一部エンジニア見解ヤバない?

https://b.hatena.ne.jp/entry/s/jp.quora.com/hotondo-no-puroguramingu-gengo-de-kansuu-no-return-ga-1-tsu-shika-deki-nai-no-ha-naze-desu-ka を呼んだんだけど、回答・ブコメともにとんでもないことを書いている人がたくさんいてびっくりした。本質的に多値返しは直積型の返しと同じで、これはタプル・構造体と本質的に同じ、というのは多くの人が指摘している通りではあるのだが…。

配列返し

動的型付け言語に慣れてらっしゃる方が多いのかもしれないけれど、配列というのは「同じ型をまとめた型」であるべき。動的型でいろいろ突っ込める配列本質的には「直和型の配列」と思った方がいいよね。多値返しという意味では(記憶領域の面で)余分なコストがかかりうる直和型を選択する意味はないですよね?回答でもなんか配列返しに言及している某有名人がいたが、あれれ?という感じ。

もっとも、immutableな配列をtupleと呼ぶPythonという言語があるせいで引っ張られている感は否めないけども、配列とは本質的に異なる型が存在しているのは明らかですよね?配列構造体って違うよね…?(言葉定義問題と言われそうだけれど、型システムの分野での言葉定義存在しているわけで、反論になっているとは思えない。『俺は明日からこのわんわんなく動物ネコと呼ぶから』と言っているようなもんでは。)

CPUアーキテクチャについて

かにナイーブにはレジスタに入れて返すのが素直だというのは同意するけど、でもそれ構造体と一緒だよね?昔のCではこれはできなかったというのは知らなかったので勉強にはなりました(未検証だけど)。

あと構造体返しの関数がどう機械語実装されているのか知らなさそうな人がいるのにはちょっとびっくり。それでなんでレジスタがどうとか言えちゃうのかしら。構造体の値を返す関数ならばポインタは返さないですよ。そのポインタはどこを指してるんですか。実装しづらいとか何とか言ってる人たち、ちゃんアセンブラ読んだことあるんですか…?本質的に何の困難もないです(ちなみに少なくともlinux amd64ではスタック領域を確保してそのポインタ関数引数の一部として渡します。まあヒープに置く場合でも余計なmoveが出ないようにしたいとかあるかもだけど、そんなでかいデータ普通無名構造体では扱わないでしょう)。

多値は使いづらい

かに、返り値の型が(A, A)のような場合ドキュメント読まないとわからなくなってしまうので可読性が下がるし構造体を使うべしというのは(ほぼすべての場合において)同意(多値は使いづらいというのは構造体は使いづらいという意味ではないですよね?)。でもさ、某有名人goで挙げているけれど多値って普通(A, B)みたいに違う型の値を返したくなることの方が多くないですか。この場合どっちがどっちかは自明だよね?ただの無名構造体だよ。多値返しは設計が甘いとかわけわからんことを言っている人もいたけれど、なんかこちらが不安になってきた。

http://bleis-tift.hatenablog.com/entry/multiple-values

…本当に意味不明で驚いた。id:megumin1氏が言っているように、tupleのパック・アンパックに余分なコストをかける必要はない(まあアドレス渡しになるから複数本のレジスタで返すのと比べたら余分なmovが入りうるという話はあるけど、この人が多値返しというので何を想定しているかからないので何とも。)。何遍呼んでも多値返しとtuple返しの違いが判らなかった。おそらく前述のようにimmutableなlistのことをtupleと思っているのかな?と予想はするが…。

はてな界隈ってエンジニア的な印象があったんだけど、ここら辺の話ってそんななじみないのかな…?てか某有名人氏も型システムとかあんまりご存じないのかな…?むしろこれは増田無知なんだろうか…?

2019-12-06

知ってる

ぶちぎれてフルアセンブラで帰ってきて

大人げなかったっていって、予算吐いてかえっていったオッサンずでしょ

語り継いでる

2019-11-28

anond:20191128160102

あのね、違法エミュレーターのほうが昔のソフトをよく再現できるのおかしいよね!ってなったからあたらしい保存センターつくったの

そこはゲームに関する聖域にするからエミュレーターやら逆アセンブラをつかってもよい、著作権者とかもろもろに文句いわせない程度の聖域にしようねっていう約束してるの

国会議事堂図書館マイクロフィルムで保存するなど書籍に関する専門性は高いけどそれで精一杯だから

2019-11-25

C言語範疇だとしても

さすがにプロが書いたバケツソート

ならいかいクイックソート

アセンブラももちさないかぎりは

バケツソートの方が高速に終わるなんてことはないだろう

2019-11-22

いちおうCもアセンブラJAVAもできるけど

経歴が長いだけのプログラマー

コミュ力皆無 人付き合い不可能

年収360万ぐらいで仕事いか

240ぐらいが限度かもな

2019-11-20

6あのさ、パソコン認証なんてCPU-IDとかつかえよ

一発じゃん。間違わないし固有IDだし

おまえにはちょっとレべr高い技かもしれないけどCPU-IDつかえばパソコン識別なんて簡単

あとはネットSSL送信してDB登録すれば 顧客判別なんて 超簡単だろ

障害耐性だってクラスタリングとかつかってAmazonにあげとけば、ばっちり

いまはすごい安くユーザー認証できるんだぜ

そんなにかねかからねーよ

アセンブラ使えアセンブラ技術勉強してねーからできねーんだよCPU-IDぐらいひろえろガキ

ログイン ユーザー登録
ようこそ ゲスト さん