Article View: fj.lang.misc
Article #203Re: casl programing
From: KANEKO Yutaka
Date: Fri, 19 Dec 1997 00:00
Date: Fri, 19 Dec 1997 00:00
42 lines
2797 bytes
2797 bytes
金子@仙台電波です。
pascalじゃないので、fj.lang.miscにふります。
<67bcn3$ee3$1@news.twin.ne.jp>の記事において
son-yt@po.twin.ne.jpさんは書きました。
>> 学校の課題で以下のようなCASLプログラムが与えられたのですが、
>> サブルーチン「INPUT」のところがよくわかりません。2行目のPUSHで
>> IN1がスタックに入れられているのですが、「INPUT」の中ではそれを
>> どう使うのかよく分かりません。どなたか分かりませんでしょうか。
略
学校の課題ということなので、授業中にスタックやPUSH, POP, CALL
などについてはすでに習っているはずですよね。そのへんのノートを
読み返せばわかるはずです。わからなければ先生に聞きましょう。
とはいえヒントを。
スタックとは簡単に言えばメモリの1部です。スタックがメモリ
上のどこのアドレスにあるかは、スタックポインタと呼ばれるレジ
スタに格納されています。INPUTの中では直前のPUSHでスタックの
中に格納されたデータ(番地)を取りだして、そこの番地に結果を書
き込んだのちRETすればいいのです。
問題のプログラムリストでは、PUSHのあとCALL INPUTをおこなっ
ていますが、いずれもスタックの内容とスタックポインタが変更さ
れる命令ですので、これらの結果、スタックにはどのような内容が
書かれているか、スタックポインタがそのときスタックのどこを指
しているかを考えれば、回答がでてくるかと思います。
しかし、問題を見ていると引数の受け渡しは当然マスターしてお
り、「10進数を2進数になおす」プログラムの作成が課題で求めて
いる内容のように思えます。だから、引数の受け渡しについてはこ
れより前の課題で教わっているんじゃないですか?だとすればまず、
前回の課題の内容をきちんと復習してからでないと、この課題がで
きるとは思えません。
double x,y,z=1.8;main(a,b){x=(time( /* 金子 裕(Yutaka Kaneko) */
0)%935)/472;while(!0){y=x;x=2-z*(x- /* Sendai National College of Technology */
1)*(x-1);a=(x*631);a%=78;b=(y*95);b /* kaneko@cc.sendai-ct.ac.jp */
%=24;printf("\033[%d;%dHx\n",b,a);}}/*Evanx08,Megax05,Escax07,Fushx16,WedPx07*/
Technical Details
Message-ID:
<67cvmb$ol$1@dp-cc.cc.tohoku.ac.jp>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<67bcn3$ee3$1@news.twin.ne.jp>Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: 10b195,4a5c3e7bcddcb316,start X-Google-Attributes: gid10b195,public X-Google-Thread: ff90a,1e206960117e9f0c X-Google-Attributes: gidff90a,public From: kaneko@ccedu.sendai-ct.ac.jp (KANEKO Yutaka) Subject: Re: casl programing Date: 1997/12/19 Message-ID: <67cvmb$ol$1@dp-cc.cc.tohoku.ac.jp> X-Deja-AN: 308491281 References: <67bcn3$ee3$1@news.twin.ne.jp> Followup-To: fj.lang.misc Content-Type: text/plain; charset=ISO-2022-JP Organization: Sendai National College of Technology, Sendai JAPAN. Mime-Version: 1.0 Newsgroups: fj.lang.misc,fj.lang.pascal