Задача на ASM
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Задача на ASM - 2007-04-04 19:36:15.083333
|
|
|
Rage
Сообщений: 24
Оценки: 0
Присоединился: 2006-07-26 14:47:18
|
Всем привет!!!!!!!!!!! Помогите решить вот такую задачу на ASM'e. Нужно на завтра. Определить значение квадрата целого положительного числа n, равного сумме первых n нечетных чисел натурального ряда. 72 = 1 + 3 + 5 + 7 + 9 + 11 + 13. Значение n ввести с клавиатуры. Зарание спасибо!!!!!!!!!!!
|
|
|
RE: Задача на ASM - 2007-04-04 19:47:03.823333
|
|
|
rgo
Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
|
5 wmz
|
|
|
RE: Задача на ASM - 2007-04-04 21:39:42.683333
|
|
|
Rage
Сообщений: 24
Оценки: 0
Присоединился: 2006-07-26 14:47:18
|
Пожалуйста … Помогите … А то я вообще ни фига в ASM'e не понимаю … В универе задали
|
|
|
RE: Задача на ASM - 2007-04-04 21:44:04.106666
|
|
|
Param0n
Сообщений: 113
Оценки: 0
Присоединился: 2006-10-31 23:02:16.050000
|
=) Учить надо. А в чём ты понимаешь? Напиши на том языке который знаешь, дизассемблируй (ещё есть компиляторы которые генят asm листинг), возьми в руки справочник по Асму, прошарь… всего делов та) Иначе плати rgo.
|
|
|
RE: Задача на ASM - 2007-04-04 21:55:19.690000
|
|
|
Param0n
Сообщений: 113
Оценки: 0
Присоединился: 2006-10-31 23:02:16.050000
|
Кстати, Visual C++ Toolkit 2003 генит отличные листинги)) С удобными коментариями и про сегменты не забывает ;)
|
|
|
RE: Задача на ASM - 2007-04-04 23:19:46.670000
|
|
|
rgo
Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
|
quote:
ORIGINAL: Rage Пожалуйста … Помогите … А то я вообще ни фига в ASM'e не понимаю … В универе задали если вообще не понимаешь, то at&t синтаксис тебе не поможет. но вдруг… .data
read_fmt:
.string "%d"
usage:
.asciz "Вводи число сука!"
result_fmt:
.asciz "Результат: %d\n"
.text
.globl main
main:
pushl %eax
pushl %esp
pushl $read_fmt
call scanf
popl %ebx
popl %ebx
test %eax, %eax
jnz do_work
pushl %eax
pushl $usage
call puts
popl %ebx
call exit
do_work:
popl %ecx
shll $1, %ecx
decl %ecx
xorl %eax, %eax
main_loop:
addl %ecx, %eax
decl %ecx
decl %ecx
jns main_loop
pushl %eax
pushl $result_fmt
call printf
xorl %eax, %eax
pushl %eax
call exit 5 wmz, за трансляцию этого в intel'овский синтаксис. по желанию избавление кода от привязки к stdio.h, и привязка к тому что больше нравится: BIOS, DOS, win32api, etc… могу заодно разрядность сменить с 32bit, на 16bit.
|
|
|
|
|