Write an ARM assembly program in Keil to check whether an Nx N matrix is a magic square. A magic square is an Nx N matrix in which the sums of all rows, column, and the two diagonals add up to N (N2 + 1)/2. All matrix entries are unique numbers from 1 to N². Register r1 will hold N. The matrix starts at location 0x20000010 (Base address) and ends at location (Base address +3 -N²). Note: Here it is assumed as all numbers are bytes, you need to consider the 4-byte size of integers,

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

using arm 32 assembly cortex m4.

Write an ARM assembly program in Keil to check whether an N * N matrix is a magic
square.
A magic square is an Nx N matrix in which the sums of all rows, column, and the two
diagonals add up to N (N² + 1)/2. All matrix entries are unique numbers from 1 to N².
Register r1 will hold N. The matrix starts at location 0x20000010 (Base address) and ends at
location (Base address + N²).
Note: Here it is assumed as all numbers are bytes, you need to consider the 4-byte size of
integers.
Suppose you wanted to test a famous example of a magic square:
3 2 13
10 11 8
7 12
15 14 1
16
5
96
4
The numbers 16, 3, 2, and 13 would be stored at first four addresses, respectively. The
numbers 5, 10, 11, and 8 would be stored at next four addresses, etc. If the matrix is a
magic square, register r8 will be set (R8 should have a value 1) upon completion; otherwise,
it will be
cleared to 0.
Transcribed Image Text:Write an ARM assembly program in Keil to check whether an N * N matrix is a magic square. A magic square is an Nx N matrix in which the sums of all rows, column, and the two diagonals add up to N (N² + 1)/2. All matrix entries are unique numbers from 1 to N². Register r1 will hold N. The matrix starts at location 0x20000010 (Base address) and ends at location (Base address + N²). Note: Here it is assumed as all numbers are bytes, you need to consider the 4-byte size of integers. Suppose you wanted to test a famous example of a magic square: 3 2 13 10 11 8 7 12 15 14 1 16 5 96 4 The numbers 16, 3, 2, and 13 would be stored at first four addresses, respectively. The numbers 5, 10, 11, and 8 would be stored at next four addresses, etc. If the matrix is a magic square, register r8 will be set (R8 should have a value 1) upon completion; otherwise, it will be cleared to 0.
Expert Solution
steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Analysis of Performance Measurement
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education