- ベストアンサー
CASL2の仕様での英単語の格納方法
はじめまして、お聞きしたいことがあります。 すべて大文字で書かれた英語の単語をCASL2の仕様で、X番地以降に格納されている状態で、先頭以外は小文字にして、Y番地以降に収納させたいのですが、英語をどのようにして表示させたらいいのか分かりません。ヒントや解き方など、アドバイスがありました、教えていただければ幸いです。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
プログラムの一例 文字を小文字に変換しながらコピーして、先頭の文字は再度そのままコピーします。 ;-------------------------------------------------------------- ;SWORDからDWORDへ先頭以外を小文字に変換しながらコピー ; LOWRISE START ;INLOOP IN SWORD,SLENGTH LD GR0,SLENGTH CPA GR0,=-1 ;蛇足 JZE EXIT CPA GR0,=0 ;サイズ0、出力側サイズも0にした方がいいかも JZE EXIT ST GR0,DLENGTH LAD GR2,0 COPY LD GR0,SWORD,GR2 CALL TOLOWER ST GR0,DWORD,GR2 LAD GR2,1,GR2 CPA GR2,SLENGTH JNZ COPY LD GR0,SWORD ;先頭はそのまま ST GR0,DWORD OUT DWORD,DLENGTH EXIT RET ; SWORD DC 'HELLO' SLENGTH DC 5 DWORD DS 256 DLENGTH DS 1 END ; ;GR0 に入れた文字を小文字にする TOLOWER START PUSH 0,GR1 IF CPL GR0,LARGEA ;IF 'Z' >= GR0 >= 'A' JMI EXIT CPL GR0,='Z' JPL EXIT THEN LD GR1,SMALLA SUBL GR1,LARGEA ADDL GR0,GR1 ENDIF DS 0 EXIT POP GR1 RET SMALLA DC 'a' LARGEA DC 'A' END
その他の回答 (1)
- fortranxp
- ベストアンサー率26% (181/684)
'a'='A'+20(10進数の32) http://www016.upp.so-net.ne.jp/masuda2/text2/casl2/casl2040.html 実際にはアルファベットは無いです。 数字で表現しているだけです。ただし 通常16進数 また CASL上で1は1ですが 文字の'1'は31です。
お礼
そーいうことだったんですね!! 参考サイトまで教えていただきありがとうございます。 頑張って作成してみます。
お礼
詳しくプログラムを教えてくださり、ありがとうございます。自分なりに解読しながら地道にがんばっていきます。