Questions tagged [68000]

The 68000 is a 16/32 bit CISC CPU, originally designed by Motorola, Inc.

The 68000 is a 16/32 bit CISC CPU, originally designed by Motorola, Inc.

After its introduction in 1979, it rapidly became popular among the system designers of its time. In its heyday, the 68000 was used in computers from Hewlett-Packard, Apollo/Domain, Sun Microsystems, Commodore (Amiga), Atari (ST), and Apple, among others.

Today, the 68000 and its derivatives are primarily used in embedded systems.

232 questions
4
votes
3 answers

Passing parameters on the stack

When you pass parameters to a function on the cpu stack, You put the parameters on then JSR puts the return address on the stack. So that means in your function you must take the top item of the stack (the return address) before you can take the…
Frames Catherine White
  • 27,368
  • 21
  • 87
  • 137
4
votes
1 answer

Display Register in decimal - assembly language EASy68K

I am trying to display D0 in decimal, but when I run the program, nothing is displayed. I don't get any errors, and when I look in register D0 I see the expected number in hex, but the decimal equivalent isn't being displayed. I am trying to use…
Bryan
  • 2,951
  • 11
  • 59
  • 101
4
votes
2 answers

What is PC-relative addressing and how can I use it in MASM?

I'm following Jack Crenshaw's compiler tutorial (If you look at my profile, that's what all my questions are about lol) and it just got to the point where variables are introduced. He comments that the 68k requires everything to be…
rpatel3001
  • 147
  • 1
  • 11
4
votes
2 answers

How does the 68000 internally represent instructions?

How does the 68000 internally represent instructions. I've read that there are different types of instructions: single effective operation word format instructions, brief and full extension word format instructions. The single effective operation…
4
votes
3 answers

Left Shift Overflow on 68k/x86?

I heard that the Motorola 68000 and Intel x86 architectures handle overflow from left shifting differently. Specifically the 68k LSL vs. the Intel SAL/SHL assembly instructions. Does anyone know the specifics of this? Do they set different flags, or…
Tony R
  • 11,224
  • 23
  • 76
  • 101
4
votes
3 answers

Converting hexadecimal HTML-color to Amiga colorregister hex (and back)

HTML hexadecimal colors are written with 6 digits (3 bytes, a so called, A hex triplet). The Amiga's color registers takes a word (2 bytes, 16-bits) which defines a color. Example: Yellow - HTML hexadecimal #FFFF00 Yellow - Amiga color register…
Beamie
  • 647
  • 7
  • 23
4
votes
2 answers

Cycle accurate emulation

I'm currently learning C for my next emulation project, a cycle accurate 68000 core (my last project being a non-cycle accurate Sega Master System emulator written in Java which is now on its third release). My query regards cycle level accuracy as…
PhilPotter1987
  • 1,306
  • 2
  • 12
  • 20
3
votes
1 answer

OS response to page fault

When a page fault occurs the MMU raises and exception (interrupt). The OS stops the current processes and addresses this raised interrupt. 1) Does this mean that (for 68K architecture where there are 7 interrupt lines with 7th being un-maskable)…
rrazd
  • 1,741
  • 2
  • 32
  • 47
3
votes
1 answer

gcc: strange asm generated for simple loop

m68k-linux-gnu-gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0 CFLAGS = -Wall -Werror -ffreestanding -nostdlib -O2 -m68000 -mshort I am very confused why gcc generates such (seemingly) non-optimal code for a simple for loop over a const array. const…
grep
  • 3,986
  • 7
  • 45
  • 67
3
votes
1 answer

How do I implement floating point IEEE754 division in 68k assembly or in general?

I have to create a floating point implementation for a 68k processor in IEEE754 format, and I've figured out how to do all the other basic operations (conversion from decimal, addition, subtraction, multiplication), but I can't figure out how to do…
Steve
  • 31
  • 1
  • 2
3
votes
3 answers

basic M68000 question, Neo Geo - related

I want to write a program in Motorola 68000 assembler, the target platform is Neo Geo (games console from the nineties); this question is meant serious, I have a specific project which I want to realize and I have programming experience (though I am…
user438602
3
votes
2 answers

Did any of the Motorola 68k processors have performance counters?

Did any of the Motorola 68k processors have performance counters or anything similar that could be used for cycle-level code timing?
user5885662
3
votes
1 answer

M68k - IDA Pro 24-bit addressing?

I'm trying to disassemble a BIOS image for the 68000, and I'm having trouble getting IDA Pro 6.5 to correctly cross-reference addresses. For those who aren't aware, the Motorola 68000 has a couple of interesting features/quirks related to…
DarkMorford
  • 505
  • 1
  • 4
  • 12
3
votes
1 answer

How to store the carry-bit from Assembly 68K CCR?

I did find a MOVE from CCR instruction in the manual... http://www.freescale.com/files/archives/doc/ref_manual/M68000PRM.pdf But I keep getting an 'invalid addressing mode' error. I've tried different forms of syntax and anyways I only want to store…
Milan Novaković
  • 331
  • 8
  • 16
3
votes
2 answers

Why is value passed at 0(SP) is acessible only at 4(SP)?

Why is value passed at 0(SP) is acessible only at 4(SP)? for example I need to pass a number to printn by 0(SP) instead of 4(SP) (as it's used in the routine) or it will not work. What am I missing? MOVE #12,D0 MOVE D0,0(SP) here I use 0…
The Mask
  • 17,007
  • 37
  • 111
  • 185
1 2
3
15 16