Skip to content

Conversation

@gtker
Copy link
Contributor

@gtker gtker commented Mar 4, 2025

This is the recommended way of zeroing out a register, even for amd64 since zeroing the lower 32 bits automatically also zeros out the upper 32 bits.

I didn't bother with the stack pointer and base pointer registers since we probably don't need to zero those.

@stikonas @oriansj

main:
    xor eax, eax
    xor ebx, ebx
    xor ecx, ecx
    xor edx, edx
    xor edi, edi
    xor esi, esi
nasm -f elf32 main.s && objdump -d main.o

leads to

main.o:     file format elf32-i386

Disassembly of section .text:

00000000 <main>:
   0:   31 c0                   xor    %eax,%eax
   2:   31 db                   xor    %ebx,%ebx
   4:   31 c9                   xor    %ecx,%ecx
   6:   31 d2                   xor    %edx,%edx
   8:   31 ff                   xor    %edi,%edi
   a:   31 f6                   xor    %esi,%esi

This adds the x86 opcodes for both amd64 and x86 since it's the
recommended way of doing things.

https://stackoverflow.com/questions/33666617/what-is-the-best-way-to-set-a-register-to-zero-in-x86-assembly-xor-mov-or-and

```asm
main:
    xor eax, eax
    xor ebx, ebx
    xor ecx, ecx
    xor edx, edx
    xor edi, edi
    xor esi, esi
```

```sh
nasm -f elf32 main.s && objdump -d main.o
```

leads to

```text
main.o:     file format elf32-i386

Disassembly of section .text:

00000000 <main>:
   0:   31 c0                   xor    %eax,%eax
   2:   31 db                   xor    %ebx,%ebx
   4:   31 c9                   xor    %ecx,%ecx
   6:   31 d2                   xor    %edx,%edx
   8:   31 ff                   xor    %edi,%edi
   a:   31 f6                   xor    %esi,%esi
```
Copy link
Collaborator

@stikonas stikonas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, this is fine. We already use it a lot in early hex/assembly stages. Especially hex0.

@stikonas stikonas merged commit 5a7c12a into oriansj:main Mar 4, 2025
gtker added a commit to gtker/M2libc that referenced this pull request Oct 27, 2025
```
.global _start
_start:
mov x0,1
mov x0,2
mov x0,3
mov x0,4
mov x0,5
mov x0,6
mov x0,7
mov x0,8
mov x0,9
mov x0,10
mov x0,11
mov x0,12
mov x0,13
mov x0,14
mov x0,15
mov x0,16
mov x0,17
mov x0,18
mov x0,19
mov x0,20
mov x0,21
mov x0,22
mov x0,23
mov x0,24
mov x0,25
mov x0,26
mov x0,27
mov x0,28
mov x0,29
mov x0,30
mov x0,31
mov x0,32
mov x0,33
mov x0,34
mov x0,35
mov x0,36
mov x0,37
mov x0,38
mov x0,39
mov x0,40
mov x0,41
mov x0,42
mov x0,43
mov x0,44
mov x0,45
mov x0,46
mov x0,47
mov x0,48
mov x0,49
mov x0,50
mov x0,51
mov x0,52
mov x0,53
mov x0,54
mov x0,55
mov x0,56
mov x0,57
mov x0,58
mov x0,59
mov x0,60
mov x0,61
mov x0,62
mov x0,63
mov x0,64
mov x0,65
mov x0,66
mov x0,67
mov x0,68
mov x0,69
mov x0,70
mov x0,71
mov x0,72
mov x0,73
mov x0,74
mov x0,75
mov x0,76
mov x0,77
mov x0,78
mov x0,79
mov x0,80
mov x0,81
mov x0,82
mov x0,83
mov x0,84
mov x0,85
mov x0,86
mov x0,87
mov x0,88
mov x0,89
mov x0,90
mov x0,91
mov x0,92
mov x0,93
mov x0,94
mov x0,95
mov x0,96
mov x0,97
mov x0,98
mov x0,99
mov x0,100
mov x0,101
mov x0,102
mov x0,103
mov x0,104
mov x0,105
mov x0,106
mov x0,107
mov x0,108
mov x0,109
mov x0,110
mov x0,111
mov x0,112
mov x0,113
mov x0,114
mov x0,115
mov x0,116
mov x0,117
mov x0,118
mov x0,119
mov x0,120
mov x0,121
mov x0,122
mov x0,123
mov x0,124
mov x0,125
mov x0,126
mov x0,127
mov x0,128

mov x0,255
mov x0,256
mov x0,384
mov x0,512
mov x0,577
mov x0,1024
mov x0,4096
mov x0,65536
mov x0,262144
```

```

main:     file format elf64-littleaarch64

Disassembly of section .text:

0000000000400078 <_start>:
  400078:	d2800020 	mov	x0, #0x1                   	// oriansj#1
  40007c:	d2800040 	mov	x0, #0x2                   	// oriansj#2
  400080:	d2800060 	mov	x0, #0x3                   	// oriansj#3
  400084:	d2800080 	mov	x0, #0x4                   	// oriansj#4
  400088:	d28000a0 	mov	x0, #0x5                   	// oriansj#5
  40008c:	d28000c0 	mov	x0, #0x6                   	// oriansj#6
  400090:	d28000e0 	mov	x0, #0x7                   	// oriansj#7
  400094:	d2800100 	mov	x0, #0x8                   	// oriansj#8
  400098:	d2800120 	mov	x0, #0x9                   	// oriansj#9
  40009c:	d2800140 	mov	x0, #0xa                   	// oriansj#10
  4000a0:	d2800160 	mov	x0, #0xb                   	// oriansj#11
  4000a4:	d2800180 	mov	x0, #0xc                   	// oriansj#12
  4000a8:	d28001a0 	mov	x0, #0xd                   	// oriansj#13
  4000ac:	d28001c0 	mov	x0, #0xe                   	// oriansj#14
  4000b0:	d28001e0 	mov	x0, #0xf                   	// oriansj#15
  4000b4:	d2800200 	mov	x0, #0x10                  	// oriansj#16
  4000b8:	d2800220 	mov	x0, #0x11                  	// oriansj#17
  4000bc:	d2800240 	mov	x0, #0x12                  	// oriansj#18
  4000c0:	d2800260 	mov	x0, #0x13                  	// oriansj#19
  4000c4:	d2800280 	mov	x0, #0x14                  	// oriansj#20
  4000c8:	d28002a0 	mov	x0, #0x15                  	// oriansj#21
  4000cc:	d28002c0 	mov	x0, #0x16                  	// oriansj#22
  4000d0:	d28002e0 	mov	x0, #0x17                  	// oriansj#23
  4000d4:	d2800300 	mov	x0, #0x18                  	// oriansj#24
  4000d8:	d2800320 	mov	x0, #0x19                  	// oriansj#25
  4000dc:	d2800340 	mov	x0, #0x1a                  	// oriansj#26
  4000e0:	d2800360 	mov	x0, #0x1b                  	// oriansj#27
  4000e4:	d2800380 	mov	x0, #0x1c                  	// oriansj#28
  4000e8:	d28003a0 	mov	x0, #0x1d                  	// oriansj#29
  4000ec:	d28003c0 	mov	x0, #0x1e                  	// oriansj#30
  4000f0:	d28003e0 	mov	x0, #0x1f                  	// oriansj#31
  4000f4:	d2800400 	mov	x0, #0x20                  	// oriansj#32
  4000f8:	d2800420 	mov	x0, #0x21                  	// oriansj#33
  4000fc:	d2800440 	mov	x0, #0x22                  	// oriansj#34
  400100:	d2800460 	mov	x0, #0x23                  	// oriansj#35
  400104:	d2800480 	mov	x0, #0x24                  	// oriansj#36
  400108:	d28004a0 	mov	x0, #0x25                  	// oriansj#37
  40010c:	d28004c0 	mov	x0, #0x26                  	// oriansj#38
  400110:	d28004e0 	mov	x0, #0x27                  	// oriansj#39
  400114:	d2800500 	mov	x0, #0x28                  	// oriansj#40
  400118:	d2800520 	mov	x0, #0x29                  	// oriansj#41
  40011c:	d2800540 	mov	x0, #0x2a                  	// oriansj#42
  400120:	d2800560 	mov	x0, #0x2b                  	// oriansj#43
  400124:	d2800580 	mov	x0, #0x2c                  	// oriansj#44
  400128:	d28005a0 	mov	x0, #0x2d                  	// oriansj#45
  40012c:	d28005c0 	mov	x0, #0x2e                  	// oriansj#46
  400130:	d28005e0 	mov	x0, #0x2f                  	// oriansj#47
  400134:	d2800600 	mov	x0, #0x30                  	// oriansj#48
  400138:	d2800620 	mov	x0, #0x31                  	// oriansj#49
  40013c:	d2800640 	mov	x0, #0x32                  	// oriansj#50
  400140:	d2800660 	mov	x0, #0x33                  	// oriansj#51
  400144:	d2800680 	mov	x0, #0x34                  	// oriansj#52
  400148:	d28006a0 	mov	x0, #0x35                  	// oriansj#53
  40014c:	d28006c0 	mov	x0, #0x36                  	// oriansj#54
  400150:	d28006e0 	mov	x0, #0x37                  	// oriansj#55
  400154:	d2800700 	mov	x0, #0x38                  	// oriansj#56
  400158:	d2800720 	mov	x0, #0x39                  	// oriansj#57
  40015c:	d2800740 	mov	x0, #0x3a                  	// oriansj#58
  400160:	d2800760 	mov	x0, #0x3b                  	// oriansj#59
  400164:	d2800780 	mov	x0, #0x3c                  	// oriansj#60
  400168:	d28007a0 	mov	x0, #0x3d                  	// oriansj#61
  40016c:	d28007c0 	mov	x0, #0x3e                  	// oriansj#62
  400170:	d28007e0 	mov	x0, #0x3f                  	// oriansj#63
  400174:	d2800800 	mov	x0, #0x40                  	// oriansj#64
  400178:	d2800820 	mov	x0, #0x41                  	// oriansj#65
  40017c:	d2800840 	mov	x0, #0x42                  	// oriansj#66
  400180:	d2800860 	mov	x0, #0x43                  	// oriansj#67
  400184:	d2800880 	mov	x0, #0x44                  	// oriansj#68
  400188:	d28008a0 	mov	x0, #0x45                  	// oriansj#69
  40018c:	d28008c0 	mov	x0, #0x46                  	// oriansj#70
  400190:	d28008e0 	mov	x0, #0x47                  	// oriansj#71
  400194:	d2800900 	mov	x0, #0x48                  	// oriansj#72
  400198:	d2800920 	mov	x0, #0x49                  	// oriansj#73
  40019c:	d2800940 	mov	x0, #0x4a                  	// oriansj#74
  4001a0:	d2800960 	mov	x0, #0x4b                  	// oriansj#75
  4001a4:	d2800980 	mov	x0, #0x4c                  	// oriansj#76
  4001a8:	d28009a0 	mov	x0, #0x4d                  	// oriansj#77
  4001ac:	d28009c0 	mov	x0, #0x4e                  	// oriansj#78
  4001b0:	d28009e0 	mov	x0, #0x4f                  	// oriansj#79
  4001b4:	d2800a00 	mov	x0, #0x50                  	// oriansj#80
  4001b8:	d2800a20 	mov	x0, #0x51                  	// oriansj#81
  4001bc:	d2800a40 	mov	x0, #0x52                  	// oriansj#82
  4001c0:	d2800a60 	mov	x0, #0x53                  	// oriansj#83
  4001c4:	d2800a80 	mov	x0, #0x54                  	// oriansj#84
  4001c8:	d2800aa0 	mov	x0, #0x55                  	// oriansj#85
  4001cc:	d2800ac0 	mov	x0, #0x56                  	// oriansj#86
  4001d0:	d2800ae0 	mov	x0, #0x57                  	// oriansj#87
  4001d4:	d2800b00 	mov	x0, #0x58                  	// oriansj#88
  4001d8:	d2800b20 	mov	x0, #0x59                  	// oriansj#89
  4001dc:	d2800b40 	mov	x0, #0x5a                  	// oriansj#90
  4001e0:	d2800b60 	mov	x0, #0x5b                  	// oriansj#91
  4001e4:	d2800b80 	mov	x0, #0x5c                  	// oriansj#92
  4001e8:	d2800ba0 	mov	x0, #0x5d                  	// oriansj#93
  4001ec:	d2800bc0 	mov	x0, #0x5e                  	// oriansj#94
  4001f0:	d2800be0 	mov	x0, #0x5f                  	// oriansj#95
  4001f4:	d2800c00 	mov	x0, #0x60                  	// oriansj#96
  4001f8:	d2800c20 	mov	x0, #0x61                  	// oriansj#97
  4001fc:	d2800c40 	mov	x0, #0x62                  	// oriansj#98
  400200:	d2800c60 	mov	x0, #0x63                  	// oriansj#99
  400204:	d2800c80 	mov	x0, #0x64                  	// oriansj#100
  400208:	d2800ca0 	mov	x0, #0x65                  	// oriansj#101
  40020c:	d2800cc0 	mov	x0, #0x66                  	// oriansj#102
  400210:	d2800ce0 	mov	x0, #0x67                  	// oriansj#103
  400214:	d2800d00 	mov	x0, #0x68                  	// oriansj#104
  400218:	d2800d20 	mov	x0, #0x69                  	// oriansj#105
  40021c:	d2800d40 	mov	x0, #0x6a                  	// oriansj#106
  400220:	d2800d60 	mov	x0, #0x6b                  	// oriansj#107
  400224:	d2800d80 	mov	x0, #0x6c                  	// oriansj#108
  400228:	d2800da0 	mov	x0, #0x6d                  	// oriansj#109
  40022c:	d2800dc0 	mov	x0, #0x6e                  	// oriansj#110
  400230:	d2800de0 	mov	x0, #0x6f                  	// #111
  400234:	d2800e00 	mov	x0, #0x70                  	// #112
  400238:	d2800e20 	mov	x0, #0x71                  	// #113
  40023c:	d2800e40 	mov	x0, #0x72                  	// #114
  400240:	d2800e60 	mov	x0, #0x73                  	// #115
  400244:	d2800e80 	mov	x0, #0x74                  	// #116
  400248:	d2800ea0 	mov	x0, #0x75                  	// #117
  40024c:	d2800ec0 	mov	x0, #0x76                  	// #118
  400250:	d2800ee0 	mov	x0, #0x77                  	// #119
  400254:	d2800f00 	mov	x0, #0x78                  	// #120
  400258:	d2800f20 	mov	x0, #0x79                  	// #121
  40025c:	d2800f40 	mov	x0, #0x7a                  	// #122
  400260:	d2800f60 	mov	x0, #0x7b                  	// #123
  400264:	d2800f80 	mov	x0, #0x7c                  	// #124
  400268:	d2800fa0 	mov	x0, #0x7d                  	// #125
  40026c:	d2800fc0 	mov	x0, #0x7e                  	// #126
  400270:	d2800fe0 	mov	x0, #0x7f                  	// #127
  400274:	d2801000 	mov	x0, #0x80                  	// #128
  400278:	d2801fe0 	mov	x0, #0xff                  	// #255
  40027c:	d2802000 	mov	x0, #0x100                 	// #256
  400280:	d2803000 	mov	x0, #0x180                 	// #384
  400284:	d2804000 	mov	x0, #0x200                 	// #512
  400288:	d2804820 	mov	x0, #0x241                 	// #577
  40028c:	d2808000 	mov	x0, #0x400                 	// #1024
  400290:	d2820000 	mov	x0, #0x1000                	// #4096
  400294:	d2a00020 	mov	x0, #0x10000               	// #65536
  400298:	d2a00080 	mov	x0, #0x40000               	// #262144
```
gtker added a commit to gtker/M2libc that referenced this pull request Oct 27, 2025
```
.global _start
_start:
mov x14, 8
mov x14, 16
mov x14, 24
mov x14, 32
mov x14, 40
mov x14, 48
mov x14, 56
mov x14, 64
mov x14, 72
mov x14, 80
mov x14, 88
mov x14, 96
mov x14, 104
mov x14, 112
mov x14, 120
mov x14, 128
```

```
main:     file format elf64-littleaarch64

Disassembly of section .text:

0000000000400078 <_start>:
  400078:	d280010e 	mov	x14, #0x8                   	// oriansj#8
  40007c:	d280020e 	mov	x14, #0x10                  	// oriansj#16
  400080:	d280030e 	mov	x14, #0x18                  	// oriansj#24
  400084:	d280040e 	mov	x14, #0x20                  	// oriansj#32
  400088:	d280050e 	mov	x14, #0x28                  	// oriansj#40
  40008c:	d280060e 	mov	x14, #0x30                  	// oriansj#48
  400090:	d280070e 	mov	x14, #0x38                  	// oriansj#56
  400094:	d280080e 	mov	x14, #0x40                  	// oriansj#64
  400098:	d280090e 	mov	x14, #0x48                  	// oriansj#72
  40009c:	d2800a0e 	mov	x14, #0x50                  	// oriansj#80
  4000a0:	d2800b0e 	mov	x14, #0x58                  	// oriansj#88
  4000a4:	d2800c0e 	mov	x14, #0x60                  	// oriansj#96
  4000a8:	d2800d0e 	mov	x14, #0x68                  	// oriansj#104
  4000ac:	d2800e0e 	mov	x14, #0x70                  	// #112
  4000b0:	d2800f0e 	mov	x14, #0x78                  	// #120
  4000b4:	d280100e 	mov	x14, #0x80                  	// #128
```
gtker added a commit to gtker/M2libc that referenced this pull request Oct 27, 2025
```
.global _start
_start:
mov x0,1
mov x0,2
mov x0,3
mov x0,4
mov x0,5
mov x0,6
mov x0,7
mov x0,8
mov x0,9
mov x0,10
mov x0,11
mov x0,12
mov x0,13
mov x0,14
mov x0,15
mov x0,16
mov x0,17
mov x0,18
mov x0,19
mov x0,20
mov x0,21
mov x0,22
mov x0,23
mov x0,24
mov x0,25
mov x0,26
mov x0,27
mov x0,28
mov x0,29
mov x0,30
mov x0,31
mov x0,32
mov x0,33
mov x0,34
mov x0,35
mov x0,36
mov x0,37
mov x0,38
mov x0,39
mov x0,40
mov x0,41
mov x0,42
mov x0,43
mov x0,44
mov x0,45
mov x0,46
mov x0,47
mov x0,48
mov x0,49
mov x0,50
mov x0,51
mov x0,52
mov x0,53
mov x0,54
mov x0,55
mov x0,56
mov x0,57
mov x0,58
mov x0,59
mov x0,60
mov x0,61
mov x0,62
mov x0,63
mov x0,64
mov x0,65
mov x0,66
mov x0,67
mov x0,68
mov x0,69
mov x0,70
mov x0,71
mov x0,72
mov x0,73
mov x0,74
mov x0,75
mov x0,76
mov x0,77
mov x0,78
mov x0,79
mov x0,80
mov x0,81
mov x0,82
mov x0,83
mov x0,84
mov x0,85
mov x0,86
mov x0,87
mov x0,88
mov x0,89
mov x0,90
mov x0,91
mov x0,92
mov x0,93
mov x0,94
mov x0,95
mov x0,96
mov x0,97
mov x0,98
mov x0,99
mov x0,100
mov x0,101
mov x0,102
mov x0,103
mov x0,104
mov x0,105
mov x0,106
mov x0,107
mov x0,108
mov x0,109
mov x0,110
mov x0,111
mov x0,112
mov x0,113
mov x0,114
mov x0,115
mov x0,116
mov x0,117
mov x0,118
mov x0,119
mov x0,120
mov x0,121
mov x0,122
mov x0,123
mov x0,124
mov x0,125
mov x0,126
mov x0,127
mov x0,128

mov x0,255
mov x0,256
mov x0,384
mov x0,512
mov x0,577
mov x0,1024
mov x0,4096
mov x0,65536
mov x0,262144
```

```

main:     file format elf64-littleaarch64

Disassembly of section .text:

0000000000400078 <_start>:
  400078:	d2800020 	mov	x0, #0x1                   	// oriansj#1
  40007c:	d2800040 	mov	x0, #0x2                   	// oriansj#2
  400080:	d2800060 	mov	x0, #0x3                   	// oriansj#3
  400084:	d2800080 	mov	x0, #0x4                   	// oriansj#4
  400088:	d28000a0 	mov	x0, #0x5                   	// oriansj#5
  40008c:	d28000c0 	mov	x0, #0x6                   	// oriansj#6
  400090:	d28000e0 	mov	x0, #0x7                   	// oriansj#7
  400094:	d2800100 	mov	x0, #0x8                   	// oriansj#8
  400098:	d2800120 	mov	x0, #0x9                   	// oriansj#9
  40009c:	d2800140 	mov	x0, #0xa                   	// oriansj#10
  4000a0:	d2800160 	mov	x0, #0xb                   	// oriansj#11
  4000a4:	d2800180 	mov	x0, #0xc                   	// oriansj#12
  4000a8:	d28001a0 	mov	x0, #0xd                   	// oriansj#13
  4000ac:	d28001c0 	mov	x0, #0xe                   	// oriansj#14
  4000b0:	d28001e0 	mov	x0, #0xf                   	// oriansj#15
  4000b4:	d2800200 	mov	x0, #0x10                  	// oriansj#16
  4000b8:	d2800220 	mov	x0, #0x11                  	// oriansj#17
  4000bc:	d2800240 	mov	x0, #0x12                  	// oriansj#18
  4000c0:	d2800260 	mov	x0, #0x13                  	// oriansj#19
  4000c4:	d2800280 	mov	x0, #0x14                  	// oriansj#20
  4000c8:	d28002a0 	mov	x0, #0x15                  	// oriansj#21
  4000cc:	d28002c0 	mov	x0, #0x16                  	// oriansj#22
  4000d0:	d28002e0 	mov	x0, #0x17                  	// oriansj#23
  4000d4:	d2800300 	mov	x0, #0x18                  	// oriansj#24
  4000d8:	d2800320 	mov	x0, #0x19                  	// oriansj#25
  4000dc:	d2800340 	mov	x0, #0x1a                  	// oriansj#26
  4000e0:	d2800360 	mov	x0, #0x1b                  	// oriansj#27
  4000e4:	d2800380 	mov	x0, #0x1c                  	// oriansj#28
  4000e8:	d28003a0 	mov	x0, #0x1d                  	// oriansj#29
  4000ec:	d28003c0 	mov	x0, #0x1e                  	// oriansj#30
  4000f0:	d28003e0 	mov	x0, #0x1f                  	// oriansj#31
  4000f4:	d2800400 	mov	x0, #0x20                  	// oriansj#32
  4000f8:	d2800420 	mov	x0, #0x21                  	// oriansj#33
  4000fc:	d2800440 	mov	x0, #0x22                  	// oriansj#34
  400100:	d2800460 	mov	x0, #0x23                  	// oriansj#35
  400104:	d2800480 	mov	x0, #0x24                  	// oriansj#36
  400108:	d28004a0 	mov	x0, #0x25                  	// oriansj#37
  40010c:	d28004c0 	mov	x0, #0x26                  	// oriansj#38
  400110:	d28004e0 	mov	x0, #0x27                  	// oriansj#39
  400114:	d2800500 	mov	x0, #0x28                  	// oriansj#40
  400118:	d2800520 	mov	x0, #0x29                  	// oriansj#41
  40011c:	d2800540 	mov	x0, #0x2a                  	// oriansj#42
  400120:	d2800560 	mov	x0, #0x2b                  	// oriansj#43
  400124:	d2800580 	mov	x0, #0x2c                  	// oriansj#44
  400128:	d28005a0 	mov	x0, #0x2d                  	// oriansj#45
  40012c:	d28005c0 	mov	x0, #0x2e                  	// oriansj#46
  400130:	d28005e0 	mov	x0, #0x2f                  	// oriansj#47
  400134:	d2800600 	mov	x0, #0x30                  	// oriansj#48
  400138:	d2800620 	mov	x0, #0x31                  	// oriansj#49
  40013c:	d2800640 	mov	x0, #0x32                  	// oriansj#50
  400140:	d2800660 	mov	x0, #0x33                  	// oriansj#51
  400144:	d2800680 	mov	x0, #0x34                  	// oriansj#52
  400148:	d28006a0 	mov	x0, #0x35                  	// oriansj#53
  40014c:	d28006c0 	mov	x0, #0x36                  	// oriansj#54
  400150:	d28006e0 	mov	x0, #0x37                  	// oriansj#55
  400154:	d2800700 	mov	x0, #0x38                  	// oriansj#56
  400158:	d2800720 	mov	x0, #0x39                  	// oriansj#57
  40015c:	d2800740 	mov	x0, #0x3a                  	// oriansj#58
  400160:	d2800760 	mov	x0, #0x3b                  	// oriansj#59
  400164:	d2800780 	mov	x0, #0x3c                  	// oriansj#60
  400168:	d28007a0 	mov	x0, #0x3d                  	// oriansj#61
  40016c:	d28007c0 	mov	x0, #0x3e                  	// oriansj#62
  400170:	d28007e0 	mov	x0, #0x3f                  	// oriansj#63
  400174:	d2800800 	mov	x0, #0x40                  	// oriansj#64
  400178:	d2800820 	mov	x0, #0x41                  	// oriansj#65
  40017c:	d2800840 	mov	x0, #0x42                  	// oriansj#66
  400180:	d2800860 	mov	x0, #0x43                  	// oriansj#67
  400184:	d2800880 	mov	x0, #0x44                  	// oriansj#68
  400188:	d28008a0 	mov	x0, #0x45                  	// oriansj#69
  40018c:	d28008c0 	mov	x0, #0x46                  	// oriansj#70
  400190:	d28008e0 	mov	x0, #0x47                  	// oriansj#71
  400194:	d2800900 	mov	x0, #0x48                  	// oriansj#72
  400198:	d2800920 	mov	x0, #0x49                  	// oriansj#73
  40019c:	d2800940 	mov	x0, #0x4a                  	// oriansj#74
  4001a0:	d2800960 	mov	x0, #0x4b                  	// oriansj#75
  4001a4:	d2800980 	mov	x0, #0x4c                  	// oriansj#76
  4001a8:	d28009a0 	mov	x0, #0x4d                  	// oriansj#77
  4001ac:	d28009c0 	mov	x0, #0x4e                  	// oriansj#78
  4001b0:	d28009e0 	mov	x0, #0x4f                  	// oriansj#79
  4001b4:	d2800a00 	mov	x0, #0x50                  	// oriansj#80
  4001b8:	d2800a20 	mov	x0, #0x51                  	// oriansj#81
  4001bc:	d2800a40 	mov	x0, #0x52                  	// oriansj#82
  4001c0:	d2800a60 	mov	x0, #0x53                  	// oriansj#83
  4001c4:	d2800a80 	mov	x0, #0x54                  	// oriansj#84
  4001c8:	d2800aa0 	mov	x0, #0x55                  	// oriansj#85
  4001cc:	d2800ac0 	mov	x0, #0x56                  	// oriansj#86
  4001d0:	d2800ae0 	mov	x0, #0x57                  	// oriansj#87
  4001d4:	d2800b00 	mov	x0, #0x58                  	// oriansj#88
  4001d8:	d2800b20 	mov	x0, #0x59                  	// oriansj#89
  4001dc:	d2800b40 	mov	x0, #0x5a                  	// oriansj#90
  4001e0:	d2800b60 	mov	x0, #0x5b                  	// oriansj#91
  4001e4:	d2800b80 	mov	x0, #0x5c                  	// oriansj#92
  4001e8:	d2800ba0 	mov	x0, #0x5d                  	// oriansj#93
  4001ec:	d2800bc0 	mov	x0, #0x5e                  	// oriansj#94
  4001f0:	d2800be0 	mov	x0, #0x5f                  	// oriansj#95
  4001f4:	d2800c00 	mov	x0, #0x60                  	// oriansj#96
  4001f8:	d2800c20 	mov	x0, #0x61                  	// oriansj#97
  4001fc:	d2800c40 	mov	x0, #0x62                  	// oriansj#98
  400200:	d2800c60 	mov	x0, #0x63                  	// oriansj#99
  400204:	d2800c80 	mov	x0, #0x64                  	// oriansj#100
  400208:	d2800ca0 	mov	x0, #0x65                  	// oriansj#101
  40020c:	d2800cc0 	mov	x0, #0x66                  	// oriansj#102
  400210:	d2800ce0 	mov	x0, #0x67                  	// oriansj#103
  400214:	d2800d00 	mov	x0, #0x68                  	// oriansj#104
  400218:	d2800d20 	mov	x0, #0x69                  	// oriansj#105
  40021c:	d2800d40 	mov	x0, #0x6a                  	// oriansj#106
  400220:	d2800d60 	mov	x0, #0x6b                  	// oriansj#107
  400224:	d2800d80 	mov	x0, #0x6c                  	// oriansj#108
  400228:	d2800da0 	mov	x0, #0x6d                  	// oriansj#109
  40022c:	d2800dc0 	mov	x0, #0x6e                  	// oriansj#110
  400230:	d2800de0 	mov	x0, #0x6f                  	// #111
  400234:	d2800e00 	mov	x0, #0x70                  	// #112
  400238:	d2800e20 	mov	x0, #0x71                  	// #113
  40023c:	d2800e40 	mov	x0, #0x72                  	// #114
  400240:	d2800e60 	mov	x0, #0x73                  	// #115
  400244:	d2800e80 	mov	x0, #0x74                  	// #116
  400248:	d2800ea0 	mov	x0, #0x75                  	// #117
  40024c:	d2800ec0 	mov	x0, #0x76                  	// #118
  400250:	d2800ee0 	mov	x0, #0x77                  	// #119
  400254:	d2800f00 	mov	x0, #0x78                  	// #120
  400258:	d2800f20 	mov	x0, #0x79                  	// #121
  40025c:	d2800f40 	mov	x0, #0x7a                  	// #122
  400260:	d2800f60 	mov	x0, #0x7b                  	// #123
  400264:	d2800f80 	mov	x0, #0x7c                  	// #124
  400268:	d2800fa0 	mov	x0, #0x7d                  	// #125
  40026c:	d2800fc0 	mov	x0, #0x7e                  	// #126
  400270:	d2800fe0 	mov	x0, #0x7f                  	// #127
  400274:	d2801000 	mov	x0, #0x80                  	// #128
  400278:	d2801fe0 	mov	x0, #0xff                  	// #255
  40027c:	d2802000 	mov	x0, #0x100                 	// #256
  400280:	d2803000 	mov	x0, #0x180                 	// #384
  400284:	d2804000 	mov	x0, #0x200                 	// #512
  400288:	d2804820 	mov	x0, #0x241                 	// #577
  40028c:	d2808000 	mov	x0, #0x400                 	// #1024
  400290:	d2820000 	mov	x0, #0x1000                	// #4096
  400294:	d2a00020 	mov	x0, #0x10000               	// #65536
  400298:	d2a00080 	mov	x0, #0x40000               	// #262144
```
gtker added a commit to gtker/M2libc that referenced this pull request Oct 27, 2025
```
.global _start
_start:
mov x14, 8
mov x14, 16
mov x14, 24
mov x14, 32
mov x14, 40
mov x14, 48
mov x14, 56
mov x14, 64
mov x14, 72
mov x14, 80
mov x14, 88
mov x14, 96
mov x14, 104
mov x14, 112
mov x14, 120
mov x14, 128
```

```
main:     file format elf64-littleaarch64

Disassembly of section .text:

0000000000400078 <_start>:
  400078:	d280010e 	mov	x14, #0x8                   	// oriansj#8
  40007c:	d280020e 	mov	x14, #0x10                  	// oriansj#16
  400080:	d280030e 	mov	x14, #0x18                  	// oriansj#24
  400084:	d280040e 	mov	x14, #0x20                  	// oriansj#32
  400088:	d280050e 	mov	x14, #0x28                  	// oriansj#40
  40008c:	d280060e 	mov	x14, #0x30                  	// oriansj#48
  400090:	d280070e 	mov	x14, #0x38                  	// oriansj#56
  400094:	d280080e 	mov	x14, #0x40                  	// oriansj#64
  400098:	d280090e 	mov	x14, #0x48                  	// oriansj#72
  40009c:	d2800a0e 	mov	x14, #0x50                  	// oriansj#80
  4000a0:	d2800b0e 	mov	x14, #0x58                  	// oriansj#88
  4000a4:	d2800c0e 	mov	x14, #0x60                  	// oriansj#96
  4000a8:	d2800d0e 	mov	x14, #0x68                  	// oriansj#104
  4000ac:	d2800e0e 	mov	x14, #0x70                  	// #112
  4000b0:	d2800f0e 	mov	x14, #0x78                  	// #120
  4000b4:	d280100e 	mov	x14, #0x80                  	// #128
```
gtker added a commit to gtker/M2libc that referenced this pull request Nov 4, 2025
```

.global _start
_start:
ldr x0,[x17,8]
ldr x0,[x17,16]
ldr x0,[x17,24]
ldr x0,[x17,32]
ldr x0,[x17,40]
ldr x0,[x17,48]
ldr x0,[x17,56]
ldr x0,[x17,64]
ldr x0,[x17,72]
ldr x0,[x17,80]
ldr x0,[x17,88]
ldr x0,[x17,96]
ldr x0,[x17,104]
ldr x0,[x17,112]
ldr x0,[x17,120]
ldr x0,[x17,128]

sub x0,x17,8
sub x0,x17,16
sub x0,x17,24
sub x0,x17,32
sub x0,x17,40
sub x0,x17,48
sub x0,x17,56
sub x0,x17,64
sub x0,x17,72
sub x0,x17,80
sub x0,x17,88
sub x0,x17,96
sub x0,x17,104
sub x0,x17,112
sub x0,x17,120
sub x0,x17,128

sub x0,x13,8
sub x0,x13,16
sub x0,x13,24
sub x0,x13,32
sub x0,x13,40
sub x0,x13,48
sub x0,x13,56
sub x0,x13,64
sub x0,x13,72
sub x0,x13,80
sub x0,x13,88
sub x0,x13,96
sub x0,x13,104
sub x0,x13,112
sub x0,x13,120
sub x0,x13,128

```

```

/tmp/main-aarch64:     file format elf64-littleaarch64

Disassembly of section .text:

0000000000400078 <_start>:
  400078:	f9400620 	ldr	x0, [x17, oriansj#8]
  40007c:	f9400a20 	ldr	x0, [x17, oriansj#16]
  400080:	f9400e20 	ldr	x0, [x17, oriansj#24]
  400084:	f9401220 	ldr	x0, [x17, oriansj#32]
  400088:	f9401620 	ldr	x0, [x17, oriansj#40]
  40008c:	f9401a20 	ldr	x0, [x17, oriansj#48]
  400090:	f9401e20 	ldr	x0, [x17, oriansj#56]
  400094:	f9402220 	ldr	x0, [x17, oriansj#64]
  400098:	f9402620 	ldr	x0, [x17, oriansj#72]
  40009c:	f9402a20 	ldr	x0, [x17, oriansj#80]
  4000a0:	f9402e20 	ldr	x0, [x17, oriansj#88]
  4000a4:	f9403220 	ldr	x0, [x17, oriansj#96]
  4000a8:	f9403620 	ldr	x0, [x17, oriansj#104]
  4000ac:	f9403a20 	ldr	x0, [x17, #112]
  4000b0:	f9403e20 	ldr	x0, [x17, #120]
  4000b4:	f9404220 	ldr	x0, [x17, #128]
  4000b8:	d1002220 	sub	x0, x17, #0x8
  4000bc:	d1004220 	sub	x0, x17, #0x10
  4000c0:	d1006220 	sub	x0, x17, #0x18
  4000c4:	d1008220 	sub	x0, x17, #0x20
  4000c8:	d100a220 	sub	x0, x17, #0x28
  4000cc:	d100c220 	sub	x0, x17, #0x30
  4000d0:	d100e220 	sub	x0, x17, #0x38
  4000d4:	d1010220 	sub	x0, x17, #0x40
  4000d8:	d1012220 	sub	x0, x17, #0x48
  4000dc:	d1014220 	sub	x0, x17, #0x50
  4000e0:	d1016220 	sub	x0, x17, #0x58
  4000e4:	d1018220 	sub	x0, x17, #0x60
  4000e8:	d101a220 	sub	x0, x17, #0x68
  4000ec:	d101c220 	sub	x0, x17, #0x70
  4000f0:	d101e220 	sub	x0, x17, #0x78
  4000f4:	d1020220 	sub	x0, x17, #0x80
  4000f8:	d10021a0 	sub	x0, x13, #0x8
  4000fc:	d10041a0 	sub	x0, x13, #0x10
  400100:	d10061a0 	sub	x0, x13, #0x18
  400104:	d10081a0 	sub	x0, x13, #0x20
  400108:	d100a1a0 	sub	x0, x13, #0x28
  40010c:	d100c1a0 	sub	x0, x13, #0x30
  400110:	d100e1a0 	sub	x0, x13, #0x38
  400114:	d10101a0 	sub	x0, x13, #0x40
  400118:	d10121a0 	sub	x0, x13, #0x48
  40011c:	d10141a0 	sub	x0, x13, #0x50
  400120:	d10161a0 	sub	x0, x13, #0x58
  400124:	d10181a0 	sub	x0, x13, #0x60
  400128:	d101a1a0 	sub	x0, x13, #0x68
  40012c:	d101c1a0 	sub	x0, x13, #0x70
  400130:	d101e1a0 	sub	x0, x13, #0x78
  400134:	d10201a0 	sub	x0, x13, #0x80

```
gtker added a commit to gtker/M2libc that referenced this pull request Nov 4, 2025
```

.global _start
_start:
ldr x0,[x17,8]
ldr x0,[x17,16]
ldr x0,[x17,24]
ldr x0,[x17,32]
ldr x0,[x17,40]
ldr x0,[x17,48]
ldr x0,[x17,56]
ldr x0,[x17,64]
ldr x0,[x17,72]
ldr x0,[x17,80]
ldr x0,[x17,88]
ldr x0,[x17,96]
ldr x0,[x17,104]
ldr x0,[x17,112]
ldr x0,[x17,120]
ldr x0,[x17,128]

sub x0,x17,8
sub x0,x17,16
sub x0,x17,24
sub x0,x17,32
sub x0,x17,40
sub x0,x17,48
sub x0,x17,56
sub x0,x17,64
sub x0,x17,72
sub x0,x17,80
sub x0,x17,88
sub x0,x17,96
sub x0,x17,104
sub x0,x17,112
sub x0,x17,120
sub x0,x17,128

sub x0,x13,8
sub x0,x13,16
sub x0,x13,24
sub x0,x13,32
sub x0,x13,40
sub x0,x13,48
sub x0,x13,56
sub x0,x13,64
sub x0,x13,72
sub x0,x13,80
sub x0,x13,88
sub x0,x13,96
sub x0,x13,104
sub x0,x13,112
sub x0,x13,120
sub x0,x13,128

```

```

/tmp/main-aarch64:     file format elf64-littleaarch64

Disassembly of section .text:

0000000000400078 <_start>:
  400078:	f9400620 	ldr	x0, [x17, oriansj#8]
  40007c:	f9400a20 	ldr	x0, [x17, oriansj#16]
  400080:	f9400e20 	ldr	x0, [x17, oriansj#24]
  400084:	f9401220 	ldr	x0, [x17, oriansj#32]
  400088:	f9401620 	ldr	x0, [x17, oriansj#40]
  40008c:	f9401a20 	ldr	x0, [x17, oriansj#48]
  400090:	f9401e20 	ldr	x0, [x17, oriansj#56]
  400094:	f9402220 	ldr	x0, [x17, oriansj#64]
  400098:	f9402620 	ldr	x0, [x17, oriansj#72]
  40009c:	f9402a20 	ldr	x0, [x17, oriansj#80]
  4000a0:	f9402e20 	ldr	x0, [x17, oriansj#88]
  4000a4:	f9403220 	ldr	x0, [x17, oriansj#96]
  4000a8:	f9403620 	ldr	x0, [x17, oriansj#104]
  4000ac:	f9403a20 	ldr	x0, [x17, #112]
  4000b0:	f9403e20 	ldr	x0, [x17, #120]
  4000b4:	f9404220 	ldr	x0, [x17, #128]
  4000b8:	d1002220 	sub	x0, x17, #0x8
  4000bc:	d1004220 	sub	x0, x17, #0x10
  4000c0:	d1006220 	sub	x0, x17, #0x18
  4000c4:	d1008220 	sub	x0, x17, #0x20
  4000c8:	d100a220 	sub	x0, x17, #0x28
  4000cc:	d100c220 	sub	x0, x17, #0x30
  4000d0:	d100e220 	sub	x0, x17, #0x38
  4000d4:	d1010220 	sub	x0, x17, #0x40
  4000d8:	d1012220 	sub	x0, x17, #0x48
  4000dc:	d1014220 	sub	x0, x17, #0x50
  4000e0:	d1016220 	sub	x0, x17, #0x58
  4000e4:	d1018220 	sub	x0, x17, #0x60
  4000e8:	d101a220 	sub	x0, x17, #0x68
  4000ec:	d101c220 	sub	x0, x17, #0x70
  4000f0:	d101e220 	sub	x0, x17, #0x78
  4000f4:	d1020220 	sub	x0, x17, #0x80
  4000f8:	d10021a0 	sub	x0, x13, #0x8
  4000fc:	d10041a0 	sub	x0, x13, #0x10
  400100:	d10061a0 	sub	x0, x13, #0x18
  400104:	d10081a0 	sub	x0, x13, #0x20
  400108:	d100a1a0 	sub	x0, x13, #0x28
  40010c:	d100c1a0 	sub	x0, x13, #0x30
  400110:	d100e1a0 	sub	x0, x13, #0x38
  400114:	d10101a0 	sub	x0, x13, #0x40
  400118:	d10121a0 	sub	x0, x13, #0x48
  40011c:	d10141a0 	sub	x0, x13, #0x50
  400120:	d10161a0 	sub	x0, x13, #0x58
  400124:	d10181a0 	sub	x0, x13, #0x60
  400128:	d101a1a0 	sub	x0, x13, #0x68
  40012c:	d101c1a0 	sub	x0, x13, #0x70
  400130:	d101e1a0 	sub	x0, x13, #0x78
  400134:	d10201a0 	sub	x0, x13, #0x80

```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants