goo blog サービス終了のお知らせ 

真・女神転生imagine-JZ13(バックアップ)

Broachで投稿していた記事のバックアップです。

ママン これわかんないよ…

2010-07-08 19:24:04 | C言語教室での出来事
お題はこちら。
------------------
;ASM課題8:固定バイト数の転送
;
;BUF1の10バイト領域のデータをBUF2の10バイト
;領域に転送するプログラムの作成
;BUF1の先頭アドレスを200H番地、BUF2の先頭アドレスを210H番地とする。
;当該プログラムの開始番地は100Hからスタートする。
;擬似命令(ORG、DB)を使用すること。
;・input: なし
;・output: なし
------------------

途中は判るんです。途中は。

-----判るとこだけ書いてみた------
ORG 100H
  ;100H番地からスタート
(ここにメインプログラムが入るハズ)

DATA: ORG 200H
  ;ラベル「DATA」として200番地から開始
DB 1,100,255,26,64,124,8,95,98,224
  ;テストの為のサンプル数値10バイト分を書きこむ

BUF1: ORG 200H
  ;ラベル「BUF1」として200番地から開始
DS 10
  ;10バイト分確保
BUF2: ORG 210H
  ;ラベル「BUF2」として210番地から開始
DS 10
  ;10バイト分確保

END
----------------------------

あとは
・メインプログラムでどうやってBUF1(200番地)にDATAの内容を書き込むのかの開始部分。
(LDなにになる?)
・どうやってそれをBUF2に移動させるのか。
が判らなくて止まってます。

最初、
LD A,DATA
て書いてたんだけど、LDのオペランドってレジスタ名か数値だけよね?
しかも、範囲が200~209番地まであるんだから、そんな指定の仕方しちゃいけないハズ…だと思うのです。

とりま今の内容だけだと、
○200~209番地までは「BUF1」って名前ね。他に使わないでね。
○210~219番地までは「BUF2」って名前ね。他に使わないでね。
○200~209番地を1,100,255,26,64,124,8,95,98,224って数値で埋めるよ。
になってると思うんです。たぶん。

しかし、「BUF1」領域に勝手に「DATA」が入り込めるのかどうかも不明…。
もしかして勝手に「DATA」なんてつけちゃダメで、「BUF1をDB(書き込み)してね」という命令にしなきゃいけない?
そうするとすでに「BUF1」には数字が入ってるから、あとは番地を増やしたり減らしたりしながら移動させるだけ?

アドレスとレジスタの位置関係がいまだによく判ってなかったりします…。(´;ω;`)ブワッ
今さら聞けるような雰囲気でもないしなぁ…。

今日は失業認定日だったのでついでにハローワークで
「ここの講師なにも教えてくれないよ!ヽ(`Д´)ノウワァァァン!!」
と訴えてみましたがどうなることやら。

最新の画像もっと見る

2 コメント(10/1 コメント投稿終了予定)

コメント日が  古い順  |   新しい順
Unknown (tonn)
2010-07-08 21:23:18
頑張ってんな^^
アセンかw
覚えてるのは、DSにアドレス代入は@DETA使用位しか
覚えとらん><;
やっぱ、50代には無理でしたな;;
それと、同窓会は参加?
返信する
Unknown (JZ13)
2010-07-08 22:33:04
みんなそんな程度なんすよ…?<それくらいしか覚えてない
みんな「大学で○年前に習ったけど違う仕事してたから」とか「自分で組んで作ったことないから」って程度なんです。
んで「こうかな?」と恐る恐る作って見せに行ったら「こんなんじゃエラーですよ」と突き返される…。ねえ?どこが悪いの???で、どないせーちゅーねんw

同窓会は何が何でも参加しますよ。なにがあっても参加しますよ。死んでも幽霊になって行きますのでヨロシク♪
返信する

コメントを投稿

サービス終了に伴い、10月1日にコメント投稿機能を終了させていただく予定です。
ブログ作成者から承認されるまでコメントは反映されません。