CASL中 add,sub,or,and,lea,sll,srl,sla,sra指令对 FR的影响

Bigfooter 2003-09-28 06:30:44
小弟对这个问题一直搞不清,请哪位大虾赐教,越详细越好,谢谢
...全文
402 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qjqj 2003-10-10
  • 打赏
  • 举报
回复
若GR中的第0位为0且其余各不全为0,则FR被置成00;
若GR中的16位全为0,则FR被置成01;
若GR中的第0位为1,则FR被置成10。
xtyqzp 2003-10-10
  • 打赏
  • 举报
回复
CASL附录说的很明白:
(1)有12条指令影响FR的内容,FR是根据该指令中寄存器的内容(而与别的无关,比如其值的正负)来给值:
GRX 为0 + 非零 -------> FR=00
GRX 为00...0 ---------->FR=01
GRX 为1......--------->FR=10
这12条指令怎样影响寄存器就对应的影响FR,而不管什么进位。
比如GR1 为1010,0000,0000,0000
SLL GR1,1 则GR1为0100,0000,0000,0000 则FR=00
SLA GR1,1 则GR1为1100,0000,0000,0000 则FR=10

(2)SLA 相当于 乘2运算
SRA 相当于 除2运算
slinaz 2003-10-10
  • 打赏
  • 举报
回复
我觉得能使寄存器改变得到值的基本上都能用做判断
love_vc 2003-10-10
  • 打赏
  • 举报
回复
up
yanzifeifei 2003-09-29
  • 打赏
  • 举报
回复
以上指令都会影响FR寄存器,当所得结果最高位为0其余位不全为0时表示值为正,FR置01.当所有位为0时FR置00,当最高位为1时FR为10,FR的取值我记不太清楚了,这些书上都有讲
Bigfooter 2003-09-29
  • 打赏
  • 举报
回复
谢谢楼上第一条解释,我明白了;
对于第二条解释:那既然用SRL是认为寄存器里放的是无符号数(即正数),那是否认为是无论左移右移,都是正数乘二除二,永远是正数,那FR中的符号号永远是0,而不会改变,这样不是和SRL,SLL影响符号位的结论有矛盾?
commandconque 2003-09-29
  • 打赏
  • 举报
回复
SLA 是算术左移L表示LEFT A表示ARITHMATIC 算术 他是不带符号位的移动,一个数怎么乘除2都不会影响符号位。
SRL 表示逻辑右移,L表示LOGIC 他是认为移动的数值为无符号数,最高位一起参加移动当然影响符号位
Bigfooter 2003-09-29
  • 打赏
  • 举报
回复
add,sub,or,and,lea似乎是这样,sll,srl,sla,sra又好象跟移出位有关,我看到过一个题,是sla,移出位变成了fr的第一位,那么sll呢,还有sra,srl,情况又是怎样?我下的casl教材太简单了,没有详细说明:(

2,947

社区成员

发帖
与我相关
我的任务
社区描述
就计算机等级考试、软件初、中、高级不同级别资格考试相关话题交流经验,共享资源。
c1认证c4javac4前端 技术论坛(原bbs)
社区管理员
  • 软件水平考试社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧