Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I am having an issue developing a program that calculates a polynomial function. I know how to do an MUL(Multiple) and IDIV (Division) but fail

I am having an issue developing a program that calculates a polynomial function. I know how to do an MUL(Multiple) and IDIV (Division) but fail to develop the instruction to create a program to calculate a polynomial function exercise. We required writing certain coding format to be complete this exercise for assembly code. I need a help to solve this problem and tomorrow night?

Goal: To become familiar with allocating memory for your program, gain experience in dealing with 8-bit numbers including signed numbers and 16-bit numbers, and understand and use some basic instructions such as arithmetic instructions.

Instruction:

1. Write an assembly program to calculate the value of following polynomial function.

2. Use MUL and IDIV instructions.

3. Use DS.B and DS.W to create variables with the right sizes to store and retrieve data.

4. Have an EQU section, a data section, and a code section.

5.use following formula to raise a number to the desirable power: x2 = x*x, x3 = x2*x and x5 = x2*x3. Please save every calculation result to memory. Please pay great attention to the issue of data size: Should a piece of data be stored in one byte or two bytes?

image text in transcribed

This example coding format that is required of us to create this exercise:

;File Name:

;Date:

;Purpose:

;Procedure:

;

;

;Test:

;

;

;*****************************************************************

; export symbols

;*****************************************************************

;For absolute assembly: this is the application entry point

ABSENTRY Main

;*****************************************************************

; Include derivative-specific definitions

;*****************************************************************

;The microcontroller chip used by Dragon12-plus2 board

INCLUDE 'mc9s12dg256.inc'

;*****************************************************************

; Symbolic constant(EQU) section

;*****************************************************************

DATA EQU RAMStart ;use $1000 - $1FFF for data

STACK EQU RAMEnd+1 ;use $2000 - $3FFF for stack

CODE EQU $4000 ;use flash ROM $4000 - $7FFF for code

;*****************************************************************

; Data section

;*****************************************************************

ORG DATA

;*****************************************************************

; Main program section

;*****************************************************************

ORG CODE

Main:

LDS #STACK

Repeat LDAA #$5A ;A = $5A

LDAB #$12 ;B = $12

ABA ;Do A + B, the sume is in A: A = $6C

STAA $1050 ;save the sunm to RAM location $1050

BRA Repeat ;repeat this process forever

;*****************************************************************

; Subroutine section

;*****************************************************************

;*****************************************************************

; Interrupt Vectors

;*****************************************************************

ORG $FFFE

DC.W Main ;Reset Vector

f(x) = x-6. +120 0sxs6

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started