对等软件 1.5.6发布

来自CSA2

此消息通知社区,Peersoft的更新已发布在我的网站上。

这是版本1.5.6,这是版本1.6的预览,该版本将于今年秋天发布^ H ^ H ^ H ^ H ^ H ^ H ^ Hwinter ^ H ^H ^ H ^ H ^ H ^ Hnext ^ H ^ H ^ H ^ H今年;-)。下载ilnk是 http://bgilon.free.fr/apple2/对等软件v1.5.6.zip .

此版本涵盖了两个域:

a)增强的语法和语义:
a.1)具有一个新的整数子类型(字节),并引入了可选的无符号整数算法;
a.2)一种新的循环构造语法,用于处理具有可观的预期(和测量)性能增益的阵列。
b)Applesoft错误修复:仅有两个,但无论如何这都是次要版本…

简要说明一下,这些功能是从1.5.5以前的版本中添加的:

a)支持8位宽的整数子类型。
使用字节变体而不是原始的16位宽子类型可以获得的主要好处是在数组中使用时要考虑的较小的内存占用量。当处理新的变量替代语法方案时,可以获得很小的性能提升,该方案在处理字节变量时使用8位算术(而且NEXT指令的处理可能会更快一些)。

但是您可能会说,使用先前的POKE语句填充的存储区域上的PEEK函数可以提供相同的结果……

那么与在内存上使用PEEK函数(也可以从内存返回字节值)有何不同?
a.1)从PEEK函数调用返回的值在0..255的范围内,这与字节子类型不同,根据配置字节的设置,该范围可以是-128..127或0..255(请参见配置字节)。下面的列表项以获取详细信息)。
a.2)如果用户处理一个以上维度的数组,PEEK函数将几乎无用。
a.3)PEEK的使用也意味着在每个引用的基地址和索引表达式之间进行一个FP加法运算的开销,这与使用字节数组的地址不同,字节数组的地址是从元素索引上的整数算术得出的。

b)除默认的带符号算术(例如原始16位和新的字节子类型)的默认带符号算术外,还设置了一个配置字节(十进制@地址40167)以引发无符号算术。

点号(‘.’变量名的后缀)用于显式标记字节变量。

首席信息官
清除率:A%=–1:A = -1:A%-= 1:A。 -= 1:打印A%,A。
戳40167,128:打印A%,A。:A%+ = 1:A。 + = 1:打印A%,A。
A%-= 65534:A。 -= 254:打印A%,A。
A%-= 2
答-= 2
打印A%

将打印

-2 -2
65534 254
65535 255
1个1
溢出错误
溢出错误
1个1

到显示屏上。

同样,在NEXT语句处理中使用的算术变量是从配置字节设置中派生的,因为相应的FOR语句正在处理中。但是,如果打开了无符号算术选项设置,则不排除使用负步长值。因此,将负值的加法运算替换为与前值相反的正值减法运算。

c)Applesoft错误修复:
c.1)作为支持字节子类型处理的一种方式,以下codlet所示的Applesoft错误已修复:

10 REM输入“10:10”输入提示时(不带双引号)字符串
20输入“TIME OF EVENT: “;A$: PRINT A$

将输出字符串“10”显示在普通香草Applesoft下,而不是整个输入的字符串下。伊凡·德鲁克(Ivan Drucker)在堪萨斯州音乐节的上一届会议上指出了这个错误,“Nu Input”包。从现在开始并在Peersoft,Applesoft的帮助下“sucks”少一点(引用伊万’自己的形容词来限定这些Applesoft陈述);-)。

c.2)普通香草Applesoft无法处理以下语句:尽管-32768是绑定到整数变量的完美有效值(当有符号算术处于活动状态时;-),但A%= -32768。 对等软件还包括该错误的修复程序。

d)用于逐个元素遍历数组的新语法方案。先前的语法扩展允许通过多维数组进行迭代’s元素,使用仅具有一个级别/一个索引变量的循环(请参见下面提供的文档和示例)。

10 DIM A%(2,2)

20 FOR I = 0至8:EL%= A%(I):打印I;”被检查的元素:“; EL%:: S + = EL%:下一个I:PRINT“SUM IS “;S

从1.5.6版开始,现在提供了一种新语法,以进一步简化数组处理并增强运行时性能:

10 DIM A%(2,2)

20; FOREACH EL%,A%:PRINT#;”被检查的元素:“; EL%:S + = EL%:下一个EL%:PRINT“SUM IS “;S

注意,#表示当前元素索引(在循环开始时绑定到零值,并在每次发生NEXT时加1)。

另请注意,上述语法对于更新数组也很有用’元素,而不仅仅是读取其原始内容,也就是说,NEXT语句将使用绑定到循环变量的值更新数组元素,作为其处理的一部分。

15个POKE 40167、128:FOREACH EL%,A%:EL%= RND(0)* 65536:NEXT EL%

将使用0到65535之间的随机值初始化A%数组(一旦重置算术标志,它将在-32768到32767范围内呈现)。

归档文件中提供的文档还涵盖了将在下一个Peersoft版本(1.6)中实现的功能,但请注意,这些功能在此版本中根本无法使用。它们在文档中标记为黄色背景。

玩得开心,
贝诺

请关注并喜欢我们:

关于作者

比尔·马滕斯

苹果。董事会主席兼俱乐部主席-Bill为创始人Val J.Golding和A.P.P.L.E.工作从1981年到1982年。1999年,他开始对A.P.P.L.E.分发和出售的材料进行存档。 Bill曾在东京从事金融行业,并以他的名字从事过20多个大型办公基础设施项目。 2001年3月,他退休,写书,花更多时间追求个人兴趣。作为用户小组的主席,Bill负责Call-A.P.P.L.E。的分发。杂志以及本网站的组织。比尔目前居住在日本东京和华盛顿州谢尔顿,两地之间的时间不一样。