{"id":20332400,"url":"https://github.com/zeroby0/iiitb.sem7.arm","last_synced_at":"2026-05-10T10:54:06.143Z","repository":{"id":175198196,"uuid":"156730519","full_name":"zeroby0/iiitb.sem7.ARM","owner":"zeroby0","description":"course material for ARM course","archived":false,"fork":false,"pushed_at":"2018-11-20T16:24:43.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-24T13:51:19.006Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Assembly","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zeroby0.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-08T15:46:51.000Z","updated_at":"2019-02-21T06:46:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"c427c55a-5cb0-4069-b9b0-1abd9945a9be","html_url":"https://github.com/zeroby0/iiitb.sem7.ARM","commit_stats":null,"previous_names":["zeroby0/iiitb.sem7.arm"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeroby0%2Fiiitb.sem7.ARM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeroby0%2Fiiitb.sem7.ARM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeroby0%2Fiiitb.sem7.ARM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeroby0%2Fiiitb.sem7.ARM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zeroby0","download_url":"https://codeload.github.com/zeroby0/iiitb.sem7.ARM/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241851714,"owners_count":20030964,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T20:26:27.485Z","updated_at":"2026-05-10T10:54:06.112Z","avatar_url":"https://github.com/zeroby0.png","language":"Assembly","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Course files for ARM-2018 course\n\nAll my assignments and other files related to ARM-2018 course. The [assignments folder](https://github.com/zeroby0/ARM/tree/master/assignments) contains a uVision IDE project which can be loaded. Add or remove individual source files from source set and build / debug. Instructions to get started at the [end](#setting-up-a-new-keil-mdk-ide-project).\n\n## TOC\n- [Assignment 1](#assignment-1)\n- [Assignment 2](#assignment-2)\n- [Assignment 3](#assignment-3)\n- [How to setup KEIL](#setting-up-a-new-keil-mdk-ide-project)\n\n\n## Assignment 1\n\n##### [Fibonacci](./assignments/src/1/fibonacci/fibonacci.s)\nImplement Fibonacci  series using Cortex M4\n##### [Largest](./assignments/src/1/largest/largest.s)\nGiven three number find the largest of the three using Cortex M4\n##### [GCD](./assignments/src/1/GCD/GCD.s)\nHere is C program to find GCD of two numbers, Re-Write this for CORTEX –M4\n``` c\nwhile (a != b)\n\n {\n\n    if (a \u003e b)\n\n            a = a – b;\n\n       else\n\n            b = b – a;\n\n}\n```\n\n\n\n## Assignment 2\n\n##### [Answer](./assignments/src/2/2.md)\n\nIf I build the following code (CODE-1) in KEIL Simulator we get four errors which are shown below.\nWhy is this error happening. Where as in CODE-2 the program is building without any errors\n\n\nResearch in IF-THEN-ELSE in ARM Assembly and explain the reason for this error.\n\nA Clear writeup not more than a page is expected as the answer to this question.  Points will be awarded based on how clear and well explained the write up is. Perfect and technically correct write up given full 100 points.\n\n```\n\n\n\n---------------------------------------------------------------------\nCODE-1\n---------------------------------------------------------------------\n;PRESERVE8\n;thumb\narea appcode, CODE, READONLY\nexport __main\nENTRY\n__main function\nMOV R3, #0x100\nMOV R8, #0x200\nCMP R8, R3 ; do R8 - R3 \u0026 updated N \u0026 V flags\nITTTE LT ; or N != V\nMOV R3, #0x100\nMOV R8, #0x200\nMOV R7, #0x200\nMOV R6, #0x200\nstop B stop ; stop program\nendfunc\nend\n\n\nstop B stop ; stop program\n\n*** Using Compiler 'V5.06 update 5 (build 528)', folder: 'C:\\Keil_v5\\ARM\\ARMCC\\Bin'\nBuild target 'Target 1'\n\nassembling if-then-else.s...\n\nif-then-else.s(30): error: A1619E: Specified condition is not consistent with previous IT\nif-then-else.s(31): error: A1619E: Specified condition is not consistent with previous IT\n\nif-then-else.s(32): error: A1619E: Specified condition is not consistent with previous IT\n\nif-then-else.s(33): error: A1619E: Specified condition is not consistent with previous IT\n\n\".\\Objects\\asm3.axf\" - 4 Error(s), 0 Warning(s).\n\n-----------------------------------------------------------------------------------\nCODE-2\n-----------------------------------------------------------------------------------\n\n;PRESERVE8\n;thumb\narea appcode, CODE, READONLY\nexport __main\nENTRY\n__main function\n\nMOV R3, #0x100\nMOV R8, #0x200\nCMP R8, R3 ; do R8 - R3 \u0026 updated N \u0026 V flags\nITTTE LT ; or N != V\nADDLT r3, r3,r8\nMOVLT r4, #0\nMOVLT R0, #1 \nSUBGE r3, r3, r3 ; Z != 1 pr N == V\nstop B stop ; stop program\nendfunc\nend\n\n\nstop B stop ; stop program\n```\n\n\n## Assignment 3\n\n[Answer](./assignments/src/3/3.md)\n\nIn Floating point representation we have three components\n\n1. The Sign Bit\n2. Exponent\n3. Fractional Part\nPrecession is one the prime attribute of any Floating point Representation, \n\n- Does any of the above three components play a role in the defining the Precession of the number ? If so which are the component or Components  which play the  role in defining precession  and how ? Explain this with example in your own words\n- What is Normal and Subnormal  Values as per IEEE 754  standards  explain this  with the  help of number line\n- IEEE 754vv defines standards for rounding floating points numbers to a represent able value. There are five methods defines by IEEE for this – Take time and  understand what these five methods and explain it in your words using diagrams, illustrations of your own.\n\n[For 1 to 3  Do not Copy paste from any published sources, including diagrams]  \n\n\n## Setting up a new KEIL MDK IDE project\n* From Toolbar \u003e Projects \u003e New project\n* Select a location, and select your platform in the next window\n* ARM \u003e ARM Cortex M4 \u003e ARMCM4 in my case\n* In the next window titled `Manage run time environment`, expand `device \u003e startup`. Check the box next to it\n* This adds the startup code required for the project\n* Click resolve if there are any problems in the `Validation Output` box in bottom left.\n* You should see the main IDE interface now. \n* Right click `Target 1` and select `Options for Target 1`\n* In the debug tab, select `simulator` instead of the other thing. Click OK.\n* If you get error `ULINK/ME Device not found` you didn't do the previous step properly.\n* Expand `Target 1` and right click source group.\n* `Add new item to source group 1`\n* Select your type of file and add it.\n* Project \u003e Build Target\n* Debug \u003e Start new session\n* Run / step","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeroby0%2Fiiitb.sem7.arm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzeroby0%2Fiiitb.sem7.arm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeroby0%2Fiiitb.sem7.arm/lists"}