; Minimal argc/argv and explicit "--" separator example. ; ; Assemble/link: ; ../utils/mcpu-as -o argc-argv.o argc-argv.s ; ../utils/mcpu-ld -o argc-argv --stack-size=4K argc-argv.o ; ; Run: ; ../utils/mcpu-run \ ; --on-step=print-int-regs:r64@0x00000,r8@0x00020,r8@0x00021 \ ; -- \ ; argc-argv --help -x ; ; Guest argv is: ; argv[0] = "argc-argv" ; argv[1] = "--help" ; argv[2] = "-x" ; ; The example prints argc, argv[1][2] ('h') and argv[2][1] ('x') as integers. ; Expected output: ; 3 104 120 .text _start_life: loop: ; Persistent McpuStartup at SP: ; SP+8 = argc ; SP+16 = argv (PTR64 to argv[0]) LDSP r64@0x00000, 8 LDSP r64@0x00008, 16 ; argv[1] PADDI r64@0x00010, r64@0x00008, 8 LOADP r64@0x00018, r64@0x00010 PADDI r64@0x00018, r64@0x00018, 2 LOADP r8@0x00020, r64@0x00018 ; argv[2] PADDI r64@0x00010, r64@0x00008, 16 LOADP r64@0x00018, r64@0x00010 PADDI r64@0x00018, r64@0x00018, 1 LOADP r8@0x00021, r64@0x00018 END JMP loop