E
Size: a a a
E
E
E
E
E
E
E
E
Y
.globl mainя вот получаю отдельно число в обратном порядке и прибавлю к нему 0x30 что би вишло аски код последнию цифру он правильно виводит а первую нет
main:
mov x0, #0
/* (6+10) - 1*/
add x0, x0, #6
add x0, x0, #10
sub x0, x0, #1
mov x4, #0
mov x0, #45
loop:
cmp x4, #16
beq done
mov x7, #10
udiv x1, x0, x7
msub x6, x1, x7, x0
add x6, x6, #0x30
sub sp, sp, #8
str x6, [sp, x4]
add x4, x4, #8
b loop
done:
/* syscall write(int fd, const void *buf, size_t count) */
mov x0, #1 /* fd := STDOUT_FILENO */
mov x1, sp /* buf := msg */
mov x2, x4 /* count := len */
mov w8, #64 /* write is syscall #64 */
svc #0 /* invoke syscall */
/* syscall exit(int status) */
mov x0, #0 /* status := 0 */
mov w8, #93 /* exit is syscall #1 */
svc #0 /* invoke syscall */
E