CASL2におけるCPL命令は「第1オペランド-第2オペランド」の結果によってフラグレジスタが設定される、と理解していますが、以下の例でサインフラグ=0となるのは何故でしょうか。
CASLシミュレータ(https://www.officedaytime.com/dcaslj/)で検証しております
CASL2
1MAIN START 2 3 LAD GR1,65534 4 LAD GR2,1 5 CPL GR1,GR2 6 7 END
結果:ZF=0
SF=0
OF=0
私の理解では
GR1-GR2=65533
であり、2進数表現では1111 1111 1111 1101
と言えるため、16桁目がサインフラグに入ってSF=1
となるのでは、と思っているのですが…
上記の考え方だとCPA命令と結果が全く一緒になってしまう中で、CPL命令をどのように理解すべきか、実際はどういう演算を行っているのかを教えて頂けますでしょうか。
※もしかすると第15ビットの値がサインフラグに入る、と言う考えが誤りでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/22 12:00