ユーザーにメモリ アドレスの入力を求めるアセンブリ プログラム (Easy68K) に取り組んでいます。次に、プログラムはこれらの ASCII 文字をそれぞれ 16 進数に変換します。16進数は問題なく変換できますが、問題が発生しています。
ユーザーが A234567F を入力すると、これは (A1 に) 8 バイトとして格納されますが、有効なメモリ アドレスの 16 進数は 4 バイト (2 ワード、1 ロングワード) しかありません。各文字を反復処理して、16 進数に変換できますが、問題ありません。しかし、いわばそれらを「連結」する方法がわかりません。
「A」用に別のバイトのストレージと「2」用に別のバイトのストレージを用意したくありません。「A2」を同じバイトのストレージに格納したい。
したがって、この例では、ストレージが次のようになることを望みます。
メモリアドレス$00000000
は値を保持する必要があります$A2
。
$00000001
ホールド$34
$00000002
ホールド$56
$00000003
ホールド$7F
MOVE.L
次に、アドレス$00000000
から D1 への開始を行うと、 D1 には値が含まれます$A234567F
。
これどうやってするの?