LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: hupeng923

请问各位linux下有CASL汇编语言的编译器吗?

[复制链接]
 楼主| 发表于 2003-12-20 08:14:56 | 显示全部楼层
最初由 wide288 发表
我读了你给的链接的“readme“了。从原网站下的。
我不是代码有问题,而是说我可能机器上少了一两个文件如:bison.o

对了,如果你编译成功了,能提供一下二进制可执行的文件下载吗?
那样我就不用编译了。

附件里是我编译好的文件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2003-12-20 21:02:21 | 显示全部楼层
搞笑啊,专为考试而开发的汇编语言
有必要开发出解释器吗??
 楼主| 发表于 2003-12-21 12:22:06 | 显示全部楼层
最初由 Poorest 发表
搞笑啊,专为考试而开发的汇编语言
有必要开发出解释器吗??

怎么没有必要?? casl是很有价值的汇编语言,有了编译器就可以验证解题方法的正误,对于学习汇编很有帮助
发表于 2003-12-21 15:18:59 | 显示全部楼层
不考试当然不需要不过如果学编译原理的话。。。
发表于 2004-1-9 10:31:29 | 显示全部楼层
将 GR0 中的四位 BCD 码从高到低依次存放到 GR2 所指的四个内存单元中。

  1.     START   
  2.     LEA   GR3 ,4      ;循环计数器
  3. L1  ST    GR0 ,REG    ;保护其余几位 BCD 码
  4.     AND   GR0 ,C000F  ;屏蔽高 3 位,留下最低 1 位 BCD 码
  5.     ST    GR0 ,3 ,GR2 ;将此位 BCD 码存放到 GR2 所指第四个内存单元
  6.     LD    GR0 ,REG    ;恢复其余几位 BCD 码
  7.     SRL   GR0 ,4      ;将已处理过的此位 BCD 码移出
  8.     LEA   GR2 ,-1,GR2 ;地址指针减 1
  9.     LEA   GR3 ,-1,GR3 ;循环计数器减 1
  10.     JNZ   L1          ;未处理完,继续
  11.     RET   
  12. C000F DC #000F        ;十六进制常数,屏蔽屏蔽高 3 位 BCD 码用
  13. REG DS 1              ;暂存单元  
复制代码
发表于 2004-1-9 10:35:43 | 显示全部楼层
将存放在 GR2 所指的四个内存单元中的四位 BCD 码依从高到低顺序压缩到 GR0 中 。

  1.        START   
  2.        LEA   GR0 ,0      ;GR0 清 0
  3.        LEA   GR3 ,4      ;循环计数器
  4. L1     SLL   GR0 ,4      ;将已处理过的 BCD 码移到高位
  5.        LD    GR1 ,0 ,GR2  ;GR1 用作临时工作寄存器
  6.        AND   GR1 ,C000F  ;屏蔽高 12 位
  7.        ST    GR1 ,0 ,GR2  ;对内存单元中的 BCD 码预处理
  8.        ADD   GR0 ,0 ,GR2  ;将已处理过的此位 BCD 码加到 GR0 低位
  9.        LEA   GR2 ,1 ,GR2  ;地址指针指向下一位 BCD 码
  10.        LEA   GR3 ,-1,GR3 ;循环计数器减 1
  11.        JNZ   L1          ;未处理完,继续
  12.        RET   
  13. C000F  DC    #000F       ;十六进制常数,屏蔽高 12 位二进制数
  14.        END
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表