Spo 600週4ストリングとチャー反射
2582 ワード
こんにちは皆さん、Spo 600(ソフトウェア可搬性と最適化)反射と余分の探査ブログの第4週に戻ってください!このブログでは、私はいくつかの考えを共有し、文字については、文字列、アセンブリ言語の文字列を掘るつもりです.
登場人物
まず第一に、例を見ましょう!
まず、スタート地点を$ f 000に設定する必要があります.
このループでは、文字列から文字を読み込み、スクリーンメモリに保存します.その後、y値を増やし、ループを実行して文字列の次の文字にアクセスします.文字列が空の場合、ループから飛び出します.
最後に結果は以下の通りです:
さて、もう一つのことを手に入れましょう.
マイリフレクション
今週は、文字列と文字が6502アセンブリ言語でどのように機能するかを学びました.文字セットは、文字セットの文字への数値参照でバイナリでエンコードされます.例えば、スペースを表現するために32を使用し、48は0を表します.6502アセンブリ言語では、アセンブラの文字列は上記の例のようにバイト列として格納され、プログラマは通常通りメモリを処理する必要があります.
登場人物
まず第一に、例を見ましょう!
define SCREEN $F000 ;Set the Screen
LDY #$00
DRAW_1_CHAR: LDA STRING, Y ;Load the String starts from y = 0
BEQ DONE ;If the character equal to zero, then jump to done
STA SCREEN, Y ;Load character onto the screen
INY ;Increase Y to read next char
BNE DRAW_1_CHAR ;If the STRING is not over, go back to the start
DONE: BRK
STRING:
dcb "H", "e", "l", "l", "o", $0D ;The string to print
この小さなプログラムでは、以下の文字列から各文字を読み、画面に印刷します.まず、スタート地点を$ f 000に設定する必要があります.
define SCREEN $F000
次に、次のループに対してレジスタを0に設定します.このループでは、文字列から文字を読み込み、スクリーンメモリに保存します.その後、y値を増やし、ループを実行して文字列の次の文字にアクセスします.文字列が空の場合、ループから飛び出します.
最後に結果は以下の通りです:
さて、もう一つのことを手に入れましょう.
define SCINIT $ff81 ; initialize/clear screen
define CHRIN $ffcf ; input character from keyboard
define CHROUT $ffd2 ; output character to screen
define SCREEN $ffed ; get screen size
define PLOT $fff0 ; get/set cursor coordinates
JSR SCINIT ;Reset the screen
PRINT_STRING: LDY #$00
DRAW_1_CHAR: LDA STRING, Y
BEQ DONE
JSR CHROUT ;Pass each of the characters to the character out routine
INY
BNE DRAW_1_CHAR
DONE: JMP PRINT_STRING
STRING:
dcb "H", "e", "l", "l", "o", $0D
dcb "W", "o", "r", "l", "d","!",13
dcb 13
この新しいプログラムでは、画面に文字列を印刷し続けるために新しいループprintstrap文字列を追加します.結果は以下の通りです.マイリフレクション
今週は、文字列と文字が6502アセンブリ言語でどのように機能するかを学びました.文字セットは、文字セットの文字への数値参照でバイナリでエンコードされます.例えば、スペースを表現するために32を使用し、48は0を表します.6502アセンブリ言語では、アセンブラの文字列は上記の例のようにバイト列として格納され、プログラマは通常通りメモリを処理する必要があります.
Reference
この問題について(Spo 600週4ストリングとチャー反射), 我々は、より多くの情報をここで見つけました https://dev.to/qzhang125/week-5-spo666-52n8テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol