KV Studio でよく使うアスキー変換命令は以下の2つです。
- ASC:アスキーコード変換
- RASC:アスキーコード逆変換
ASC:アスキー変換命令のサンプルプログラム
DM100に格納されているBCDデータをアスキー変換してDM101に格納するラダー回路です。
アスキー変換命令はLDA,STA命令とセットで使用します。
変換前の上位8 bitは無視されます。データが歯抜けにならないように気を付けましょう。
RASC:アスキー逆変換命令のサンプルプログラム
基本的な考え方はASC命令と同じです。
RASC命令でDM101に格納されているBCDデータをアスキー逆変換してDM100に代入します。
変換後のレジスタの上位8 bitには0が入ります。
※RASC命令でアスキー逆変換するためには変換前データの型に条件があります。
上位8 bit,下位8 bitがどちらかがに0~F(30H~39H,41H~46H)の範囲にある場合でしか変換を実行しません。もしデータが範囲外であった場合は計算エラーリレーCR2012がオンします。
※ この2つの命令、KeyenceのリファレンスマニュアルではBINとアスキーコードの変換って書いてあるけど、BCDとアスキーコードの変換と考えた方がわかりやすいと思う。たしかに4ビットのブロックとして細分化して考えるとBINとアスキーの変換と言えなくもないが・・・
アスキーコード表
数字とアルファベットのアスキーコード表です。
RASC命令では変換前が赤文字のデータしか扱えません。
10進 | 16進 | ASCII |
48 | 30 | 0 |
49 | 31 | 1 |
50 | 32 | 2 |
51 | 33 | 3 |
52 | 34 | 4 |
53 | 35 | 5 |
54 | 36 | 6 |
55 | 37 | 7 |
56 | 38 | 8 |
57 | 39 | 9 |
10進 | 16進 | ASCII |
65 | 41 | A |
66 | 42 | B |
67 | 43 | C |
68 | 44 | D |
69 | 45 | E |
70 | 46 | F |
71 | 47 | G |
72 | 48 | H |
73 | 49 | I |
74 | 4A | J |
75 | 4B | K |
76 | 4C | L |
77 | 4D | M |
78 | 4E | N |
79 | 4F | O |
80 | 50 | P |
81 | 51 | Q |
82 | 52 | R |
83 | 53 | S |
84 | 54 | T |
85 | 55 | U |
86 | 56 | V |
87 | 57 | W |
88 | 58 | X |
89 | 59 | Y |
90 | 5A | Z |
10進 | 16進 | ASCII |
97 | 61 | a |
98 | 62 | b |
99 | 63 | c |
100 | 64 | d |
101 | 65 | e |
102 | 66 | f |
103 | 67 | g |
104 | 68 | h |
105 | 69 | i |
106 | 6A | j |
107 | 6B | k |
108 | 6C | l |
109 | 6D | m |
110 | 6E | n |
111 | 6F | o |
112 | 70 | p |
113 | 71 | q |
114 | 72 | r |
115 | 73 | s |
116 | 74 | t |
117 | 75 | u |
118 | 76 | v |
119 | 77 | w |
120 | 78 | x |
121 | 79 | y |
122 | 7A | z |