khh 0 6 декабря, 2006 Опубликовано 6 декабря, 2006 · Жалоба Привет всем. Помогите, плз, бедному начинающему ламеру. Мне нужно реализовать извлечение квадратного корня методом Ньютона-Рафсона на ассемблере ADSP с определенной точностью. Вот программа из методички Климовича К.Г. 2002 Программирование ADSP 21160 EZ-KIT (компилится, подключены все нужные компоненты, но идет переполнение стека): /******************************************************************* /* Specific function h-file*/ #include "def21160.h" #include <stdio.h> /* exclusively for ez-kit intrrupt setup */ #define Mon_SPT1I JUMP 0x40220;RTI;RTI;RTI #define Mon_IRQ0I JUMP 0x40210;RTI;RTI;RTI #define Mon_IRQ1I JUMP 0x40200;RTI;RTI;RTI /* DATA */ #define Y 36.0 // Input number #define C 0.5 // Coeff 1 #define Z 3.0 // Coeff 2 .GLOBAL _main; /* Interrupt vectors */ .section/PM seg_rth; Reserved_1: nop; nop; nop; nop; Chip_reset: nop; jump _main; nop; nop; /* Program code */ .section/PM seg_pmco; .PRECISION=32; .GLOBAL sqrt; _main: sqrt: f1=C; f8=Z; f0=Y; f4=RSQRTS f0; f12=f4*f4; f12=f12*f0; f4=f1*f4, f12=f8-f12; f4=f4*f12; f12=f4*f4; f12=f12*f0; f4=f1*f4, f12=f8-f12; f4=f4*f12; f0=f4*f0; Что же делать?!!!! помогите глупой Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bve 1 6 декабря, 2006 Опубликовано 6 декабря, 2006 · Жалоба И как Вы это запускаете - под отладчиком или ? Может, поставите команду jump(PC,0) в конце программы для останова? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khh 0 6 декабря, 2006 Опубликовано 6 декабря, 2006 · Жалоба Запускаю под отладчиком. А потом мне надо программно наблюдать за выполнением в симуляторе. А вот команду jump(PC,0) могу попробовать только завтра на учебе :( Спасибо за помощь:) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bve 1 8 декабря, 2006 Опубликовано 8 декабря, 2006 · Жалоба Запускаю под отладчиком. А потом мне надо программно наблюдать за выполнением в симуляторе. А вот команду jump(PC,0) могу попробовать только завтра на учебе :( Спасибо за помощь:) Эта команда остановит программу. Надеюсь, что такого "действа" будет достаточно..... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khh 0 15 декабря, 2006 Опубликовано 15 декабря, 2006 · Жалоба Здравствуйте. Большое спасибо за помощь. Но тут появилась еще одна проблемка. Стек не переполняется, но программа работает без прерывания. Какой-то бесконечный цикл. Как посмотреть результат ее выполнения? :) Я вообще потерялась в ней. F1... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bve 1 15 декабря, 2006 Опубликовано 15 декабря, 2006 · Жалоба Здравствуйте. Большое спасибо за помощь. Но тут появилась еще одна проблемка. Стек не переполняется, но программа работает без прерывания. Какой-то бесконечный цикл. Как посмотреть результат ее выполнения? :) Я вообще потерялась в ней. F1... Если Вы запускаете под отладчиком - то просто пройдите по шагам ( кстати, какой отладчик? ), если работаете в симуляторе - тоже можно пройтись по шагам и посмотреть содержимое регистра f0. А что значит - работает без прерывания? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться