欢迎来到天天文库
浏览记录
ID:59139755
大小:122.50 KB
页数:12页
时间:2020-09-25
《IBM汇编语言教程ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第14回 文字列操作のプログラミング演習(2)今日の到達目標1.メモリ内容の2進数表示(インデックス修飾,シフト命令,OUT命令)2.メモリ内容の16進数表示(サブルーチン,文字への変換,インデックス修飾,OUT命令)3.数字列から2進数への変換(インデックス修飾,数値の生成、IN命令)できるだけヒントを見ずにやってみよう1課題14-1メモリ内容の2進数表示(1)このプログラムをworke1.casという名前で作成せよ。(2)このプログラムをシミュレーション実行し,ラベルDATAで確保された語の内容が2進数表示されることを確認せよ。ラベルDATAで
2、確保された語に1個の数値が格納されている。この数値を16ビットの2進数として,'0'と'1'からなる16文字の文字列に変換し,出力装置に出力するプログラムを作成せよ。例えば,ラベルDATAで確保された語の内容が2000(#07D0)であったとき,文字列'0000011111010000'が出力される。できるだけヒントを見ずにやってみようファイル名worke1.cas2メモリ内容の2進数表示フローチャートOF=1?数値データのロードWORKE1NO初期設定(指標=0等)出力領域に'0'を格納データを左に1ビット論理シフト指標を+1RETURNYES文
3、字列を出力ヒント:16語からなる出力領域(OBUF)を用意しておき,データを左に1ビット論理シフトした時のオーバーフローフラグOFの値に応じて,文字'0’か文字'1’を出力領域に格納する操作を16回繰り返す。最後にOUT命令によって出力領域を出力する。出力領域に'1'を格納指標<16?NOYESヒント:初期設定として,文字'0’と文字'1’をレジスタに用意しておくとよい。LDGR6,='0'LDGR7,='1'出力文字数(OLEN)は16で固定3課題14-2メモリ内容の16進数表示(1)次ページのヒントを参考にして,入力された1文字を2桁の16進数に
4、変換して出力するプログラムをworke2.casという名前で作成する。(2)このプログラムをシミュレーション実行し,入力した文字が正しく16進数に変換されて表示されることを確認せよ。GR0の下位4ビットの数値を16進数の1文字に変換し,GR1の下位8ビットに入れて返すサブルーチンCONVSTを作成せよ。 次に,ラベルDATAで確保された語に格納されている数値を,上記のサブルーチンCONVSTを4回用いて、4桁の16進数表記に変換し,出力装置に出力するプログラムを作成せよ。なお、文字コードは教科書の216ページ、もしくは第2回資料の19ページを参考にし
5、てよい。例えば、DATAで宣言された語の内容が3000(#0BB8)であった時、’0BB8’という4文字が出力される。ファイル名worke2.cas4メモリ内容の16進数表示概略フローチャートGR0←DATAWORKE24桁の16進数を出力RETURNGR1の内容を出力領域へ格納指標の初期設定(初期値:3)4ビットの数値を16進数の1文字へ変換するサブルーチンCONVST・入力:GR0の下位4ビット(その他のビットは無視)・出力:GR1の下位8ビット(上位8ビットはゼロ)CONVSTGR1←GR0GR1←GR1AND#000FGR1<10?GR1←
6、GR1+'0'RETURNYESNOGR1←GR1-10+'A'※'9'と'A'のコード間にはギャップがあるコード文字数値#46'F'1111………#41'A'1010#39'9'1001………#30'0'0000CALLCOVSTGR0を右に4ビット論理シフト指標≧0?YESNO指標を-1出力する文字を格納するための4語の領域(OBUF)を確保しておき、下位(右側)の桁から順番にCONVSTを用いて出力文字に変換し、この領域に格納する(逆順となることに注意)※サブルーチンの中でGR0を壊さぬこと5課題14-3数字列から2進数への変換次ページのヒント
7、を参考にして,このプログラムをworke3.casという名前で作成する。尚,10倍の計算はシフト命令を用いておこなうとよい。このプログラムをシミュレーション実行し,数字の文字列’245’を入力した時,ラベルDATAで確保された語の内容が245(#00F5),数字の文字列’12345’を入力した時,ラベルDATAで確保された語の内容が12345(#3039)となることを確認せよ。※さらに余裕のある人は数字列の最初に’-’(マイナス)を許して、負数も変換できるプログラムを作成してみると良い。入力装置から数字列(10進数と考える)を読み込み,これを数値に変
8、換して,ラベルDATAで確保された語に格納するプログラムを作成せよ。 但し,入力される数字列は’1’~’
此文档下载收益归作者所有