linux - Assembler - adding big (128b) numbers (AT&T assembly syntax) - where to store results? -
i trying add 2 128 bits numbers using att assembly syntax in linux ubuntu 64b , debugging in gdb know after every loop result of adding 2 parts correct how store 4 results together?? considering adding every result stack can't add register content stack, right? doing correctly? real beginner in assembler need uni :/
exit_success = 0 sysexit = 1 number1: .long 0x10304008, 0x701100ff, 0x45100020, 0x08570030 number2: .long 0xf040500c, 0x00220026, 0x321000cb, 0x04520031 .global _start _start: movl $4, %edx clc pushf _loop: dec %edx movl number1(,%edx,4), %eax movl number2(,%edx,4), %ebx popf adcl %ebx, %eax cmp $0, %edx jne _loop popf jnc _end push $1 _end: mov $sysexit, %eax mov $exit_success, %ebx int $0x80
Comments
Post a Comment