1 / 15

指標レジスタ

指標レジスタ. 情報工学 内田智史. 指標レジスタ. 次のプログラムについて考えてみる。. SAMP START LAD GR0,10 LAD GR1,2 ST GR0,A ,GR1 : A DS 5. 今までのプログラムからすれば、これが余分. CPU とメモリの関係. SAMP START LAD GR0,10 LAD GR1,2 ST GR0,A ,GR1 : A DS 5.

Download Presentation

指標レジスタ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 指標レジスタ 情報工学 内田智史

  2. 指標レジスタ 次のプログラムについて考えてみる。 SAMP START LAD GR0,10 LAD GR1,2 ST GR0,A,GR1 : A DS 5 今までのプログラムからすれば、これが余分 指標レジスタ

  3. CPUとメモリの関係 SAMP START LAD GR0,10 LAD GR1,2 ST GR0,A,GR1 : A DS 5 CPU GR0 10 GR1 2 Memory A ? 100 101 102 103 104 ? ここでAは、連続して確保された 領域の先頭を表すことに注意。 たとえば、領域の先頭が100番地 ならAは100番地を示す。 ? ? ? 指標レジスタ

  4. もし、 ST GR0, A だけなら SAMP START LAD GR0,10 LAD GR1,2 ST GR0,A : A DS 5 CPU GR0 10 GR1 2 Memory A 10 100 101 102 103 104 ? この理由は、Aが100番地を 指しているからである。 ? ? ? 指標レジスタ

  5. では、 ST GR0,A,GR1 は SAMP START LAD GR0,10 LAD GR1,2 ST GR0,A,GR1 : A DS 5 CPU GR0 10 GR1 2 Memory A ? 100 101 102 103 104 ? ST GR0, A,GR1 10 ? Aの100番地にGR1レジスタの 値(2)を加えた102番地が操作の 対象となる。 ? 指標レジスタ

  6. なんで、そんなものが必要か 答え:何番目のデータを使いたいという要望。 例:小学校の各学年の人数を管理する プログラムを考える。 1年生: 201人 2年生: 205人 3年生: 210人 4年生: 189人 5年生: 170人 6年生: 198人 GAKUNEN1 DC 201 GAKUNEN2 DC 205 GAKUNEN3 DC 210 GAKUNEN4 DC 189 GAKUNEN5 DC 170 GEKUNEN6 DC 198 指標レジスタ

  7. そのプログラム例 GETNUM START LAD GR1,3 LD GR2,GAKUNEN1,GR1 RET GAKUNEN1 DC 201 GAKUNEN2 DC 205 GAKUNEN3 DC 210 GAKUNEN4 DC 189 GAKUNEN5 DC 170 GEKUNEN6 DC 198 ここに「学年-1」(たとえば、4年生なら3)を指定する だけで、GR2にはその学年の人数がセットされる。 指標レジスタ

  8. そのプログラム例 GETNUM START LAD GR1,3 LD GR2,GAKUNEN1,GR1 RET GAKUNEN1 DC 201 GAKUNEN2 DC 205 GAKUNEN3 DC 210 GAKUNEN4 DC 189 GAKUNEN5 DC 170 GEKUNEN6 DC 198 100番地 100番地+3(GR1の値) =103番地の値がGR2に セットされる 103番地 ここに「学年-1」(たとえば、4年生なら3)を指定する だけで、GR2にはその学年の人数がセットされる。 指標レジスタ

  9. ということは、... GETNUM START LAD GR1,3 LD GR2,GAKUNEN1,GR1 RET GAKUNEN1 DC 201 DC 205 DC 210 DC 189 DC 170 DC 198 100番地 100番地+3(GR1の値) =103番地の値がGR2に セットされる 103番地 GAKUNEN1だけで、後は不要であることが分かる。 指標レジスタ

  10. このような使われ方のレジスタを指標レジスタと呼ぶこのような使われ方のレジスタを指標レジスタと呼ぶ GETNUM START LAD GR1,3 LD GR2,GAKUNEN1,GR1 RET GAKUNEN1 DC 201 DC 205 DC 210 DC 189 DC 170 DC 198 ただし、指標レジスタには、GR1~GR7まで しか使えないので、注意が必要である。GR0は使えない 指標レジスタ

  11. 指標レジスタは多くの命令で使える GETNUM START LD GR0,GAKUNEN1 LAD GR1,1 ADDA GR0,GAKUNEN1,GR1 RET GAKUNEN1 DC 201 DC 205 DC 210 DC 189 DC 170 DC 198 100番地 101番地(2年生)の データを示す。 101番地 指標レジスタとの加算に よって生成されたアドレス のことを有効アドレスと 呼ぶ。 指標レジスタ

  12. 指標レジスタが使える命令のパターン 命令 GR,adr[,XR] 指標レジスタを示す GR1~GR7(7個) メモリの番地を示す。多くは 変数名である。 対象となるレジスタ GR0~GR7(8個) 指標レジスタ

  13. LAD命令の仕組み:次のプログラムを実行するとLAD命令の仕組み:次のプログラムを実行すると SAMP_LEA START LAD GR1,A LAD GR2,1000 LAD GR3,A,GR1 LAD GR3,1,GR3 LAD GR4,-1,GR2 RET A DC 3 END 100番地 LAD命令は、有効アドレスを指定されたレジスタに セットする命令である。 指標レジスタ

  14. LAD命令の仕組み:GR1には100がセット SAMP_LEA START LAD GR1,A LAD GR2,1000 LAD GR3,A,GR1 LAD GR3,1,GR3 LAD GR4,-1,GR2 RET A DC 3 END 100番地 これは LAD GR1,100 と同じ。 指標レジスタ

  15. LAD命令の仕組み:GR1には200がセット SAMP_LEA START LAD GR1,A LAD GR2,1000 LAD GR3,A,GR1 LAD GR3,1,GR3 LAD GR4,-1,GR2 RET A DC 3 END 100番地 これは LAD GR3,100,GR1 と同じ。 指標レジスタ

More Related