CASL问题

guchaoqun 2003-09-26 02:31:50
将字符串 STR 中的四位十六进制数的 ASCII 码化成 16 位二进制数放到 GR0 中 。
START
LEA GR0,0
LEA GR2,0
LEA GR3,4
L1 SLL GR0,4
LD GR1,STR,GR2
AND GR1,C00FF
SUB GR0,C30
CPL GR0,C0A
JMI L2
SUB GR0,C7
L2 ST GR1,STR,GR2
ADD GR0,STR,GR2
LEA GR2.1,GR2
LEA GR3,-1,GR3
JNZ L1
RET
C00FF DC #00FF
C30 DC #30
C0A DC #0A
C7 DC 7
STR DS 4
END

请问在AND GR1,C00FF中,为什么要屏蔽高 8 位?
...全文
31 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
commandconque 2003-09-26
  • 打赏
  • 举报
回复
标准的ASCII是128个,也就是2^7,最高位(第8位无效),16位计算机中,屏蔽掉高八位就是ASCII的二进制数。
补充:
扩展的ASCII是256个(2^8),本题就算使用扩展的ASCII 也行
LazyFarmer 2003-09-26
  • 打赏
  • 举报
回复
因为ASCII是8位编码,所以高8位是无效信息,因此屏蔽。
CASL引入国内以后作为中国计算机软件专业技术资格和水平考试高级程序员级考试内容之一。使用虚拟的计算机目的为的是一个公平的考试环境,毕竟如果让每天和MC680X0打交道的朋友去和写PC驱动的朋友一起考i80X86汇编显然是不公平的。 CASL达到这一目的的同时却带来了一个麻烦:CASL程序无法在常见的PC或者其他任何计算机上运行。 我们有三条常见选择: 1)汇编器,将Casl汇编程序汇编成诸如80X86指令的程序,在PC上运行 2)解释器,解释执行每一条指令,有点像解释型高级语言,但是来的简单一些 3)忘记CASL,忘记高程考试 ;;;;-) 在选择了第二种方案以后我们开始了这个软件...... Nasl的设计主要目标便是简单易用,事实上在我能找到的所有CASL解释器中没有一个能很快上手运行起来的,当然这不包括Nasl本身。由于Comet是一个虚拟计算机,诸如复旦大学计算机科学系所设计的CASL汇编器的设计只能给使用者带来不必要的麻烦。鉴于它只能在Pure DOS下运行,Nasl诞生了,编写一个开放的人人可以得到的方便的CASL解释器是编写Nasl的初衷之一。 Nasl能对输入的CASL汇编程序解释运行,以此可以观察各个寄存器以及内存的变化情况,使得您可以熟悉CASL汇编并对汇编语言程序设计的思想有所了解,帮助通过高程考试。Nasl支持CASL汇编文件的编辑,但是请不要将它视作一个";;;开发环境";;;,CASL和Nasl都不值得您去那么做。 最后祝所有努力学习的朋友好运!

2,959

社区成员

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

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