Programming + stockings and computers

Programming + stockings and computers

The first IBM PC compatible portable PC "Hyperion" in the era of "Halt and Catch Fire".Photo: BoardHead CC by-Sa 3.0

The drama with a computer is hot!?

 A drama that is chased by a bad guy, a scene where a sunglasses man is looking around while drinking a smoothie in a place like a sightseeing spot.

 『ウォンテッド! ローラ&チェルシー』は、まさにそんなシーンの出てくるドラマである。たまたまバス停に居合わせて一緒に逃げることになった女性2人が、汚職警官やらマフィアやらからとにかく逃げる。スーパーの店員ローラと金持ちの娘チェルシーのそんなロードムービーになっているのだが、なぜか悪い奴らをバッタバッタと片付ける。

 I've just finished watching Season 1, but there aren't many damp stories about women's friendship.It seems to be produced by Australian television stations, but the sky is wide and the air is dry, so I feel like going to "Mad Max" somewhere.

 Netflix is characterized by this kind of local drama -produced drama around the world, and even in this column, I wrote that the drama of Spanish TV station that prints bills at the Mint, "Paper House" is fun.There was a Turkish drama, which had a super -powerful person who protects Istanbul, the Last Protector, was also interesting.

 It is very meaningful to be able to watch dramas other than the United States, and I think that it will gradually change the world map of the content, but by distribution on the Internet, computers that are rarely Japan can see the theme drama.Thank you.

 Women who worked at Bretchly Park, who became a German crypto decoding base during World War II (Alan Tuuling also worked for that = the computer museum opened in 2007)However, after the war, there are also dramas such as "Blatchy Circle" (Netflix), which makes use of their abilities to solve difficult cases.

British crypto decoding machine "BOMBE" Photo: Mendhak CC by-Sa 2.0

 "Silicon Valley" (this is now distributed on Amazon), which has a startup youth (this is now distributed on Amazon), but "Holt and Catch Fire Inoperable Dreams and Ambition"Hulu) is a drama depicting the conflicts of the era after IBM and Apple's market in the 1980s.

 It's a complete fiction, but the characters seemed to be a hot topic in the United States, such as "Who is the model?"The situation at that time has been transmitted, and if you were working on a computer in the same era, you would like to be unwill, but "Holt and Kitchfire / Inconvenient Dreams and Ambition" (Halt and Catch "(Halt and CatchI was worried about the title "Fire).

 What does that mean?When I started to see the first episode, it was explained at the beginning as follows.

Halt and Catch Fire

 What is "stop and ignition"?

 With the early computer command

 Make the machine a competitive state

 Those to execute all orders at once

 This makes the computer cannot control

 Do you know what this means?The original English sentence is "Halt and Catch Fire (HCF): An Early Comnd That Sent The Machine Into A Race Condition, Forcing All Instructions To Compete For Superity Atton.Control of The Computer Could Not Be Regated.Is it, but do you know the hardware expert?

 Apparently, the three alphabets called "HCF" are like an assembler instruction code (Nearmonic) when a computer is moved by a machine order.Then, when I read the explanation of Wikipedia's "Halt and Catch Fire" (as a computer term, not a drama name), it wrote "It started with a fictional command code of IBM System/360", and this was what I saw.I thought there was.

 A fictitious neednonic nemonic introduced by a person introduced in "Calculation of the meaning of life" in "Modern Programmer Evening" (ASCII, published by ASCII) (published in the August 1987 issue in the monthThis "HCF" appeared in the collection.However, some of the more than 200 collections were introduced, but they did not mention the essential "HCF".Nevertheless, let's touch on why we remembered "HCF" later.

 The column was the following (the TEX file of the book remained).


[Calculate the meaning of life]

About Nimonic

 Assembly language ... I think many programmers have a nuances of this word or something noble.

 In the sense of the word “assemble” (= assembly) itself, it may have some mechanical image.As a result, each order corresponds to the machine language one -on -one.In other words, each of the computers is instructed by each line, one line, and each order.One instruction in the machine language is an alphabet nickname in order to make it easier for humans to understand the instructions in the assembly language.

 For example, in order to transfer data in a computer's storage device somewhere, you can execute a "MOV" instruction.This instruction Nearmonic varies from CPU or machine (sometimes the same).And the combination of three characters and the alphabets of all over the way means that something will surely cause something in the computer world.It is simple, simple, and confidential.It is an understanding only for those who write programs on the machine.There is a place where a secret solidarity is created.

 However, this is not limited to assembly languages, but also C language and LISP, but in the case of high -level language, it is a program space in the language, which is somewhat different from that of the assembly language.I think the assembly language is a crest -type, but not in any other literary approach.

 By the way, I found a tribute to this assembly language order in Programmer's Forum in Compuserve.

 This is a 250 order set that Jeff Diewald gathered at the University of Michigan while studying at the University of Michigan.Only a few of them, but I picked them up a little bit.

BCIL (Branch Creating Infinite Loop)

 : Infinite loop

BH (Branch and Hang)

 : Branch and hang

JTZ (Jump to Twilight Zone)

 : To the twilight zone

 In this instruction set, there are a lot of branch orders, but I picked up only three simple ones.There are two main types of branch orders, "Branch" and "Jump", which are two -style rituals or expression methods, which is a mixture.Will the third "JTZ" be the last command of the sprinting program (or programmer)?It is important to note that the Twilight Zone is right there.

AFVC (Add Finagle's Variable Consant)

 : Add a suspicious constant

DBZ (Divide by Zero)

 : Divide by zero

CML (Compute Meaning of Life)

 : Calculate the meaning of life

 I think that "dividing by zero" may be quite simple and good.To divide with zero means that a little good programmer has once asked a simple question.Nothing is as mysterious as the message "I divided by zero".Even if you shout, "Break it," it doesn't matter what the algeon god will do.The third "meaning of life ..." is not a simple fourth operation, but a very complicated order.

 Of course, there are orders for roads, stores, and comparisons.

LCC (Load and Clear Core)

 : Load and initialize memory

CMD (Compare Meaningless Data)

 : Compare meaningless data

プログラミング+ ストッキングとコンピューター

STA (Store Anywhere)

 : Store somewhere

 There are only three cynical orders with a feeling of void.Speaking of cynical -like, in the actual machine, Zap (ZERO ADD: zero addition) was on IBM's general -purpose aircraft.It is an order to make the contents of a certain address a pack format and then add it.Since the value is added to zero, the result is always the same as the added value.In that case, I feel like I just need to throw the value to be added into the address without adding it to zero.It is one of the orders that beginners do not understand the reason for existence, but those people will use it more frequently later.It is reminiscent of the so -called American comic -pecoons of the onomatopoeic language ZAP, and it seems to take on forced actions without saying whether or not it is somehow, and it is a perfect knock.

FLI (Flash Lights IMPRESSIVELY)

 : Sight lit the light impressively

LAP (Laugh at Programmer)

 : Let the programmer laugh

BOD (BEAT ON THE DISK)

 : Break the disk

 There are various input and output orders, but this area has changed considerably."Impressive light ..." may be useful when a computer plays a computer role in public (many people are interested in this kind of thing today ...)."Laughing a programmer" is quite simple and good.The last "break the disk" is a bit noisy, but there are a number of more powerful.

Colb (Crash for Operator's Lunch Break)

 : Crash for the lunch break of the operator

OML (Obey Murphy's Laws)

 : Follow Murphy's law

DW (Destroy World)

 : Destroy the world

EP (Execute Programmer)

 : Execute a programmer

EPI (EXECUTE PROGRAMMER IMMEDIATELY)

 : Immediately execute a programmer

 It is troublesome to "destroy the world" by an order."Programmers ..." and "Immediately ..." are simple reactions to the word Execute (execution) and ImmediaTe (immediate value), but in the computer world, the word "kill" is fine.It is used (many people say "kill" in Japanese).

SAI (Skip All Instructures)

 : Read all orders

 With this, the program doesn't work.

WF (Wait Forever)

 : Wait forever

 This doesn't work.

LPA (LEAD PROGRAMMER ASTRAY)

 : Confusion the programmer

TPDH (Tell Programmer to Do It Him/HERSELF)

 : You should say that you should be yourself in the programmer

UP (UNDERSTAND PROGRAM)

 : Understand the program

 I think the second long knee monster is a microcated order."Understanding the program" is an order like a Zen question and answer.

DLN (Don't Look Now...)

 : Don't look!

 What should I do?However, it is excellent as a nimonic.

 As I wrote in the first place, assembler's instruction Nearmonic is only for those who use the machine.I know only about IBM general-purpose aircraft, VAX-11, a lot of minor machines, and 8086 instruction sets.I've been carefully examining RISC, which has completely acquired citizenship, but has never written a program.I think some people have written a lot of assemblers, but the number of machines architectures is also innocent, and they live like a parallel world.

※『近代プログラマの夕』(ホーテンス・S・エンドウ著、アスキー刊)より

 とまあひたすら架空の命令ニーモニックは楽しいという調子で書かれていて、これとは別の回では「LOL」(大笑い)、「<g>」(ニヤリ)など、やはり、米国のパソコン通信CompuServeで見つけた略語なんてのも紹介していたりする。

Did the computer really ignite?

 By the way, the explanation of "Halt and Catch Fire" on Wikipedia is probably written in a half joke, but "HCF" was a completely fictional nimonic.

 The list of instructions introduced in this manuscript is also referenced in Wikipadia, and in the Note column, "Kevin Korb's Jokes: Assembler Opcodes That Shoud EXIST".Retrieved Decementer 13, 2016.It is posted as.

 This is exactly the list I found in the Programmer's Forum in COMPUSERVE in 1987.In the Wikipedia link, the credit is omitted, so it is likely to be misunderstood as the owner of this page, Kevin Korb, but it was announced by Jeff Diewald.

HCF(Halt and Catch Fire)

 : Stop and ignite

 I didn't mention this order in the manuscript because I probably wanted to write in a column.And that part seems to be missing in Wikipedia's explanation.

 私が、プログラマをはじめた1980年頃には、会社の中にパラメトロン計算機(1950年代に日本にだけ存在した論理素子を使ったコンピューター)を売っていたなんて部長がいた。当時は、大型コンピューターなどは、夏なら肌寒くて震えるくらいギンギンに冷房の効いたコンピューター専用ルームに鎮座ましましているものだった。要するに、コンピューターはとても高価であると同時に動作が不安定なので、最適な環境のもとで使うものとされていたのである。

 そのような中で聞いた話には、「女性オペレーターがナイロンストッキングで出勤してくるとコンピューターが停止する」なんてのがあった。私は、「本当?」と思ったが、パラメトロン時代の人たちからすると「なるほどそうでしたかぁ」なんて懐かしい感じの会話になっている(説明する必要もないと思うが静電気がわるさをしていたわけである)。

 HCFに相当する話は、そうしたふるい話の中で出てきたある現象に関係していると思う。それは、「メモリ上の同じアドレスに分岐する命令を書いたらコンピューターの回路が焦げてしまった」という話である。コンピューターは、本体メモリの中に並んだ命令を1つずつ順番に実行していくものなので、同じアドレスに分岐し続けるということは外側から見ると“停止”(Halt)しているように見える。

 However, since the computer is an electronic circuit, if it is used repeatedly only in the same place, the related circuit ignited with heat.

 こんなふうにして回路に火がつくなんて、矛盾する問題を与えたらロボットが目を回して“ボカン!”といって煙をあげるSF映画のシーンみたいではないか! 映画『禁断の惑星』(1956年)のロビーがまさにそんな感じだったけわけだが、人間の知能を超えるようなコンピューターにも弱点があるみたいな感じを連想させて楽しいエピソードだと思った。

 実は、ハッカー用語で有名なジャーゴンファイルには、そのようにしてチップが焼けるという説明もあるのだが、チップの時代よもずっと前の1950年代の話ではないかといのが私の意見である。米国の質問サイトであるQuoraには、まさに初期のコンピューターは保護機構がなかったのでプログラムによってとても簡単に部品が過熱して壊れてしまうといったことが起きたと解説している人もいる。私の先輩たちはそれを実際に経験したのかどうかはあやしい気もするが、そんなの当たり前という話なのかもしれない(ご存じの方お知らせあれ)。

 ところで、コンピューターの命令コードは、それ自体は単なる数値データである。かの時代の代表的なコンピューターであるIBM System/360もそうで、命令は1バイトが割り当てられているので256個の命令が用意できる計算になる(ちなみに頭の2ビットは命令語全体の長さを表している)。ところが、実際に必要な命令はそんなにはないから使わない命令コードが存在することになる。

 通常、そのような命令コードの割り当てられていないデータを実行しようとすると「演算例外」というエラーを返す(System/360の場合は、たしか“0C1”というエラーコードだった=40年も経過して覚えているなんてプログラマって業がふかい)。ところが、その後のマイコンの世界でアセンブリ言語でニーモニックの割り当てられていない命令コードに、いわば隠し命令として特定の動作をさせるものがでてきたそうだ。

 MC6800は、そうした命令コードとして“0x9D”と“0xDD”が割り当てられていて、同じアドレスに分岐するわけではないが、メモリを順番にすべて読みだすことをひたすらやるために操作不能になる。しかし、これは同時にハードウェアのテスト的な意味合いを持っていたようにも見える。正式な資料にはのっておらず、当然のことながらニーモニックも割り当てられていない。それを、勝手にHCFと呼んでしまっている(Wikipediaでは『BYTE』誌の記事へのリンクが張られている)。

On page 46-47 in the February 1977 issue of "Byte" magazine, there is an article called "UNDOCUMENTED M6800 INSTRUCTIONS".The cover of the byte magazine is cool.

 Anyway, there is a background in the explanation that HCF experts, which appear in the first episode of "Holt and Catch Fire", do not understand.Surprisingly, the title of Japanese, "Improvement Dreams and Ambition", is that the phenomenon and the air of that era are already consistent.

遠藤諭(えんどうさとし)

 株式会社角川アスキー総合研究所 主席研究員。月刊アスキー編集長などを経て、2013年より現職。雑誌編集のかたわらミリオンセラーとなった『マーフィーの法則』など書籍の企画も手掛ける。アスキー入社前には80年代を代表するサブカル誌の1つ『東京おとなクラブ』を主宰。『カレー語辞典』(誠文堂新光社)に名前で項目が立っているカレー好き。著書に、『近代プログラマの夕』(ホーテンス・S・エンドウ名義、アスキー)、『計算機屋かく戦えり』など。趣味は、文房具作りで2018年1月、Kickstarterのプロジェクトで195%を達成して成功させた。

Twitter:@hortense667Mastodon:https://mstdn.jp/@hortense667