Question: Write, Assemble and build ONE complete assembly program using the MPLAB IDE software based on the PIC 1 8 F 4 5 8 architecture to

Write, Assemble and build ONE complete assembly program using the MPLAB IDE software based on the PIC18F458 architecture to perform the following tasks:
a. Set-up and initialise the table pointer to point to an array of dataset stored at the Program memory with a starting at address 0x02500 and label it as Array. The Dataset has a total of D256 elements of 8-bit, signed numbers given in Hexadecimal representation.
b. Count positive elements (excluding zero) in Array and save the result in POSNUM at address 0x10 in data memory.
c. Sum all the positive elements in the dataset and save the result as a 3-byte answer to file registers of addresses 0x000 until 0x002 at data memory using the little-endian format.
Requirements:
1) Your main program must start at address 0x00050. Make sure you include sufficient Comments to make your program readable and understandable.
2) For debugging purpose, in your assembly program, define a data section at the program Memory after your main program. The data section should be named Array and Consists of a dataset:
Dataset:
0x45,0x45,0x30,0x31,0x30,0x35,0x35,0x33
0x33,0x30,0x37,0x36,0x68,0x28,0x72,0x55
0x56,0x69,0x6B,0x6E,0x65,0x73,0x77,0x61
0x72,0x61,0x6E,0x20,0x52,0x61,0x6A,0x61
0x6E,0x77,0x2A,0x75,0x3E,0x38,0x41,0x5F
0x2D,0x20,0x2A,0x47,0x5E,0x48,0x44,0x6A
0x5D,0x5F,0x51,0x4B,0x6D,0x3A,0x3E,0x3A
0x74,0x55,0x20,0x23,0x4C,0x2E,0x5B,0x54
0x96,0x9B,0x7A,0xC8,0x01,0xD7,0x41,0x85
0x9E,0x93,0x87,0xE3,0x8C,0x4E,0x06,0xE6
0x76,0xDB,0x7F,0xE7,0x5B,0x17,0x0F,0xED
0xB0,0xD4,0x35,0x86,0x05,0x0D,0x81,0x0D
0x7C,0x21,0xF0,0x4A,0x2D,0x54,0x21,0x0F
0xE3,0x38,0x0A,0x6E,0x86,0x2B,0x0A,0x21
0x7C,0x20,0x4C,0x69,0x67,0xB9,0xC1,0x7E
0x7A,0x04,0x25,0x0B,0xFE,0x92,0xB5,0x53
0xDA,0xA1,0x79,0xF7,0x81,0xE6,0xB4,0x4F
0x79,0x3A,0x8E,0x57,0x88,0x8F,0xA9,0xCA
0x5F,0xB7,0x28,0x6D,0x99,0xE6,0xE1,0x6A
0x89,0x18,0x0B,0x97,0x71,0x81,0x90,0xB7
0xEF,0x70,0xCD,0x2C,0x70,0x1B,0xF6,0x9C
0x65,0x58,0x50,0xB9,0xA6,0x85,0x21,0xD3
0x01,0xEF,0xDC,0xE4,0x65,0xA9,0x77,0x24
0x64,0x04,0xCD,0x71,0x2C,0x56,0x0E,0xD8
0x9E,0x7F,0x98,0x68,0x5D,0xBC,0x39,0x75
0xF7,0x99,0x12,0xF2,0x36,0xFC,0x7A,0x0B
0x3A,0x9D,0x0F,0x71,0x65,0x19,0x95,0xBF
0x28,0x0E,0xE1,0x63,0x3F,0xF8,0xE3,0x40
0xC5,0x08,0xBD,0x3B,0xC8,0x37,0x3B,0xAE
0xF3,0xA5,0x42,0xA1,0x89,0xDC,0xB3,0x1C
0x25,0xD7,0xB2,0x4D,0xD1,0x71,0x85,0xC9
0x0D,0x22,0xCC,0x63,0x5D,0xD7,0x97,0x9E
Please Help me to provide me the below:
A.Flow-chart diagram drawing of your program
b. The full assembly program
c. The entire full MPLAB Output Window clearly showing the result of the build Process
d. Screenshot of The contents of the program memory (displayed as Symbolic) for main program Starting at address 0x00050
e. Screenshot of the contents of the program memory (displayed as Opcode Hex) for Array data section d . Screenshot ofThe screenshot final contents of data memory block of BANK 0
e. Screenshot ofThe final contents of watch window with the following registers: WREG, STATUS, TABLAT, TBLPTR, FSRx

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!