This is an archive of CompuServe forum messages from 1985 to 1995, as saved in transcripts by John Foust.
Search Results (285 messages)
CPT never bothered with the WEIRD-O assembler for the 8080. They came up with a portable language (Still assembly) called MOL. instead of MOV AX,BX which reads backwards (Stupid) they simply had BX:AX. Oops I'm thinking of 8088 but the ideas the same. They had a wonderfull computer. It had…
I don't mean to sound like a nut but the Z80 was faster than an 8080? I think not. While it did have a few instructions extra it was almost exactly the same as the 8080. It did come in MUCH faster clock rates tho so that may have been…
Larry – Okay, let's say there were good technical reasons someone might choose the 6502 over other chips in the era 1975-1978. I'm not arguing against that. But if the 6502 had cost what other chips did at first, chances are very good it would have languished for a few…
In typical Intel-fan fashion, the software and systems available for the 8080 and Z80 chips were out of date before they were released. -larry
Jay, The benchmarks spoke for themselves, and the real world implementations bore that out. The Z80 was faster than the 8080, and the 6502 was approximately four times as fast as the Z80. While the extra registers were theoretically a good thing, they blew it in the poor memory bandwidth…
Kev, Well, I can tell you that from personal experience, I chose the 6502 over the 6800 strictly on speed and addressing modes, and that several of my friends did the same. Another factor was that the 6502 needed only a single phase clock, and unless you were very careless…
Larry, I don't think choosing between the 6800/6502 was ever about speed, except perhaps in some industrial devices. Sure, it was one of those subjects cpu owners liked to argue about, but price was the main way the 6502 broke into the hobbyist market… and from there, into the later…
I tend to agree with you on this point Mike. However the 6502 was very good for teaching assembly language since it didnt overwelm the programmer. Speed wise I would have to think that the 6502 would indeed be spending 4 times as much time reading values from RAM that…
The 8080 picked up followers because it was (in my opinion) first on the scene. Sure there were chips like the 8008 and 4004 but the 8080 was a "real" micro. After being sold via the Altair several clones started to make it a real market. So since there was…
The benchmarks were results oriented, and consisted of searches, various math ops, block memory moves, and so on. The 6502 came out at the top of the heap in the 8 bit arena, and beat most of the 16 bit CPUs available at the time. Though the 6502 cannot be…
No, I never saw them. But were the benchmarks results-oriented or instruction oriented? I find it hard to believe that a 6502 could do say a sieve benchmark as fast as a Z80, given the same clock speed. As for instructions, the 6502 strikes me as the ultimate in brain…
Mike, Did you ever read the benchmarks in Kilobaud (or whatever it came to be called later), comparing the Z80 and the 6502? If you had, you would have seen that the 6502 was on average 4 times faster than the Z80, an observation borne out by comapring virtually every…
I think the 6502 was a success only because of price. Compared to a Z80, the 6502 is _slow_. Not compared to raw clock speeds and instruction per instruction timings, but becaause the Z80 has so many more registers and addressing modes then the 6502 was, so you could accomplish…
Kev, Price was only part of the reason for the success of the 6502 over the 6800. The other factor was speed. Even with its two accumulators, the 6800 was just a bit of a dog when compared to the 6502. Never did figure out why _anyone_ ever went with…
It looks as though you have used STRUCT correctly. I would replace the DS.L lines with DC.L lines, however. I'm not certain what DS.L would do, except perhaps generate an error. DS by itself would Define Storage for the amount of memory indicated in the argument, but would not initialize…
#Inheritance in Asm?
Message #118650
Gee, now I want a doubly linked list of FileInfoBlocks. In C++ I'd either declare a child class which added *next and *prev pointers or a new class descended from both a List class and the FileInfoBlock class. Using the exec/types.i macros, can I do the same type of thing…
Thanks for your lucid explanation on the difference between fib_SIZEOF and #fig_SIZEOF in a move.l expression. Have you considered writing an "Assembler for ARexx Programmers" text? I admit it isn't a large market, but you'd have 100% of it. THol() { cout
Forgot about the 6800??! If memory serves me, the Apple I had a jumper to use either the 6800 or the 6502. The 6800 had a lot of followers at the time, but the 6502 got a foothold in the cpu market mainly by being inexpensive…. the 8080 was over…
Yes, I was thinking of HUMAN parentage & some similarities of the instruction set. Thanks for clarifying a few areas in microprocessor history, though. (I'd forgotten all about the 6800) I'll accept bastard cousin, I think it fits well. A new term of endearment to me… ;^) (cynical: what do…
Well, my point was that the differences were more like walking & driving, but not as great as walking & using a SST. A 68000 would be dozens of hundreds of times faster, but not thousands. Of course, I'm still a novice at 68K asm, maybe I'm wrong. Can anyone…
That's a pity, I'd hoped you had written more since I have a back-burner plan to do some explorations of file formats and found your articles helpful. Also, why reinvent the wheel. I know exactly what you mean about gettting lazy without a deadline, I'd written a number of articles…
As Mike mentioned, you may be thinking of the 6800 as being more related to the 68000, altho the 6502 is also related because of HUMAN parentage… The Motorola 6800 came out in 1974. Part of the 6800 design team left to join MOS Technology, which then brought out the…
I couldn't (and in fact, didn't) say it better myself.
Mike, Yes, and in addition, it doesn't even have 1 16 bit address register, it would be SO much easier to move or clear any more than 256 bytes of data if it had one. Instead of: sta,x $c000 sta,x $c100 sta,x $c200 … Greg
Actually, I know much more about the 6502 than I do about the 68000 (can tell you that lda #$00 sta $d020 translates to a9 00 8d 20 d0, off the top of my head). And on my way home from work I was thinking of ways that 68000 asm…
Thanks, Greg, but I do have it. Matter of locating it. .Betty
I have not worked much on the file format lately. Without Transactor, there aren't many magazines interested in such, and I had learned most of what I wanted for my own curiosity. Nothing like a writing deadline to spur my curiosity, though! TRANSACTOR kept me studying all the time. Now,…
Yes, you can do anything with a 6502 that can be done with a 68000, neglecting speed and size constraints. However, this is like saying you can go anywhere on Earth on foot (or swimming) that you can go by plane. Sure, both methods will get you where you're going,…
A generic 6502 only accesses 64K & has a 256 byte stack (although my C128 has two of 16 MMU controlled banks of 64K and a 512K ram expansion with DMA that allows transfering 1 byte per cycle). Additionally, memory locations 00-FF are called zero page & can be addressed…
Thomas, To load a structure size you want to do a move.l #fib_SIZEOF,d0 to put the immediate value in register D0. Note that the instruction move.l fib_SIZEOF,d0 is valid but subtly incorrect: it uses absolute addressing to load the *contents* of the address given by the fib_SIZEOF symbol. This catches…
#Args for AllocMem
Message #118469
I want to mannage memory dynamically (the way I would with malloc & free), making calls to the exec library functions AllocMem() and FreeMem(). I need units large enough to hold a File Information Block. I can see in CAPE:includes/libraries/dos.i a LABEL statement named fib_SIZEOF, which certainly _looks_ as if…
Maybe it would be called a Transexual Cross compiler? By the way I'm still looking for an 68000 -> 8086 translator.
Greg – not to worry… the term "cross compiler" has confused people for years, and still does all the time. Someone should change the name .
I imagine that the amount of memory needed on the 6502 system just to simulate the 68000's registers and much larger stack would make it impossible to translate anything other than small programs, not to mention all the extra steps needed to actually calculate the addresses of operands (a simple…
If you don't have DAsm I know I do, I was referring to the doc file when replying. Let me know if you need it. -Greg.
Thanks for clearing that up for me, I wasn't quite sure what cross compiler meant, and didn't think that taking 6502 source and generating 6502 obj. could be cross compiling just because you happen to be running the assembler on a different CPU – guess I expected more from computer…
Greg, Yes, Matt Dillon writes great stuff. If his name is associated with it, then I pay attention. Hmmm, I always thought a cross assembler was something that allowed you to write object code for a machine on another ("higher powered") platform…. Thanks, –fran
Betty, Thanks, yes, could you please upload it? I haven't written an 6502 assembly since I got my A2000 & have gotten spoiled 🙂 … I've volunteered to write a few utilities for the 8-bit CBM machines and dug out my my old 6502 tools. They work fine, but after…
Well, I'd call 68K assembler a high level language compared to 6502 assembly (try doing move.l (a2)+,(a3)+ in 6502!) – as such compiler seemed an appropriate term 😎 -Mike
How about "assembly code translator"?? I don't think I've ever heard of a common name for such beasts, either… not that there are a lot of them anyway .
DASM is Matt Dillon's cross assembler, and it is freely distributable. It has been in our libraries in the past, but I did not locate it here this morning. I think I have it around here somewhere, and could upload it for you. .Betty
A cross assembler differs from a 'normal' assembler in that the code which it assembles is different from the processor on which the assembler itself runs on. For example, an assembler which runs on a PC and takes 8086 assembly is a 'normal' assembler. An assembler which runs on an…
DAsm is a freeware PD program by Matt Dillon, it is located on Fish disk #287 and supports : 6502 68705 6803 HD6303 6811 It is not a cross assembler as far as I define one (takes 68000 and converts to 6502). It is, a multi-pass macro assembler which takes…
#Amiga cross-asm
Message #118286
I've heard of a 6502 cross assembler for the Amiga called DASM. I've not been able to get info about it, though (like if it's PD or commercial, etc. or WHERE to get it….). Has anyone heard of it, or another 6502 cross assembler? Any info greatly appreciated, thanks.
John, Of course, when programming for that horrid, Intel-based environment, one can't pay any attention to "rules" and expect to get any performance out of the hardware. Of course, even breaking all rules didn't help Microsoft get any semblance of performance out of Windows 3.0 …BobR White Wolf Productions
I wonder if there are speed gains to be made on the Amiga using similar heroic techniques? Maybe that's what the Eurodemo kids are doing? THol() { cout
As an interesting sidelight, Windows (2.0 and 3.0) are well-known for having self-modifying code… the fastest way they could do things like bit-blitting, was to have Windows create the blit code on the fly, in a spare piece of memory, then jump to it to get the bits copied.
I'm amusing myself by writing a little utility simultaneously in Tim Holloway's C++ and C.A.P.E. 2.5's Assembler. I'm impressed by the sheer quantity of gruntwork Tim accomplishes in the constructors he provided. On the other hand, I'm impressed by how straightforward a recursive algorithm can be to implement when one…
THol, While your (pseudo) code is currently "legal", it is being discouraged by CBM guidelines, as it is mixing both code and data in the code hunk. While this is not currently a problem, if and when we get to a OS environment with true MMU support, it is quite…
#118031-
Help to buy ARGASM.
Message #118121
I appreciate that very much. How would I pay you? I could send you a money order? Or check or?!?! If you have the phone or Fax number of that London dealer I could send him a Visa#. Either way I appreciate it very much.
Page 1 of 6