I am a beginner when it comes to assembly language. I am using "easy 68k editor/assembler" to write 68k assembly code that asks the user for 2 values, then sum them up together and display it. The problem is that my code keeps getting halted and I am not sure how to troubleshoot/debug this problem.
Can anyone help me figure out how to track down the error? I will be grateful. Thank you in advance.
*-----------------------------------------------------------
* Program : Sum of Two Numbers
* Written by : Me
* Date : July 15, 2012
* Description: This program will read in 2 numbers the user
*inputs and find the sum.
*-----------------------------------------------------------
org $8000
START movea.l #MSG1, A3
trap #3
clr.w D2
JSR Loop
trap #2
move.w d2, d4
movea.l #msg2, a3
trap #3
clr.w d2
jsr loop
trap #2
movea.l #msg3, A3
trap #3
add.w d4, d2
JSR DISP
trap #2
trap #9
LOOP trap #0
trap #1
cmp.b #$0D, D1
BEQ BREAK
and.b #$0F, d1
mulu #10, d2
add.w d1, d2
jmp loop
Break rts
DISP clr.b d3
DISDIV divu #10, D2
move.b #16, d5
ror.l d5, d2
or.b #$30, d2
move.b d2, -(A7)
addq #1, d3
clr.w d2
ror.l d5, d2
bne DISDIV
DISDIG move.b (a7)+, D1
trap #1
subq.b #1, D3
bne DISDIG
rts
org $8100
MSG1 DC.B 'Please enter the first of two numbers (two digits) ', 0
MSG2 DC.B 'Please enter the second of two numbers (two digits) ', 0
MSG3 DC.B 'The sum of the two 2 digit numbers you entered is ', 0
end start
Most likely the traps you are using are not those used by Easy68K. Look here for the traps used by Easy68K.
The function of the trap instructions is not defined by the 68K assembly language, but rather assigned by the operation system (if the OS makes use of the traps at all, some just ignore them). If you execute a trap instruction the 68000 just executes the code the trap vector points to. There is no "buildin" function assigned to any trap.