LDX - みる会図書館


検索対象: 月間ラム 1980年2月号
10件見つかりました。

1. 月間ラム 1980年2月号

L 日囲 朝 46 4D DI ZCHECK 朝 X 6 囲 1 07 21 26 日 69 DE 21 17 27 . LDßR 76 19 86 76 肬 IB , ル 86 38 印 38 12 18 4 IF 97 を口 C を 2 日 R #$F 託 % 繦 囲 87 4 日に E 熔 ERR20 BEQ BRfi LED 7946 ST 冊 [ 印 + 2 PRGE 隝 ST L 印 + 3 を 2 ERR 98 託 % E3 LDX CPX BNE 灯 XI E 灯 519 * L0 CI 府 ロ R5 託 % 95 繝 7 % C9 4F 97 26 9 C 4C 9 D 97 25 97 R2 STX LED STX LED+2 [ 囲日 IR 収 R 日 ST FG INCR ST 旺 IC 85 IE 27 92 22 86 26 74 26 . * R 0FF 71 冊 iJ LDX EG 26 CE 18 DISPDC LDX を 8 2D * + 4 DSCLR D 15P35 虧 EG + 5 DSCLR FREQ. COUHTER ( 6892 ) 74 6D 76 % 79 00iR 78 % 65 82 加 . 89 81 7E 日 6 94 7C 26 F6 6 C 84 8 92 を C91 % 32 88 36 19 6C97 26 印 95 84 F8 託 93 27 朋 日 7 隝 TST X 6 R4 CPX 響笠 6 + 7 B8E RI 朝 4,X DfiR LDRR 3 X LDRB 新 BLT CHPR C0 BNE R2 BEQ COW P 乢日 ST 3 8C0 T0 SE ト囲 T 日 2B 6D 朋 冊加 26 01 2F 36 97 R3 冊 34 97 日 2 25 1 ・ 9 18 32 25 胞 42 26 8D 相 R5 冊 EE 62 30 97 日 4 冊 3 日引 4C 26 冊 üD2R 1 F 冊 21 28 冊朝 F8 印 49 39 7 81 莅 助 46 48 前旺 35 44 TST BNE IHX 盟 SP OR DE 託 21 07 簡 OC 84 % 25 28 第 6C26 R3 23 79 97 25 38 98 新 36 34 2R 0C C4 87 託 33 印 32 iB 35 朝 26 F2 48 84 87 44 26 FD 朝載 71 3E % 97 催 8C43 LDX STX E 46 BRfi * 0 SERUISE 本 LDRR Ⅲ 0 R ST RRN6E 00E E 日 h0DE BPL 0 TSTB DB 87 LDRB KEY LDRR DE : ー 5 DELRY を 4 R2 FREQ. COUHTER ( 載 ) 9C01 囲花 [ 00P 628 19 26 FB を日 09 D5 24 0CD4 能 9 8 第 E6 % E4 2fi 8 2 25 EI % 94 5 CLI LDX CLR DEX PRGE EXIO 響旺 -1 印住 E LDRR ST 府 US ENR 柵旺 BPL 軸 4 BSR EXEC LED DISPLW * 日囲冊盟 LDX 0 虹 R ST E LDRR X ST LED L 囲日 1 ST 朋 LED + 1 LDX 2,X STX 圧 D + 2 日 L0 WR 7E BSR ZC}ECK RTS BHE DSCLRI 4C 7E , 0 % JhP 25 本一 1 臘 026 LOOP LDRR KE\' BNE DEX LDX FREQ. COUNTER ( 6 2 ) 新 99 朋 COW OCEE 26 印 F0 肬 4F 9 旧 % 25 F5 85 64 6 7 26 第 DEX BHE * ー 1 JSR EXTS [ 囲日 DE BITR 料 BHE 此 COWI 間 2 LDX L 囲 8 LD SEGO,X 5 1X1 LDX 冊ト 1 INX DE RTS BNE COHU 1 CPX 5 INX ST 朋 5E6 の X LDX 1 LDRB 0 R BNE COHU2 DEtB LD8fi X BHE 本 -2 FREQ. COUKTER ( 載 ) PfiGE 29 22 9 2 23 4 E 灯 5 印 X STX 2 0C4F CE 肪 E 灯 5 LDX 本 EXTENS 10H * 83 94 4 0C 兜 % 94 % 12 8CB3 旺 21 6C81 % 隝 日 F 8R 肬冊 26 0C 5fi 0C 冊 26 FC R7 朝 8C 日 6 CE OBFF 0C 日 2 4C DF 21 8C 8C 6 F 0CB5 日 7 12 39 9 C6 記 DI LH 9 8 載 FD 26 載 町 TR ・ 2 BNE 裃 4 6 C6 99 何 SPFQ [ 囲 8 要 9 ~ 6 21 託 66 63 5C 44 44 5R 44 59 44 8 16 STX 1 TRB LSRR LSRR LSRR FREQ. 謝 T ( お % 2 ) PRGE 34 6 囲 4 11 9 9 DI 21 6 囲 B 27 6 囲 F 27 F6 8 囲 7 13 48 STRB 盟 CLRB LDX ー 6 ト 1 15 1 ChPB 1 0 5P22 8E0 15 5P21 RSLR 印 4E 6F 51 部 Fi 53 26 92 57 69 58 39 冊 4D 朋 冊 59 % 25 E9 6F 5B 44 5C 25 第 67 26 24 印 65 DE 63 部 61 部を 印 5F 25 印 5E 44 69 旺隝 CLR X INX BSR ZCHECK BHE 軒 4 CLR X DEX 託 5 FREQL EXEC 印 HODE DSCLRI RTS 本 DUTY-CELE * 5 P 乢笠 0C C4 8F 5F 匠 23 6C61 R7 86 67 DF LSRR IHX IHX LDX 2 ST 5E6 X ST 朋 5 新 X 以 2 FREQ. COUNTER ( 6 2 ) PRGE 97 本 I ⅱに E * 8CBE CE 3F3F 1 T LDX 3F3F 冊 14 C8 16 匹冊 96 25 馴 88 BGT SP 幻 日 5P35 5P26 LDRR 匠 LDX BHE LbX PYT BUF 鬪 F + 2

2. 月間ラム 1980年2月号

表 3 メモリからレジスタへ 1 バイトのデータを転送する命令 これらは先月号のムープ命令と同様に , オペランド のコンマの右側から左側へ転送することを示します。 そして B2 には転送したいデータを 16 進数で書きます。 たとえば A 0 H というデータなら , MOV A, OAOH というように書きます。データの上の桁が A ~ F で始 まる時はその前に 0 をつけて 16 進数であることを示し ポインタ プログラム カウンタ プログラムカウ ンタの指示する 番地の内容 レジスタベア M, A ーモ ニック MVI LDA LDAX MOV オペ ランド A,B2 B3 B2 「 p A,M 説 明 アドレス オペコード 3 A 57 13 ーモニック L D A オペランド 1 3 5 7 H 呼び方ムープイミディエート (MoVe lmmediate) 機能 ( A ) ←く B2 〉 2 バイト命令 1 バイト命令 機能 (A) ←〔 (H)(L) 〕 memory) (MOVe from 呼び方ムープフロムメモリ 1 バイト命令 機能 (A) ←〔 (rp) 〕 indirect) (LoaD Accumulator インダイレクト 呼び方ロードアキュムレータ 3 バイト令今 機能 ( A ) ←〔く B3 > く B2 〉〕 direct) (LoaD Accumulator ダイレクト 呼び方ロードアキュムレータ 図 15 LDA B3 B2 のコーディング例 LDA B3 B2 ます。 LDAX rp この命令でレジスタベアとして指定できるのは , C と D E だけです。 H L の時には , MOV A, M B この命令ではひとつ注意しなくてはなりません。そ れはオペコードの書き方です。この命令をコーディン グする場合 , 2 バイト目と 3 バイト目には転送したい データの入っているメモリ番地を書くのですが , 上 2 桁は 3 バイト目に書き , 2 バイト目には下 2 桁を書か なければなりません。ということはメモリへプログラ ムを書き込む時にこの順でなくてはいけないというこ とです。これは C P U の動作や構造として決められた ことなのでしかたありません。まちがえないように しましよう。例を図 15 に示します。 5 メモリとレジスタの間のテータ転送 ( その 2 ) 今までは , A レジスタ←メモリ という転送命令を見てきました。今度は逆に A レジスタ→メモリ という転送命令を見てみましよう。表 4 に示します。 表 3 と比べていただければ対応関係がよくおわかり になると思います。表 3 の M V I に対応する命令はあ りません。 1 バイト転送には , 先に述べたように , A レジスタ 以外を相手にした命令があります。それを表 5 に示し ます。これらは説明するまでもないでしよう。 1 バイト・データの転送の最後として , レジスタ相 手ではない転送命令を示しておきましよう。 ーモ ポインタ ニック プログラムカウン タの指示する番地 STA オペ ランド B3B2 説 明 こで M というのは H L レジスタベアで を用います。 指示されるメモリ番地の内容のことを示します。 B C レジスタベアで指示されるメモリ番地の内容を A レジ スタにいれるには , LDAX B というように B だけで B C レジスタベアであることを 示します。 では , なぜ H L レジスタベアをポインタとする時に は別の命令を使うのでしようか。それは H L レジスタ ペアの特典によるものです。 B C と D E をポインタと してデータを転送できるのは A レジスタ相手の時にし かできません。ところが , H L をポインタとした時に は A ~ L のどのレジスタを相手にしてもできるのです。 48 の内容 レジスタベア STAX MOV 呼び方ストアアキュムレータ ダイレクト ( STore AccumuIator direct ) 機能〔く B3 〉く B2 〉〕← ( ) 3 バイト命令 呼び方ストアアキュムレータ インダイレクト ( STore Accumulator indirect ) 機能〔 (rp) 〕← CA) 1 バイト命令 呼び方ムープトゥーメモリ (MOVe to memory ) 機能〔 (H)(L) 〕← CA) 1 バイト命令 表 4 レジスタらメモリへデータを転送する命令 ( 転送されるデータは 1 バイト )

3. 月間ラム 1980年2月号

冊 79 部 , P 乢笠 BSR 覊 27 . 花 29 , 72 86 冊 E 6E 區 印 65 助 74 % 73 76 花 iF 朝 99 L 囲日 IWJ ST 町 1 匪 23 DF 21 ST + 4 L 囲日 DRTR 0F 田囲 JSR 0L2 JhP E 29 い冊 73 LDRR 60 P 乢 SE ル学 冊 50 52 g 2 26 冊 , 84 花 26 FREQL8 CLP FG を囲 7 % 94 3 囲 9 部 部 84 OF BNE FREQH 朝 CLERR BSR BSR L 囲日囲囎 臘冊 T 1 BNE RECIP LDRfi CLERR 印隋冊 E 朝冊 E 虧第 PY0 LDRR !HU BSR RECIP * F / T 鬪 F * OFFC 囲 FFE 旺 FDB FDB 區朋隝 0 鼬 匪 13 HhI 匪 % 99 匪 18 97 冊 9E16 匪 14 26 F7 6E11 催を 9 8EiE 9 日 3 99 匪 21 IF 97 を 9 匪 C4 0F OEIR % % 0 Ⅳ 1 を 0 Ⅳ 9 を LDX DIUIO 朋 DT [ + わ X 5 此 8 T X RHDB €$F 5 孺 DTC BHE 印 F LDX STX LD* STX FREQ. COUNTER % 2 ) ロ囲 91 を乢 3 26 冊 % 94 託 % 99 C2 D2 部 1 託 9 BUF CO 新 7C 能 26 FREQLi INC F6 を 9 を 3 70 冊 LDX FREQ. COUNTER ( 礼 6 2 ) 冊 C6 を 4 加 82 64 39 印 80 26 F3 8C 5 日 印 66 34 印 66 を 3 % 66 を 2 94 66 町 冊 9E 39 % 97 98 2R FC 冊 94 % 93 92 % 97 冊 64 23 ODRF 39 97 冊 84 8F 日 9 % % 9 7 97 82 前 R5 % 引 6 3 DF 隝 DE 92 7fi 24 冊 62 3C 9F EF い冊料 PLi8 [ ROR R0 を ROR BHF PUT PRGE i,X 2 , X 3,X 4 PLi8 匪 25 DE 8E 匪 27 DF 29 DE FREQ. C 側訂 E を ( 62 ) DF 匪加 97 Ⅱ 匪 5F STX C 課 3 LDX SEC + 2 PULSE- 0 C 訂学 新 SP 0 P35 32 5 0 OCFF FREQLI 印 C5 FREQL FREQ25 FI Fh0DE E 灯 516 9 4 EXEC ERROR E E 1 を DTC C は DIU90 0 Ⅳ 50 0 4 を PY8 LDRR 歸 00E L 囲日 6 訂 E 印朋 RERDY 朝 ST 肝 US BPL Pii 6 E RTS 2 助 4 C6 71 62 印囲 % 95 ODEF % 64 印 82 8DEB 27 C7 E9 91 冊 E7 34 F E5 % E3 % 97 EI 26 印 印田 69 冊 DF 1 9 冊囲 % 97 6 24 FREQL2 朝 日 FREQ25 本 FREQUENCY HIGH * FREQH [ 0 F"ODE OR 1 RNDR #$F LDRß囲 GRTE BHE * -1 DEX HOP LDX 要 6249 LDRR GRTE L 囲 8 料 BEQ FREQL8 EHD 26 4F を C28 を口 F 冊 61 龜 E49 匪 36 託 9E 94 IRQ 秋 EQL2 FRECL8 84 FREQH FREQZ F4 FG E 灯 5 EXi0 ERR40 ERR20 DU 眄 t 課 1 印 53 DIUEND 5E 0N41 0 間脂 SP 円 盟 SP 冊 26 0 P21 冊 盟 5P15 を 7 DRTR COWi CLERR I 翹こは冊 IRQ28 3E 9E32 CE 6 5 0 Ⅳ 46 35 ・冊 能誌 0 Ⅳ 41 朝 E38 日 9 記 匪 19 38 R7 匪 3b を 9 26 % 能朝 17 を E 引引 匪 43 19 を E44 炻 を E45 CE を 5 盟リ 53 印 - し X 冊 DTC-I,X DRR ST - し X 学 P 此 SE Ⅲ COUHT * & 豫 SF 本 本 FI を 1 FREQ25 LDX FREQ, COUNTER ( 札 6 朋 2 ) DEX TBR LDX 5E0 DIU 門 PYT 11 6,X 5,X 4,X GRTE KEY L00P NhI P 弡 賭 E R2 E RECIP 5E6 5GDT 豫 5 灯 X2 9 2 45 匪 21 4 日 印 72 8C 59 95 97 96 毬 13 9 2 86 99 LED h0DE PLI を L PW8 PWT ROUND 貶 fi R4 RI STRTUS 朋 25 82 79 船 92 朝眄 F 12 71 託 74 BSR LDX STX ST 朋 BUF RTS ST F + 1 LDRR F + 2 囲 Tfi + 2 07 19 F4 68 % F6 ら 9 を 5 F8 69 94 田 69 8bFC 69 を 2 匪 97 引 冊 32 C4 引 0E86 託 1 を 弡 39 匪 63 26 EF 8E 69 朋 ODFE 引 FREQß RSL ROL ROL 2 ROL DE BNE RTS F & 22 ST BUF RECIP 朝 * RECI PROCRL * 匪 31 を E48 9E49 R6 託 4B 日 9 歸 40 4E を 9 4F 26 F8 匪 51 4D 9E52 2 日 DE 54 DE 21 5C 26 C3 59 27 56 日 匪 5E 39 匪 58 舮 FÉ DIU51 LDfiR ーし X RDCR DTC-I,X BNE D Ⅳ 51 TS 囎 8 DIV40 LDX 1 ST BUF BNE 0 % CPX # 7 FREQ. COUNTER ( 6 2 ) PRGE 14 23 UECTOR 8FF8 YKIXI 21 ?CHECK 44 * FREQUENCY LOY 冊 % 26 FREGL LDRR FG FREQ. COUHTER ( % 2 ) P9GE 旺 RTS * UECTOR 事 0 $FF8 8F 島 2 日 UECTOR 印 3 IRQ FbB TOTRL ERROR 87

4. 月間ラム 1980年2月号

ーモ オペ ック ランド アドレス 1231 A 1 A 2 1232 A 3 1233 A 4 12 説 明 ポインタ 0 0 0 0 P C A 1 0 1 2 B D 1 2 1 2 H 呼び方ムープイミディエート ( MoVe lmmdiate) 機能 ( r ) ←く B2 〉 2 バイト命令 プログラム カウンタ C 3 1 E 3 2 C P U MVI B F 12 呼び方ムープフロムメモリ (MOVe from. memory) 機能 (r) ←〔 (H)(L) 〕 1 バイト命令 メモリ MOV レジスタベア 図 16 演習問題 2 CPU とメモリの状態 呼び方ムープトゥーメモリ (MOVe to memory) 機能〔 ( H ) ( L) 〕← ( r ) 1 バイト命令 表 5 A レジスタ以外のレジスタを相手にした転送命令 ( されるたタは 1 ハイト ) 送 ー先 転 MOV オペコード ーモニックオペランド アドレス ① ) A, 0 0 0 0 3E C6 MVI ② ) 0 0 0 0 メモ C6H を A レジス タへ入れる LDA 12 H 命令オペコード C D E H L A B MVI M,B2 36 26 2E OE 16 IE 3E 06 MVI r,B2 LDA B3B2 56 5E 66 6E 7E 46 4E MOV r, M STA B3B2 転送されるデータの入っている所 r LDAX B A B C D E H L LDAX D 72 73 74 75 77 70 71 MOV M, r STAX B 表 6 今月出てきた転送命令のオペコード STAX D D E レジスタベ アの示すメモリ 番地へ A を入れ HL レジスタベア の示すメモリ番 地の内容を A レ ジスタに入れる。 ③ 0 0 0 0 STAX 12 < 2 2 00 0 14 0 1 人 ④ 0 0 0 0 図 17 演習問題 2 コーディングシート から , 波線の引いてある所を書き足して完成させ て下さい。 MVi M, B2 呼び方 ムープトゥーメモリ イミディエート ( MoVe to memory I 機能〔 ( H ) ( L ) 〕←く B2 〉 2 バイト命令 あ 0 りに 今月は転送命令のうち , レジスタ間の 2 バイト転送 と , メモリとレジスタの間の 1 バイト転送について見 こはプログラムの勉強における第一関 てきました。 門です。メモリの番地指定のやり方を理解することは コンピュータ的思考方法を身につけることになります。 頭の混乱にめげずに理解する努力を続けて下さい。御 質問等は編集部を通じてお寄せいただければ誌上など 適当な方法でお答えします。 来月は予定とは少し違うことになりそうです。一応 , 2 バイトの転送をすべて説明し , 演算命令までは進む もりですが , フラグに関する説明をできるかどうかわ かりませんので御承知おき下さい。フラグについては ※演習問題 2 ※ 再来月になるかもしれません。 図 16 のような状態になっているマイコンがあり では来月まで。 ます。この時 , 図 17 に示したそれぞれの命令を実行 ( TI 0 ′加 ◎参者文献 した直後 , C P U 内のレジスタ , プログラムカウ 大川善邦著 , ンタ , メモリの内容は , どこがどう変わるでしよ 「マイワロコンビュータブロクラムの作り方」 , 産報出版 うか。 N EC, ワ CoM ー 85 ユーザース・マニアル」 また , 図 17 のコーデングシートは未完成です 松本吉彦著 , 「私だけのマイコン設計 & 製作」 CQ 出版 , 「 R A M 」では 3 月下旬に「続マイコン基礎講座」 ( 小黒正樹著 288 べージ ) を刊行します。この本は 8080 機 を徹底的にわなりやすく解説いたします。上の連載と合わせあ読みいただければ機概語はあなたのもので す。 これはレジスタベアをポインタにしたものです。 今月はここで終わります。表 6 に今月出てきた転送 命令のオペコード表をのせておきます。活用して下さ やってみて下 下に演習問題を出しておきますから , 49

5. 月間ラム 1980年2月号

遜明キャッフ。 6 «—AT N と 書いた細なし。 イメ 一番上キー 右立岩の列の で画面に「にわとり 1 号」が起動したことを知らせるメ し込んで下さい。配線に間違いがなければ , 電源オン と紫外線に注意して , 先月号で増設したソケットに差 ず御了承下さい。 PROM が手許に届いたら , 静電気 付き」のまま送るわけにはゆきませんので , 悪しから 頃になると思います。遅れて申し訳ありませんが , 「虫 間が必要なので , 皆さんの手許へ届くのは次号の発売 図 15 キーに名札をつける 番タト編 クリアプログラム ( ただし FCOC ~ 刊 F 刊 F だけ ) った時にキャリーを見てループをぬけ出すようにつく ンデックスレジスタの内容が F F F F から 0000 に変わ つまり問題のプログラムでは I N X をくり返し , イ ければいけないのです。 きます。このプログラムは正しくは図 1 7 のようにしな はありませんでした。問題をもう一度図 1 6 に示してお 「ダイクストラ先生もがっくり」という感じで , 正解で 1 通のみ ( 石井義人さん ) でした。石井さんの解答も 昨年の 11 月号の宿題の解答は , 前記しましたように 2 表 1 キーポード用へッダーピンの⑦ピンと P I A の①ピン ( CA 2 ) をつなぐ。 P I A@, @ピン間のジャンバを切断する。①ピンに 接続されていたワイヤ ( CPU の - 〒 - 0 ④へつながっ ている ) を⑦ピン (TTQ ・ B ) につなぎかえる。 P I A@ピン ( 丁て A ) と c p U ⑥ピン ( N MI ) をつな ぐ。 P I A ①ピンと AQ—51- 口をつなぐ。 ( AQ— 51 ーロ側は ハンダ付 ) アテンションキーをつけるための c p U ボードの改造 ッセージが表示されます。 次夛 , 次々号で , モニタブログラムを使ったカセッ トインタフェイスのテスト , 調整などや , モニタの内 容の勉強をすることにしましよう。どうも A ー 1 のオ ーナーはソフトウェアに弱いようで , 宿題 ( 79 年 11 月 号 ) に対する解答はまだ 1 通 ( 79 年 11 月末現在 ) しか 来ておりません。 「 A- 1 が泣いてますがな」 ( S ん M 00 ん 0 ) られています。しかし ' 79 年 2 月号の命令セットの項で も説明したように I N X や I N C , I N C A, I N C B 命令などではキャリー ( C ビット ) はまったく変化し ません。したがって I N X を続けてインデックスレジ スタの内容が F F F F から 0000 に変化した時点でも C = 1 とはならないのです。したがって問題のプログラ ムを実行させれば , CLR 命令でいつもキャリーがリ セット ( C = 0 ) されますから , メモリエリアを 00 に するループから脱出できなくなります。そのうちプロ グラムの入っているエリア ( F C 00 ~ A ) も自分でこ わしてしまい , このループから脱出 ( というより暴走 ) 下 COO FC03 FC05 C06 刊 C08 FCOA 6 08 25 20 COO FCOC 02 F9 ORG LDX # MAIN CLR -INX BCS BRA ENDL BRA $ FCOO $ FCOC 0 , X ENPL MAIN ENDL 図 16 11 月号の宿題 クリアプログラム ( ただし FCOC ~ FFF だけ ) FCOO C03 C05 FC06 C08 CE 08 26 20 FCOO FCOC FB MAIN ENDI., ORG LDX # CLR INX 月 NE BRA 図 17 $ COO $ FCOC 0 , X MAIN ENDL 解答 ・刊 COO からスタート ・ # $ FCOC—・一→ IX ・ X 十 1 ーーーーーーーー→ I X ・ C = 1 なら終わり ・ MAIN へジャンプ ・ C00 からスタート ・ # $ FCOC—»IX ・ X 十 1 = 0 なら終わり することになるはずです。 乱数の宿題の方はモニタブ ログラム内に含まれているサ プルーチンを使って , 次号か 次々号あたりで解決すること にしましよう。 63

6. 月間ラム 1980年2月号

です。そして , です。 XCHG 3 レジスタ間のデータ転送 ( その 2 ) 先月号の 1 の続きをやりましよう。レジスタ間の データ転送のうち , 1 バイトすつのものはムープ命令 ◎ 2 バイト・データの転送 ポインタ プログラムカウンタ プログラムカウンタの指示 M B2,B3 スタックポインタ レジスタベア する番地の内容 命令 MVI A B2 LDA B3, B2 LDAX rp MOV M なし 2 バイトすつのデータ転送が次のもの ーモニック 呼び方工クスチェンヂ (eXCHanGe) 機能 (D) (E) ← (H) (L) 1 バイト命令 オペコード EBH から A レジスタへの転送命令を表にしたのが表 2 です る分類 ( 先月号の図 8 による分類 ) に従って , メモリ まず , メモリ内のデータを指示する方法の違いによ ジスタの場合を見てみましよう。 先 , あるいは転送されるデータの入っている所が A レ そういうわけで , ます 1 バイトの転送として , 転送 ラムがうまく働く , ということです。 A レジスタと H L レジスタベアをうまく使えばプログ ムによく使うということを示しています。逆に言えば , このことは A レジスタや H L レジスタベアをプログラ レジスタベアは不公平に甘んじなければなりません。 ータ転送では H L レジスタベアが特典をうけて , 他の てふたっくらいの手段しかありません。 2 バイトのデ 手段がありますが , 他のレジスタにはひとつか , 多く A レジスタへ入れたり出したりするのにはいろいろな ています。つまり , 1 バイトのデータを転送するのに る命令を見てみましよう。こでも不公平が行なわれ り , C P U のレジスタの内容をメモリへ転送したりす 今度はメモリの内容を C P U のレジスタへ転送した 4 メモリとレジスタの間のテータ転送 ( その 1 ) しましよう。 ていくと思います。この記事の中でも折があれば説明 しようが , プログラムを数多く作るうちに疑問は解け んな不公平な命令があるのかという疑問が出てくるで のような手順をふまなくてはいけません。どうしてこ ん。ですから , 他のレジスタの場合は , 先の演習問題 です。他のレジスタどうしを交換する命令はありませ しよう。 D と H , E と L の内容が入れかえられる命令 これは転送というよりも , 交換といった方がよいで 注 ) ポインタ : 転送されるデータの入っているメモリ番地を 指示するもの : 2 バイト命令や 3 バイト命令の 2 バイト目や 3 バイト目の内容 : レジスタベア : H L レジスタベアで指示されるメモリ番地 ( 本文参照 ) 47 MOV A, M MVI A, B2 表 3 に一覧表として掲げます。 ◎ 1 バイト・データの転送 次に表 2 の右側の各命令を説明しましよう。 す。 して , そのアドレス内容の転送を行なうというもので これはスタックポインタの内容をアドレスパスへ出 スタックポインタをポインタとする転送 そのアドレス内容の転送を行なうというものです。 これはレジスタベアの内容をアドレスパスへ出して , レジスタベアをポインタとする転送 出し , そのアドレス内容を転送するというものです。 C P U の中にもってきて , あらためてアドレスパスへ ことです。つまり , 2 バイト目と 3 バイト目を一度 令の 2 バイト目と 3 バイト目がポインタであるという これは , 言いかえれば , 3 バイト命令である転送命 タとする転送 プログラムカウンタの指示する番地の内容をポイン 2 バイト目が転送データであることを示します。 言いかえれば , これは 2 バイト命令である転送命令の 地の内容を転送データとして指示することになります 法です。つまり , オペコードの入っていた次のメモリ番 この時のプログラムカウンタの内容をポインタとする方 タの内容がひとつ増えることは先月号で説明しました。 C P U がオペコードを読んだ後 , プログラムカウン プログラムカウンタをポインタとする転送 て説明します。 この場合 4 種類ありますが , まずこれらについ ということにします。ポインタは表 2 の左欄に示すよ 転送先のメモリのアドレスを指示するものをポインタ 転送されるデータの入っているメモリのアドレスや インタの種類によって分類したもの 表 2 メモリから A レジスタへテータを転送する命令をポ

7. 月間ラム 1980年2月号

1 丁 Y 0 . P 20m/ “ 0 タイマー 出力 END ? ビットカウントー 1 右シフト オペランド オペランド アドレスオペコード ラレ ニーモニッワ ニーモニック 8 2 C 9 D3 第 A 日工 . ? E00 V-RAM START ADR SET B 16 D. A. 0 一行の数をセット ( 32 文字 ) AO C, 20 CD D 0 2 D B. 02 CR, LF 数をセット出力 8 2 DO 0 5 CR, LF CA D8 8 2 A. 1 D 上段をセット 1 ″ ( フラグセット ) 4 1 第 8 5 A 7 5 C3 C9 8 2 out out 8 D 8200 C 1 コード変換テープルセット 9 DI A ← M A C9 8 2 0 F5 1 C 5 DE E6 CO 2 out 1 FE 00 4 6 CA 0 6 8 5 FE 80 9 8 0 B CA 0 B 8 5 E 0 6 5 E 8 2 ー 0 5 A A7 8 5 5 B8 B ← -CR. L 数セット 4 CA FE 8 2 CR, LF out. SUB 7 7 8 C. 20 一行の桁数セット 8 3 2 A7 8 5 C D CO 8 2 B A, CR E CI out A. LF 8 5 0 0 E6 2 CD CO 8 2 5 C9 D. E 0 6 1 D 8 5 0 6 B. C C3 ー 0 8 2 8 5 0 B 0 6 3 6 C3 0 8 2 4 0 オペコード アドレス ラベル 8 2 8 0 21 0 0 7 E START も X I 0 E 2 0 5 MVI 0 6 0 2 5 MVI CD B 2 8 2 CALL 3 E 1 D A MVI C 5 2 A7 8 5 SDAX CO 8 2 CD CALL 11 0 0 8 2 8 2 9 2 L X I 5 7 E MO V 6 E 6 7 ANI MOV L D AX CD E 0 82 A CALL D 2 3 INX E 7 C MOV E 8 0 F CPI 0 0 51 8 2 A 1 CA J2 4 0 D D C R 9 2 8 2 5 C2 JN 名 0 6 01 8 MVI B 2 8 2 A CD CALL D 0 E 2 0 MV I F C3 9 2 8 2 JMP 8 2 B2 5 E 10 MVI 4 CD CO 8 2 CALL 3 E 0 4 MVI CD CO 8 2 9 CALL C C9 RET 8 2 CO D 5 TTY.out. PUSH 1 C5 PUSH 2 0 6 0 8 E 6 3 F 4 ANI 6 C 6 4 0 ADI 8 17 RA L out MVI CALL DCR RA R JMP POP PO P RET PSW TI'Y, 0 1 . PUSH PUSH A NI CO C PI 0 0 8 0 C PI JZ MVI B ←下段 LDAX C MP MO V SDAX 0 UT CALL POP PSW POP A NI 3 F OUT CALL RET MVI B, 上段コード JMP B, 中段コード MVI JMP TIMER END ? シフトコード検出 . マスク 下段 ? DISPLAY ,END, ADR ? フラグセット 改行 , 復帰 ・い ビットカウント値 マスク ストップビット追加 スタートビット追加 タイムしはル ) の決め手、 それはメカかさ。 タイム L ( ェル ) はクラウンの技術陣が開発した、 最新鋭の一 C ライターと、超高精度のクオー ツウォッチがジョイントされた、世界で初め てのコンビネーションライターです。 月・日・時・分・秒・午前・・午後をデジタル で表示します。談話中でも、煙草に火をつけ ながら、さりげなく時問を確認できます。 クオーツ時計付き℃ライター 0ROW2 TIME-L "PARTS LIST FOR 引 ME ・い ラつライ一 定価 2 町 08 円 ~ 5 08 円 93

8. 月間ラム 1980年2月号

1540 FOR 作 1 T0 16 : 鬮 RS X,Y 1550 C 5 V,Y: 円訂脈 E 87 : HE 23 POKE ?DFFH;03H: 間 22 2 イ 0 FOR Y:I T0 50 ・ NEXT Y: RET 3 間 tURSOR し 14 : INPUT 当ヂ ト Y 第れ叩 $ 3 訓正 Y ミ THEN 10 3 IF くド THEH 2500 500 LET P:T: LET 2 : 1 町 ( 5 / T ) : L ET R:P 930 RETURN 10 LET 1010 IF 10 に THEN 1030 間 20 PRINT 1030 LET h:J-IHT( J / 2 ) 糶 1040 IF 1 THEN 1070 1050 P 訂ヨ 1060 印冊 1080 10 間 PRIHT ヨ 10 ト 3 THEN RETURN 12 LET C : 8-327 臼 + 1 12 正 B く : 3276 ト THEH 1230 u10 印 T0 1010 1 LET J=IHT(J/2) 1090 LET I + 1 1230 LET C=A + B に創印に 40 15 的 CLEAR : LET X : 1 む に間旺間熟 に LET R : ト躯 R 球 貶 50 LET 84 12 朝 LET 2 1510 FOR Y=I 刊 16 : CURSOR X,Y PICTURE 新 1520 NEXT Y 1530 LET X 謝 -2 : LET リ : X + 2 円訂 E B7 530 IF P:I THEN 570 540 LET P:P-I : LET R=R+P : 印間 570 LET R : R ま 2 : LET iJ=R 590 6 石囲 12 6 圓 LET H : 25 + 5-1 610 LET Z + ( 24-5 + い 620 正 Z<:H THEN RETURN 630 LET Z:Z-H-I 640 LET Z : Z + ( 24-5 + トい + 0 650 LET H:H-Q : 印 T0 620 8 LET :Z+ ! 810 LET Z=Z-8 330 正 Z)8 THEN 0 832 RETURN 9 的 LET Z:Z + 1 引 0 LET Z:Z-6 920 IF Z)6 THEN 引 0 530 1560 LET X : ト 2 : LET いリ + 2 1570 正 X02 THEN 1540 25 CLEAR : 引 . : ま的 POKE ?DFFH,02H 印 5 2100 1600 印 5 2 的 0 1590 5 眄囲 2100 15 印 5U8 2 0 URH を鸛ケ 7 タう既 ? 1010 〇 ラケ 7 ナタ 〇 フフフこれ ネズミタイジも 能率アッフ。だ′ 0 RET RUN SDA LDA RST 実行例 2 EX-80 ライフゲー乙・プログラム ・謙ー ( 河内長野市 ) ) タン引び ) 溿こ第 KEY 野うタイ 実行例 1 てライフグー乙をつくったこと ャラワタ・ティスフレイを使っ さて , 私は以前 , 16X32 のキ の例を示しまヴ。 の処理ガ終りまヴ。図 2 に , そ に対して同時に適用して 1 世代 以上の規則をヴべてのマス目 るというものてヴ。 央の空白に新しい石ガ生成され し , らようど 3 個であれは , 中 または 1 個以下てあれば , 死滅 次の世代に生き残り , 4 個以上 または 3 個てあれは , その石は 1 ライフゲー乙の規則 石は次の世代に生き残る。 まわりの石は 3 個なのて , 中央の C ←ー 図 3 D ↑ 5 ↓ E F B 7 3 ADR R I C RDC WI C ☆ライフゲー乙とは ? ☆ ライフゲー乙は . 1 967 年にケ ンフリッジ大学のコンウェイ教 授によって考案されました。ラ イフグー乙は , グー乙と呼ぶよ りはシミュレーションに属ヴる ものて , 人間は最初に石の配置 を決めるだけて , 後はコンビュ ータガ単純な規則に従って石を 生成・死滅させてグー乙を進め ていきまヴ。 その規則は , 図 1 のように対 象としている石 , または空白の まわりの石の数を数えて , 2 個 キーボードの使い方 〇 〇 〇〇〇 第一世代 図 2 〇 〇 〇〇 〇 第 2 世代 ライフゲー乙の 1 例 ( グライダー ) 〇 〇〇 〇〇 第 3 世代 ガあるのてヴガ , 画面ガ小さヴ きて大型の形を描くことガて きませんし , ハターンガ壁に衝 突して崩れてしまい , いろいろ な図形を最終状態まて調べるこ とガてきませんてした。 幸い , EX ー 80 のクラフィッワ は画面に表示されない部分も含 めると 32X128 もありまヴのて , ガなり大型の形ても動ガヴこ とガてきまヴ。 ☆ゲー乙の遊び方☆ ます , EX ー 80 の BIT-CHAR ス イッチを日 T 側に , アドレス切 左端が F 型はたは R ) べントミノ , 他は 5 ー 5 ー 5 ー 5 ー 5 ー 5 ー 5 の変化を撮影したもの 全国版のマイワロ・マイワロ情 改隍知らすの PET ! ? ・・・・・・アドコ I 、ツ ( 〒 617 長岡京市天神 3 ー 7 ー 26 0 / 5 ー 939 ー 5231 ) ては、 PET 用送風ファン を全国の西武百貨店マイコンショッを通して販売しまヴ。あ手持らの PET に改造なく簡単に取り付け可能。 127

9. 月間ラム 1980年2月号

り換えスイッチを 8800 田 7 FF(Z 切り換えてガら , 8200 番地ガら RU N してください。画面は暗 くなり , 中央右下よりに点滅ヴ るビットガ現れまヴガら , キー ホードを 3 のように操作して 初期の石を配置しまヴ。 5 のキ ーを押ヴと石ガセット ( ヴてに 石のある所てはリセット ) され まヴ。 配首ガ終ったら , W ー C のキ ーを押してください。百らにゲ ー乙ガ始まりまヴ。 大きなハターンを描く時は , 最初にビットの点滅ヴる位置を 中にしてください。逆に小さ なハターンの場合は , 8207 7 E → 55 8209 1 E → 1 A と変更ヴれば , ほは画面内のみ の処理となり , 少し速くなりま ヴ。 ☆プログラ乙の説明☆ フロクラ乙は , 要最小限の 簡単なものて , 特に説明の要 はないと思いまヴ。 サフルーチン田 T は , EX-80 のクラフィッワ表示を有効に利 用ヴるためのものて , x 座標と Y 座標を D と E に入れて CALL すると , 番地を H L に , ビット ハターンをアキュ乙レータに入 れて返しまヴ。 ◎参考文献 「別冊サイエンス ; 数学ゲー 乙いマーチン・カードナー 著 , ー松信訳 日本経済新聞社刊 「日 A MJ 79 年 10 月増刊号 「マイコン・ソフトウェアつ くりの秘訣』 匸 : ロ国「・ 1 ロエ旧 F. : E 引コ F 科旧 F : E L I モ : F. 旧 F, : * ・ RMLISEMENT . LL' ト 4HR LR ト 411ER BL 印 : : に .- T 日匸 : ト : : SF ・ HC:E 日 F を SPHCE THLK,••••.SF'HC.E FIGHT BRSEBHLL TF : E ト← 2 目目 1 ミ EE ミ印 4 、 JLIMF ・ 引」・ 1 日 F : INE IN%,•'HIIER 引」 PER らロ円口にリ LfiNIl SLIIIE BR I ロ ( モ : F, : E 日に PET CCINC.ENTRRTICIN 」 PER EÜldL I ト F ・ ET SLÜT MRSTER 円 I ト扣 引」 F'ER I ト 4VHElER TIC TFIC TCIE F.CITHTE CITHELLÜ THRGET PCING CIFF THE LdfiLL DERTH STFR F.EVER.SE BI CIRHYTHM IlF'.HLd PCiR.K.EF.' LFCI SHCICITING GLIES 三 I ト印・ IE CHR RHC:E ロ LdL 工ト 日旧 IC:HIIE 〔 : ロト 4 匸 : ENTR 日 T I ロト 4 GCILF 引」 F ・ ER P..ÜLILETTE PI 匸 : に LIP SLCIT ら印 IE 〔旧 T & RFIT ・ F ・ F : 創 3F : 日「・ ll ト日工Ⅱ : MHCHINE L 日 N ら . MCINITCIR IIISF.S.SEMELER 日 :i : I 匸 : モ旧 SI 匸 : L I N に印 3E F ・ F : ロら F 旧円 PET H.SSEME',LER SQLIIGGLE EF.:CII•INIHN 「・ 1 ロ VE ・ E L 『日 TI ロト旧 L TR I 「・旧 TH TEHCHER 〔 : 日 L 匸 : リ L 日 TI ロト 4 F 旧 F 旧 MRTF..IX JYLIKRI ト :I 」ト犢 E に I L4R I TE TCI F.:EHII TfiF ・ E MPL—EIL31 目 3 ” 1 13 目 14 " 15 目 1 E 目 1 7 目 22 目 33 34 匸 F ・ L 一目 3 目目 5 自 1 目 目 1 1 13 目 15 17 目 1 E: 目 1 ヨ 目 31 目 23 目 24 ヒ 125 - り目 : い目目 - 目 : り : : り : り目 : り - 一り目一目 - : り一り :3K CINLY E:K ÜNL'TI E:K CINLIT' :3 ト : ロト 4L 引 ( CINLITI 引 ( CINLY 「・ IF ・ L 一目目 E 目創ヨ 目 1 ヨ C.PL—EIL71 " 2E : 引 : : : üt•4L'TI THPE 3 .. 朝目ー 1 .. 目ー :3K CINL'TI :3K ÜNL'T' THPE 匸 : F ' L 一目 2 当 1 E 国 PL 一 1 1 13 1 日に & 32 ト ( コモドール・ジャパン発売中のソフトウェアー覧 2 目目当ー 目当ー 4 3 目目ー ( 次頁に続く ) 充実したソフトウェア ・コモドール・ジャパン ール・ジャハンの代理店まてあ PET2001 用 , あるいは CBM トラワタ・フリンタによって出問い合わせください。 3032 用のソフトウェアガ充実し力したものてヴ ) 。 コモドール・ジャハンガら発 てきまし。 ますは , 別掲の表を見てくだ売されているフロクラ乙を溝入 さい ( これは , 3032 シリースの希望の方は , 各地にあるコモド 日本橋のマイワロ・マイワロ情 大いなる独断と偏見て評判を呼んだ ( ? ) 日本橋周辺の欲食店カイド・日本橋カイドマッフ ( 共立電子著 ) の改訂版 ガ出。前回のものはヴくになくなつにのて . 急け / 頒価 2 円だけど , 沢山買えはたぶんもらえるヨ。 129

10. 月間ラム 1980年2月号

MAO•ItE 8 2 0 0 8 2 0 5 8 2 0 8 8 2 0 A 8 218 8 21 F 、 0 6 8 2 2 1 8 2 5 8 8 2 4 0 8 2 5 B A, D M, A 8 2 6 0 8 2 6 4 8 2 6 6 8 2 6 C A, B 8 2 ワ 7 5 キーガ ? C D C D 1 6 1 E C D I D F 2 1 5 2 C 5 A F 5 2 D 5 0 刊 D 1 D 5 EB 0 9 E B C D 1 1 1 9 5 6 C 2 2 1 0 0 0 0 0 5 F 2 0 D F 2 D 1 D 5 1 4 I C C D 1 1 1 9 5 7 5 A D E 刊 A C A 5 D C A 7 A B 6 7 7 D 1 C 9 7 A 2 F A 6 7 7 D 1 C 9 0 1 1 1 0 A 1 2 0 5 1 5 7 8 E C 2 C 9 6 B 2 6 9 2 6 6 ワ E 1 E 1 8 0 A 0 8 0 5 F F 0 2 0 2 7 7 0 0 5 8 FF 2 1 1 F 7 7 0 0 F F 0 5 5 B 6 0 6 4 0 0 0 0 8 8 6 C 0 0 8 2 8 2 8 2 8 2 8 2 8 2 81 8 2 8 4 8 2 8 1 8 2 8 2 8 2 8 6 8 1 8 2 8 2 8 2 8 6 8 4 8 2 LABEL WKI MA I N MAO MA 1 MA2 L I FE L 0 0 P 1 L 0 0 P 2 2 E R 0 R E S 刊 T N E X T T R A N S T R 1 S E T B I T M 「鹵 C MV I MOV R E T 江 N Z C P I MOV I N X I N X S T A X LDAX LXI LXI R E T P 0 P MOV A N A CMA MOV R E T P 0 P MOV ORA MOV J 2 D C R Z J M S B I L D A MOV DAD LXI C A L L I N R INR P U S Ⅱ P 0 P 江 P D C R P D C R N 0 P N 0 P I N R LXI J N Z A N A MOV DAD LXI C A L L X C H G DAD X C 日 G P U S H P 0 P MV I MV I P U S H S T A XRA DCR J P DCR J P DCR C A L L MV I MV I C A L L C A L L 0 R G EQU RAb の 81FF 8200 I N I T T R A N S D, 7 刊 刊 , 1 E L I FE MA2 MAI M A 0 WK 1 C , 0 2 B, 0 2 B I T D, 8400 D, M Z E R 0 H,WKI COMMENTS イこシャライス 画面の転送 ライフ・サフルーチン ワーキンワ工リア・ワリア メインフロワラ乙 ワーキンワ工リア・インワリメント パワ修正のため N 0 P 8 2 8 C 8 2 9 2 8 2 9 9 8 2 A 5 8 2 B 9 8 2 C 5 8 2 D 8 8 2 E C 2 9 C 5 C D D 5 8 2 7 8 5 8 5 5 C 2 F D I 、 5 D 0 F 0 F E 6 5 D E 6 刊 5 C 5 7 7 A E 1 9 1 1 C D D 5 D I C 2 F E C 9 D 1 C 2 C A FE C D C D 7 1 C D 7 7 A E 4 E 1 9 1 1 C D D 5 D 1 D 5 1 1 C 2 B C 2 5 7 0 2 1 0 6 5 E C 5 0 F 8 1 5 5 E 5 7 刊 6 6 8 5 0 F 0 F 0 F 刊 6 7 A 2 9 2 9 2 9 刊 8 0 ワ 8 0 8 C 8 8 FF 0 0 9 9 10 7 7 0 0 C 0 C 0 6 7 F F A 5 1 5 C 5 0 5 D 8 7 7 0 0 E C 0 5 FC 6 7 A 5 S Ⅱ I F T I N I T B L I N K REVERS M 0 V E WA I T CLR DAD JMP C A L L P U S H MOV A D D MOV MOV ADD I N R CMA P 0 P D C R R R C R R C A N I P 0 P MOV DCR A N I P U S H JMP MOV XRA DAD LXI C A LL P U S Ⅱ POP J N Z C P I RET P 0 P N Z C P I J Z C P I C A L L C A LL MOV C A LL MOV X R A MOV DAD LXI C A L L P U S Ⅱ P 0 P P U S 日 LXI N Z CMP INX MOV LXI MV I MV I JMP R R C RM DCR M V I MOV A N I MOV MOV A D D R R C R R C R R C A N I MOV DAD DAD DAD A, D F 8 L, A A, D 0 7 D, A A , 8 0 S Ⅱ I 刊 T A , 8 8 B, FF Ⅱ , 8600 M, B CLR D , 4010 B I T D, 8600 C , M M, A D E L M , C D E L I N P U T B L I N K 1 5 REVERS 0 5 M 0 V E B I T D , 8600 M, A W A I T P S W 0 5 B, A P S W イこシャライズ・ルーチン 画面ワリア 相対番地を H L に入れる。 ビット・バターンをアキ ユ乙レータに入れてリタ L00P2 L 0 0 P 1 N 刊 X T S E T R E S 刊 T 0 5 WK 1 D. A D , 8600 B 工 T M, A, D, 8400 B , 8600 Ⅱ , 0 0 L, 刊 T R 1 8 8 体数を調べる。 ポインタを中心にセット セット ( 白くヴる ) 。 リセット ( 黒くヴる ) 。 ト・サフルーチン ワラフィッワ・サホー 転送サフルーチン 5 以上ならリセット 4 ならそのまま 3 ならセット 3 未満ならリセット 8 2 8 6 8 2 4 0 8 2 8 6 0 2 0 2 0 2 8 2 8 2 8 2 8 2 8 6 8 2 0 2 8 2 E, A , D, B L I N K I N P U T カーソル初立置 W ー C キーガ ? キーガ押されていない キー入力 ビットの点滅 ビットを反転ヴる。 カーソル移動 キ - ガ離されるまて待つ。 128 京都市のマイワロ・マイワロ情 長岡京市天神 3 丁目 / 番 26 号 0 / 5 ー 939 ー 5231 アータアドノヾンストフロ 9 つツは社名をアドコム電子 ( 株 ) に変更。今後ともよろしゅうに。住所は〒 61 / 京都府