arm

What is the difference between Stack Pointer and Program Counter?

允我心安 提交于 2021-02-07 13:14:53
问题 As we always know the procedure of executing task by a microprocessor is just executing binary instructions from memory one by one and there is a program counter which holds the address of the next instruction. So this is how processor executes it's tasks if I am not wrong. But there is also another pointer named Stack Pointer which does almost same thing like the program counter. My question is why we need a Stack Pointer to point address of memory(Stack)? Can somebody tell me about the main

ARM assembly cannot use immediate values and ADDS/ADCS together

坚强是说给别人听的谎言 提交于 2021-02-07 12:52:26
问题 I am currently trying to speed up some of my C functions on a Cortex-M0 (Freescale KL25Z) using assembly. I get a problem with this minimal test program: @.syntax unified .cpu cortex-m0 .text .global test .code 16 test: mov r0, #0 adds r0, r0, #1 bx lr When I try to assemble my .s file to a .o file, I get this error $ arm-none-eabi-as test.s -o test.o test.s: Assembler messages: test.s:8: Error: instruction not supported in Thumb16 mode -- `adds r0,r0,#1' The error message doesn't make sense

Passing parameters and return values for a subroutine in assembly

為{幸葍}努か 提交于 2021-02-07 12:19:31
问题 I am working with ARM assembly, where I have to write one subroutine for which I am following the ARM calling convention(this will have to be integrated with some separate higher level implementation somewhere else ) for passing parameters and return values. Now here is something I am not sure in general when working with assembly. So from the convention if I understand well the arguments are passed in order starting from registers r0 - r4 and then for other arguments stacks are used. Return

Win32 support on Windows 10

丶灬走出姿态 提交于 2021-02-07 10:11:32
问题 Does Windows 10 support running older Win32 (MFC, ATL, Visual Basic 6) applications on ARM processors? Does it require some form of emulation or conversion? 回答1: There's no x86 Win32 emulation at all. You need to use a toolset designed for the platform. 回答2: As with 7/8.1 Windows has leaned further and further into the Net way of doing things. So many of the commandline functions are done through net calls. Also note that Win10 is pretty much Win NT, it is basically what Win98 should have

Win32 support on Windows 10

孤人 提交于 2021-02-07 10:09:56
问题 Does Windows 10 support running older Win32 (MFC, ATL, Visual Basic 6) applications on ARM processors? Does it require some form of emulation or conversion? 回答1: There's no x86 Win32 emulation at all. You need to use a toolset designed for the platform. 回答2: As with 7/8.1 Windows has leaned further and further into the Net way of doing things. So many of the commandline functions are done through net calls. Also note that Win10 is pretty much Win NT, it is basically what Win98 should have

Win32 support on Windows 10

只谈情不闲聊 提交于 2021-02-07 10:07:30
问题 Does Windows 10 support running older Win32 (MFC, ATL, Visual Basic 6) applications on ARM processors? Does it require some form of emulation or conversion? 回答1: There's no x86 Win32 emulation at all. You need to use a toolset designed for the platform. 回答2: As with 7/8.1 Windows has leaned further and further into the Net way of doing things. So many of the commandline functions are done through net calls. Also note that Win10 is pretty much Win NT, it is basically what Win98 should have

Win32 support on Windows 10

给你一囗甜甜゛ 提交于 2021-02-07 10:06:22
问题 Does Windows 10 support running older Win32 (MFC, ATL, Visual Basic 6) applications on ARM processors? Does it require some form of emulation or conversion? 回答1: There's no x86 Win32 emulation at all. You need to use a toolset designed for the platform. 回答2: As with 7/8.1 Windows has leaned further and further into the Net way of doing things. So many of the commandline functions are done through net calls. Also note that Win10 is pretty much Win NT, it is basically what Win98 should have

Win32 support on Windows 10

≡放荡痞女 提交于 2021-02-07 10:05:02
问题 Does Windows 10 support running older Win32 (MFC, ATL, Visual Basic 6) applications on ARM processors? Does it require some form of emulation or conversion? 回答1: There's no x86 Win32 emulation at all. You need to use a toolset designed for the platform. 回答2: As with 7/8.1 Windows has leaned further and further into the Net way of doing things. So many of the commandline functions are done through net calls. Also note that Win10 is pretty much Win NT, it is basically what Win98 should have

How to get the bit position of any member in structure

吃可爱长大的小学妹 提交于 2021-02-07 09:51:50
问题 How can I get the bit position of any members in structure? In example> typedef struct BitExamStruct_ { unsigned int v1: 3; unsigned int v2: 4; unsigned int v3: 5; unsigned int v4: 6; } BitExamStruct; Is there any macro to get the bit position of any members like GetBitPos(v2, BitExamStruct)? I thought that compiler might know members' location based on bits length in the structure. So I want to know whether I can get it by using just a simple macro without running code. Thank you in advance.

Can someone explain the following load and store instructions as part of the ARM ISA?

↘锁芯ラ 提交于 2021-02-06 06:33:08
问题 I'm just starting to learn ARM and I'm having trouble understanding what the load and store instructions do exactly. Load instructions: ldrsb ldrb ldrsh ldrh ldr Store instructions: strb strh str What does it mean to "load halfword" signed or unsigned? Or to "load byte" signed or unsigned? What is the difference between signed and unsigned, and in what particular applications would some of the load/store instructions be practical to use? All in all, I'm looking for an intuitive understanding