iOS汇编代码

mas*_*sut 7 assembly arm ios

我想尝试一些苹果iOS的ARM汇编代码仅用于教育目的.我想从Xcode中的一些行代码开始.我的理解是我需要编译iOS设备,例如我的iPhone,这意味着我需要支付99美元/年的会员资格.我不认为我可以使用iOS手机模拟器的ASM汇编代码.我很难用iPhone在Xcode环境中查找关于ARM汇编代码的示例,书籍或文档.我做错了吗?也许iOS不是学习ARM Assembly最友好的用户环境.

old*_*mer 13

备份......

你想学什么?手臂组装或iOS编程?选一个...

你有装配经验吗?

您认为自己想要在手臂装配中学习什么?跳进去写一些完整的gui应用程序?您需要学习将immediates放入寄存器add和or或xor并将答案保存在寄存器中.然后读写一些内存位置.学习使用堆栈,拨打电话等.然后用C或其他任何东西编写应用程序,并使用asm进行手动调整或使用asm技能调试编译器和/或代码.在asm中编写应用程序或操作系统等是为了那些想要发表声明或有特定原因而不是出于教育目的的人.

有些人倾向于使用统一的ARM汇编语言,这种语言既适用于基于ARM的内核,也适用于基于thumb2的内核.不是所有的汇编语言都需要,但是对于你可能想要编写代码模块的地方而言,如果你的代码丢失代码,则不需要大量的汇编语言.你当然可以在这里弄清楚,并在其他平台上直接使用一些代码到完整的32位ARM指令.thumbulator只是拇指,基于ARM的内核和基于thumb2的内核之间的通用指令集,基本上它是可移植的ARM指令集,编写代码一次,它几乎适用于所有内核.

如果您的目标是学习iOS编程,获取套件或其他任何东西并学习使用他们想要您学习的任何语言,熟练掌握它,学习api等等.然后,如果您执行上面的某些汇编程序,那么您可以开始考虑从iOS程序调用asm函数或内联汇编程序等.装配多少,你的选择.我不希望看到用于该平台的汇编程序编写的应用程序,而是搜索如何从我的ios应用程序调用此汇编代码或如何进行内联汇编.(在你擅长真正的装配之前,不要学习内联装配).

没有任何理由支付访问模拟器的费用,那里有许多手臂模拟器,一个在mame,gdb和其他地方的武器装甲器,一些gameboy advance和nintendo ds simultators等等等等当然还有qemu-arm.有更多的模拟器,你可能愿意花时间去尝试,我大约10年左右进入它自己并没有尝试过.

学习集会不像C或python或java,我会写一个扫雷游戏来学习这门语言.您正在学习移动位,小步骤,而不是编写可用应用程序的机制.例如,使用16位处理器添加两个128位数字是一个有价值的汇编语言项目.将两个数字(任何大小)与没有乘法指令的处理器相乘,这是另一个汇编程序类型的学习项目.是的,我同意你可以通过从iOS应用程序调用asm来学习这些东西,但如果你还没有iOS开发人员工具包并且知道如何编写iOS应用程序,那么在开始考虑汇编程序之前,你有很多学习要做.

如果我对你提出的问题不以为然,没问题我会很乐意删除这个答案......

  • 请阅读原始问题并回答。最初的问题是问在 iOS 中编写汇编程序需要什么,而不是编写汇编程序是否是学习 iOS 编程的好方法。我相信,作为 Stackoverflow 上经验丰富的技术专业人士,我们的职责不是挑战做某事的原因,而只是帮助 OP 实现他所要求的目标。 (2认同)

Jac*_*cek 1

您需要的是带有基于 Linux 的编程工具包的 ARM 开发套件。然后,您可以在 Mac 上安装 VirtualBox,创建 Linux 虚拟机并在虚拟 Linux 机上安装 ARM 开发工具。确保当您购买 ARM 开发套件时,它附带 ARM cpu、完整的开发/测试板、用于软件传输/调试的 USB 电缆以及完整的 Linux 工具链。您可以以低于 99 美元的价格找到此类套件。

  • 事实并非如此,但如果他想编写和调试 ARM 汇编代码,他将使用适当的 ARM 开发套件走得更远。如果他不喜欢它,他可以转售它,这与他的 iOS 开发者会员资格不同。 (2认同)