Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly LC-3如何判断寄存器中的数据是否为有效的7位ASCII码?_Assembly_Ascii_Lc3 - Fatal编程技术网

Assembly LC-3如何判断寄存器中的数据是否为有效的7位ASCII码?

Assembly LC-3如何判断寄存器中的数据是否为有效的7位ASCII码?,assembly,ascii,lc3,Assembly,Ascii,Lc3,我正在准备期末考试,包括LC3编程。其中一个示例问题要求我能够编写一段汇编代码,根据寄存器的值是否为有效的ascii码来执行不同的操作。如何判断值是否为有效的7位ascii码 提前谢谢 ASCII字符集有128个字符。它有一种编码:每个字符一个字节,代码单位值等于代码点编号。因此,以7位表示的整数是有效的 因此,清除7个低阶位并测试整个寄存器的0。要清除寄存器中的位,您可能需要进行测试,而不是0x7F。测试是否设置了高位?定义“有效的7位ASCII码”,然后进行检查,如果不是所有7位模式都“有效

我正在准备期末考试,包括LC3编程。其中一个示例问题要求我能够编写一段汇编代码,根据寄存器的值是否为有效的ascii码来执行不同的操作。如何判断值是否为有效的7位ascii码


提前谢谢

ASCII字符集有128个字符。它有一种编码:每个字符一个字节,代码单位值等于代码点编号。因此,以7位表示的整数是有效的


因此,清除7个低阶位并测试整个寄存器的0。要清除寄存器中的位,您可能需要进行测试,而不是0x7F。

测试是否设置了高位?定义“有效的7位ASCII码”,然后进行检查,如果不是所有7位模式都“有效”,则进行范围检查或者只需查找msb,如果这是确定有效与无效的唯一方法,或者您可以只测试8位值以查看它是否为负值(即符号位集)。LC-3显然有一个测试符号位的条件分支指令,所以这似乎是最简单/最明显的方法。你能看看这个吗?