Question: The Problem When Microsoft developed the File Allocation Table ( FAT ) system to record information about disk drives, it included a custom date format.

The Problem When Microsoft developed the File Allocation Table (FAT) system to record information about disk drives, it included a custom date format. This economized on space by fitting the month, day, and year into a 16-bit word. To accomplish this, the range of dates was limited. The FAT date comprises three data items: The year, limited to a range of 1980 to 2107- seven bits The month (1-12)- four bits The day (1-31)- five bits Hence, the FAT system stores the number of years past 1980 rather than the actual year. So, a value of decimal 43 in the year represents the year 2023. The following image shows the layout of the 16-bit date:Microsoft FAT Date Format
Year
(minus
Month
1-12
Day
1-31
15141312111009080706050403020100
For example, October 17,2023 would be stored as a FAT date of 0x5751.
Your assignment is to write ARM assembly language instructions which accept an
input FAT date value, validate it, and break it into its component fields. You should
also validate the month field.
Input
Your program input will be a FAT date in bits 15:0 of register 1.
Output
Your program should place the year in register 2, the month in register 3, and the day
in register 4. Before ending, perform the following validations:
If the month field is not in the range of 1 through 12, place 15 in register 3.
DOS treated zero dates as though they were 1980-01-01. If the input 16-bit
FAT date was all zeroes, set the year (R2) to zero, the month (R3) to one, and
the day (R4) to one.
 The Problem When Microsoft developed the File Allocation Table (FAT) system

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 Databases Questions!