🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.atari.st
Article #35696

Sozobon bug / some Dhrystone results

#35696
From: Eric Gisin
Date: Sat, 31 Dec 1988 00:41
25 lines
1354 bytes
There is a serious bug in the Sozobon assembler.
The instruction "btst #0, Dn" generates a 32 bit immediate
operand instead of a 16 bit operand. When this is executed,
the extra second operand word is executed as an OR immediate instruction.
The "real" instruction following the btst is consumed as data.
I don't think the compiler generates btst's, but memcpy() has some.
The easiest fix would be changing memcpy, you can
probably change the btst to "moveq #0,Dtmp; btst Dtmp,Dn".

	---------

I compiled Dhrystone 2 under Sozobon and GNU C recently,
here are the results. GCC was using 16 bit "int"s.
I used an "optimized" version of the C string library with Sozobon and GNU.

	Compiler	Options		Dhrystones/second (with registers)
	Sozobon				1001
	Sozobon		-O		1066
	Mark Williams 3.0, optimized	1173
	GCC 1.30			956
	GCC 1.30 -O -fomit-frame-pointer 1282

Dhrystone version 1.n results are meaningless for optimizing compilers.
Dhrystone 2 has been posted twice to comp.arch,
I don't know if it is on any public servers.
Technical Details
Message-ID: <22922@watmath.waterloo.edu>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!watmath!egisin

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!watmath!egisin
From: egisin@watmath.waterloo.edu (Eric Gisin)
Newsgroups: comp.sys.atari.st
Subject: Sozobon bug / some Dhrystone results
Message-ID: <22922@watmath.waterloo.edu>
Date: 31 Dec 88 00:41:38 GMT
Distribution: comp
Organization: U of Waterloo, Ontario
Lines: 25