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
0
votes
1 answer

Easy68k: View Initial values at addresses

I am very new to Assembly programming. I am using Easy68k for Assembly. Here is my script: ORG $1000 START: ; first instruction of program * Put program code here move.l $00000080,d0 move.l $00000010,d1 …
Saad A
  • 1,135
  • 2
  • 21
  • 46
0
votes
2 answers

Motorola 68000 - Reliably cipher a number

I was wondering if there was a way to reliably cipher, encrypt, or hide a number in m68k (or assembly in general). I.e: 01=09, 32=1F Or something inconsistent like that. Thanks!
0
votes
2 answers

Copy a byte from a stack without changing the stack pointer(Motorolla 68000)?

I'm asked the following question: Three bytes are pushed onto the runtime stack. Copy the third byte from the runtime stack to D0 without changing the stack pointer So I have a stack that looks like this: | | | | |cc | <-- SP…
TTEd
  • 309
  • 1
  • 10
0
votes
1 answer

Calculating Offset (Motorola 68k)

I'm given a question to find the offset as such: Assume the instruction BNE HERE is in memory location $FF1234 and the label HERE represents the instruction at address $FF12C0. Compute the offset (displacement) for …
user3739406
  • 254
  • 1
  • 3
  • 16
0
votes
1 answer

If Statement Conversion From C to Assembly(Motorola 68k)

I'm given a IF statement like this: if( (Ch > ‘g’) && (Ch < ‘m’)) || ((A>=0) && (A<=100)) condition = 1; else condition = 0; Where Ch is a char, A is a int, and condition is a short int. I'm trying to put this into assembly language as…
user3739406
  • 254
  • 1
  • 3
  • 16
0
votes
2 answers

Addressing Mode: Distinguishing between Absolute Short and Absolute Long?

Okay so I have the following instruction: MOVE.W $1234, $8000 Now I'm confused whether the addressing mode for $1234 and $8000 is absolute short or absolute long. I would also really appreciate it if someone can explain how to distinguish between…
Sid
  • 1
  • 1
0
votes
3 answers

How to access structures in C without expensive multiplications in resulting ASM?

I was refactoring some performance-critical code and when I didn't didn't get the results I was hoping for, examined the ASM code (that I keep from each build) and noticed that the access to structures in C results in 3 expensive multiplications…
3D Coder
  • 498
  • 1
  • 5
  • 10
0
votes
1 answer

Interruption handler in 68000 assembly must be atomic, how can I do it?

I want to create a driver for the Motorola 68000 in assembly code and the interruption handler must be atomic, how can I do it? (I only want to solve the atomic problem, the ISR already got it)
Carlimedes
  • 17
  • 4
0
votes
1 answer

(Networking) XM6i emulating NetBSD 4.0.1 x68k

I have installed NetBSD 4.0.1 x68k on XM6i (http://www.ceres.dti.ne.jp/tsutsui/netbsd/x68k/NetBSD-x68k-on-XM6i.html) as a virtual machine emulating a 68030 platform. I have gotten everything to work except networking. According to the…
IndoNinja
  • 53
  • 8
0
votes
1 answer

Checking if a string is alphanumeric in M68k

I feel like this is something that is relatively easy to do, but I have no idea what to do. For my assignment you cant use the structured control commands (If - Then - Else - Endif; If - Then - Endif). So I have to use branches. Below is what I've…
Mikotto
  • 17
  • 5
0
votes
1 answer

Motorola 68k Addressing errors

So, basically, I have an exam on Wednesday, and I started studying the 68k assembly on Friday, because I've been busy studying for the math exam, passed on Friday (I know you don't care, but I say this so you don't think I'm an a******.) Anyway, I'm…
Giulio Paoli
  • 85
  • 11
0
votes
1 answer

Output is being recorded with garbage assembly Motorola 68K

I am having problem getting rid of the trailing trash in memory when logging my output. I have a number n in my D1 and another one in D2. Whenever I log them, the appear like this: 1-20012 but I just want the 1-2 I would just like to know how would…
J Tarantino
  • 55
  • 1
  • 4
0
votes
1 answer

68000- How to move a hexadecimal number in a register 2 units to the left?

I want to move the number 01,02,03,04 individually into the register D1 so that after all the moves have completed the result in register D1 will be 01020304. The way I'm thinking of solving this problem is, move 01 to D1. Then somehow shift it 2…
user1232112
  • 35
  • 1
  • 7
0
votes
1 answer

68k -- Why is this loading FF?

I've been trying to figure out why this program loads FF into D1. Here is the code: ORG $1000 START: MOVE.B pattern,D1 SIMHALT pattern EQU $AA50 END START My thoughts are that pattern is in hex. It's a word.…
PerryC
  • 1,233
  • 2
  • 12
  • 28
0
votes
2 answers

What does this bsr.l instruction do?

I'm playing with coldfire disassembler and find out this piece of code: loc_F7E: bsr.l loc_F7E+2 lea 12(sp),sp pea (284).w clr.l -(sp) move.l a6,d0 addi.l #-636,d0 move.l d0,-(sp) loc_F98: bsr.l loc_F98+2 lea…