Next: Register and memory, Previous: Simple output, Up: Sample usage [Contents]
casl2の処理途中で行われるアセンブルの結果を表示するには、オプション-aを指定します。 また、ラベルとアドレスの対応表を表示するには、オプション-lを指定します。
次のコマンドではhello.caslの、ラベルとアドレスの対応表と、アセンブル結果と、実行結果が表示されます。 OUTはアセンブラ命令で複数の機械語命令で構成されているため、命令行1行に対して、複数行のコードが生成されます。
$ casl2 -a -l hello.casl Assemble hello.casl (0) Label:::: MAIN.LEN ---> #0020 MAIN ---> #0000 MAIN.OBUF ---> #0013 Assemble hello.casl (1) hello.casl: 1:MAIN START hello.casl: 2: OUT OBUF,LEN #0000 #7001 #0001 #0000 #0002 #7002 #0003 #0000 #0004 #1210 #0005 #0013 #0006 #1220 #0007 #0020 #0008 #F000 #0009 #0002 #000A #1210 #000B #0021 #0021 #000A #000C #1220 #000D #0022 #0022 #0001 #000E #F000 #000F #0002 #0010 #7120 #0011 #7110 hello.casl: 3: RET #0012 #8100 hello.casl: 4:OBUF DC 'Hello, World!' #0013 #0048 #0014 #0065 #0015 #006C #0016 #006C #0017 #006F #0018 #002C #0019 #0020 #001A #0057 #001B #006F #001C #0072 #001D #006C #001E #0064 #001F #0021 hello.casl: 5:LEN DC 13 #0020 #000D hello.casl: 6: END Hello, World!
addl.caslの、ラベルとアドレスの対応表と、アセンブル結果は、次のようになります。
$ casl2 -a -l addl.casl Assemble addl.casl (0) Label:::: MAIN ---> #0000 MAIN.A ---> #0007 MAIN.B ---> #0008 MAIN.C ---> #0009 Assemble addl.casl (1) addl.casl: 1:;;; ADDL r,adr addl.casl: 2:MAIN START addl.casl: 3: LD GR1,A #0000 #1010 #0001 #0007 addl.casl: 4: ADDL GR1,B #0002 #2210 #0003 #0008 addl.casl: 5: ST GR1,C #0004 #1110 #0005 #0009 addl.casl: 6: RET #0006 #8100 addl.casl: 7:A DC 3 #0007 #0003 addl.casl: 8:B DC 2 #0008 #0002 addl.casl: 9:C DS 1 #0009 #0000 addl.casl: 10: END
なお、オプション-Aを指定すると、アセンブル結果が表示される時点で処理が終了します。 仮想マシンCOMET IIでのプログラム実行はされません。