No.2ベストアンサー
- 回答日時:
アスキーコードの値と、Bレジに欲しい結果を、一覧表にしてみよう。
'0'=30H→00000000B
'1'=31H→00000001B
'2'=32H→00000010B
|
'8'=38H→00001000B
'9'=39H→00001001B
'A'=41H→00001010B
'B'=42H→00001011B
|
'F'=46H→00001111B
さて、Aレジから単純に30Hを引き算したらどうなるだろう?
'0'=30H→00H→00000000B
'1'=31H→01H→00000001B
'2'=32H→02H→00000010B
|
'8'=38H→08H→00001000B
'9'=39H→09H→00001001B
'A'=41H→11H→00010001B
'B'=42H→12H→00010010B
|
'F'=46H→16H→00010110B
'0'~'9'までは、目的の値になった。しかし'A'~'F'は、値がズレている。
なので、30Hを引いて、引いた結果が10を超えてたら、もう少し余計に引いてやれば良い。
'A'=41H→11H→0AH→00001010B
'B'=42H→12H→0BH→00001011B
|
'F'=46H→16H→0FH→00001111B
11Hを0AHにするには、いくつ引けば良いだろうか?
結果、プログラムは以下のようになる。
Aレジから30Hを引く
Aレジと0AHをコンペアする
キャリーが出たら2行下の「ラベル:」に条件ジャンプ
Aレジから07Hを引く
ラベル:
AレジをBレジに代入する
あとは、上記の「日本語で書かれたプログラム」を「アセンブリ言語の命令ニモニック」に置き換えるだけ。
因みに、以下のようにすると1命令減りますが、こう解答すると、たぶん×を貰います。
Aレジから3AHを引く
キャリーが出たら2行下の「ラベル:」に条件ジャンプ
Aレジから07Hを引く
ラベル:
アドレス計算命令で[Aレジ+0AH]をBレジにロードする
蛇足だけど、カテ違いなので、こういう質問は
[技術者向] コンピューター > プログラミング > その他(プログラミング)
のカテに。
No.3
- 回答日時:
#1 でいわれるように, 「アセンブリ言語」は CPU の種類ごとにあるといっても過言ではないので書きようがありません.
6800 とか言われたらいやだなぁ.
No.1
- 回答日時:
アスキーコードは16進で
“0” 30h
↓
“9” 39h
“A” 41h
↓
“F” 46h
ですから、先ずAレジスタが30h~39hか41h~46hかを判別し、前者なら30hを引き後者なら37hを引いてBレジスタに入れれば良いかと。
そうか、全部で16種類しかないので、Aレジスタが30hかどうかを見てそうならBレジスタに00hを代入、31hかどうかを見てそうならBレジスタに01hを代入…以下16回繰り返す。
または、変換表を作って引っ張ってくる方法もあります。
※CPUが不明なのでアセンブリ言語では書けません。
この回答へのお礼
お礼日時:2009/01/09 22:28
質問が悪くてすみませんでした。。
あらゆる考え方があるようですね。。
もうちょっと苦戦してみます!
回答ありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) PIC16F1シリーズマイコンのNCO機能について 1 2023/04/18 08:41
- 国産車 【自動車のエアコンはレジスタを介して回路が成立する】の、レジスタって何ですか? 2 2023/01/22 21:03
- システム CPUの問題について 2 2022/07/09 12:04
- 工学 レジスタとラッチの動作の違いについて教えてください 1 2022/11/30 23:13
- 国産車 スズキ キャリーのブロアーファンが止まるのはなぜ? 4 2022/07/17 17:45
- その他(プログラミング・Web制作) パイプラインに詳しい方 5 2022/07/04 16:47
- IT・エンジニアリング アドレス空間(メモリマップ)について教えてください。 マイコンには必ずメモリマップが記載されています 3 2022/06/17 09:42
- その他(プログラミング・Web制作) プログラムについて。 2 2022/04/07 18:48
- その他(コンピューター・テクノロジー) 量子コンピュータの動作原理がわかりません。同じビットが、1でも0でも有って良いだろうか? 3 2023/02/04 03:20
- ハッキング・フィッシング詐欺 インターネットに流れる'物’について 9 2022/09/25 09:32
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
恒等的に正しいとはどういう意...
-
SPIの問題
-
数学の質問です。 3で割ると2余...
-
w=1/z−iのときz平面上の図形は...
-
「Access」のフォームで、同じ...
-
e^ixを1次の項までテイラー展開...
-
X^nをX^2-X-2で割ったときの...
-
7で割ると2余り、11で割ると3余...
-
エクセル 2/3乗
-
至急!数学の基本問題、助けて...
-
4元連立方程式の解き方を教えて...
-
ライニプッツの公式に関してで...
-
SPIの問題でわからないところが...
-
漸化式?
-
二次関数
-
△ABCにおいて、b cosA+a cosB=b...
-
通過領域に関する記述について
-
A,Bをn次正方行列とする場合、...
-
(1)、(2)の関数の逆ラプラス変...
-
中学生への教え方(代入法)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SPIの問題
-
二次関数についてです。 2点(-1...
-
恒等的に正しいとはどういう意...
-
数学の質問です。 3で割ると2余...
-
3で割ると2余り,5で割ると3余...
-
至急!数学の基本問題、助けて...
-
エクセル 2/3乗
-
Access VBA クリップボードの内...
-
平衡定数の求め方について、ΔG=...
-
連想配列の初期化
-
「Access」のフォームで、同じ...
-
7で割ると2余り、11で割ると3余...
-
4元連立方程式の解き方を教えて...
-
Excel VBAで1行に2つのコードを...
-
高2数学 軌跡
-
X^nをX^2-X-2で割ったときの...
-
因数定理の因数分解 x三乗+3x二...
-
二次関数
-
「リテラル値」
-
SPIの問題でわからないところが...
おすすめ情報