I am new to assembly language. I am trying the below code and as you can see the below code.
bits 64
global _start
section .text
_start:
mov rcx, 1234567890
xor rcx, rcx
mov rcx, 'wxyz'
mov rax, 60
mov rdi, 0
syscall
I would like to know why digits are stored as Big endian in register and characters are stored in registers as Little-endian
Below screenshots are from the debugger.

I thought only in the memory, data is stored as Little endian. But I don't understand why the characters are stored as Little endian in the register. Kindly let me know.
Thank you.

nasm). The idea is that you will get the string in the expected order if written to memory.mov eax,'0123'vsmov eax,0x30313233, those two are different values (inbswapway different). You simply have to memorize that (as any other syntax "quirk"). Or check machine code in listing file after assembling what you get.mov eax,'0123'=>eax = 0x33323130.