⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hello.ms

📁 gdb-6.0 linux 下的调试工具
💻 MS
字号:
# output(): Hello, world.\n# mach(): all# Emit hello world while switching back and forth between arm/thumb.# ??? Unfinished	.macro invalid# This is "undefined" but it's not properly decoded yet.	.word 0x07ffffff# This is stc which isn't recognized yet.	stc 0,cr0,[r0]	.endm	.global _start_start:# Run some simple insns to confirm the engine is at least working.	nop# Skip over output text.	bl skip_outputhello_text:	.asciz "Hello, world.\n"	.p2align 2skip_output:# Prime loop.	mov r4, r14output_next:# Switch arm->thumb to output next chacter.# At this point r4 must point to the next character to output.	adr r0, into_thumb + 1	bx r0into_thumb:	.thumb# Output a character.	mov r0,#3 @ writec angel call	mov r1,r4	swi 0xab @ ??? Confirm number.# Switch thumb->arm.	adr r5, back_to_arm	bx r5	.p2align 2back_to_arm:	.arm# Load next character, see if done.	add r4,r4,#1	sub r3,r3,r3	ldrb r5,[r4,r3]	teq r5,#0	beq done# Output a character (in arm mode).	mov r0,#3	mov r1,r4	swi #0x123456# Load next character, see if done.	add r4,r4,#1	sub r3,r3,r3	ldrb r5,[r4,r3]	teq r5,#0	bne output_nextdone:	mov r0,#0x18	ldr r1,exit_code	swi #0x123456# If that fails, try to die with an invalid insn.	invalidexit_code:	.word 0x20026

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -