Kak se wika asm-programa ot clipper 5.3/exospace?
12 отговора
72 прегледа
Kak se wika asm-programa ot clipper 5.3/exospace?
Аз лично никога не съм викал , но има процедура CALL (С and Assembler)
Нямаш ли Norton Guide? Пиши и ще ти пратя....
Успех!
clipper 5.3/exospace?-уточнение
В общи линии имам 20-на асемлерски програмки за clipper87 /полупрозрачни сенки, мишка и.т.н/ , може би съм задал неправилно въпроса - КАК СЕ ПРАВИ КАТО ТРЪГНЕ АСЕМБЛЕРСКАТА ПРОЦЕДУРА ДА НЕ ТИ ДАВА "General protection fault"
clipper 5.3/exospace?-уточнение
С exospace приложението ти работи в protected mode - ако пишеш директно в паметта или портове е нормално да получаваш грешки. За да работиш нормално трябва да ползваш дескриптори, но има един малък проблем - мисля, че в документацията на Clipper ги няма описани. Ако искаш да видиш как става трябва да си намериш описание на DOS/16M - Tenberry Software или както направих аз - дизасемблирах част от бибилиотечните фукции - от библиотеката, която върви с exospace. Функциите са със C интерфейс - това за начина на предаване на параметрите.
успех
clipper 5.3/exospace?-уточнение
tRex, аз работия заедно с гъди по този проблем и искам да те питам нещо,
но предпочитам по телефон.
За първи път работя в защитен режим и докато обясня ще стане утре.
Аз купих преди години....
Clipper 5.3 , за да узаконя програмите си на Clipper въобще. Има една камара
книги които не чета. Там има някои работи за exospace. Не съм гледал дали
компютърния help (Norton Guide ) е копие на книгите. Ако се наложи, обади се
да ти пратя gate-то.
Тук обаче нещо ме чуди. Аз съм написал преди време една камара функции,
обаче изцяло на C. Поради това, че ги употребявах често ги турих в статична
библиотека (.LIB). Никакви проблеми не съм имал.
Но тук имам предвид нещо друго. Убеден съм, че поне 90 % от фунциите писани
на ASM мога да се напишат и на C. Нещо повече. При работа с Clipper 5.3, може да
се използва компилатор с inline/blocks assembly. (__asm/_asm). Ако не се използува
пряко адресиране - няма проблеми, иначе най-малкото което може да ти се
случи, е да се набуташ с VMM системта.
Например функцията за "сенките" я правих на C. При Clipper 5.3 мишката пьк
не е проблем и т.н. Само дето ме е яд на парламат с LIGHTLIB, ама това е
минало.
Ако има нещо за gate-то, обади се.
Поздрави: Любо
Отг: Kak se wika asm-programa ot clipper 5.3/exospace?
Функциите които ти трябват са _D16SegAbsolute и _D16SegCancel - и двете са far.
Можеш да видиш как се викат от src на библиотеката на Symantec C. Ако дадеш mail мога да ти пратя file който ти трябва
Можеш да видиш как се викат от src на библиотеката на Symantec C. Ако дадеш mail мога да ти пратя file който ти трябва
Отг: za tRex
georgi_georgiew@yahoo
намерих една библиотека която спомага работата в с VM code32 -ако искаш да ти я реплейна ?
намерих една библиотека която спомага работата в с VM code32 -ако искаш да ти я реплейна ?
Отг: Как се превключва от защитен в реален и обрат
Как се превключва от защитен в реален и обратно в asm и в c ?
Отг: Как се превключва от защитен в реален и обрат
зависи от cpu-то
- за 386 и нагоре е лесно нагласяш си дескрипторните таблици, зареждаш ги където трябва и си готов. обратно също е лесно сменяш един бит в cr0 и готово (не забравяш да си нагласиш отстаналите неща - векторна таблица, стек, и т.н.)
- за 286 работата не за гнусливи - в защитен режим се влиза почти както при 386.
за да се върнеш обратно трябва да направиш RESET на процесора (това е една от недомислиците на INTEL)
имай предвид, че и за двата случая викането на фукции на DOS и BIOS трябва да става в real mode !!!
за повече подробности: [линк] - имаше някакъв документ засягащ програмирането за x86
успех
- за 386 и нагоре е лесно нагласяш си дескрипторните таблици, зареждаш ги където трябва и си готов. обратно също е лесно сменяш един бит в cr0 и готово (не забравяш да си нагласиш отстаналите неща - векторна таблица, стек, и т.н.)
- за 286 работата не за гнусливи - в защитен режим се влиза почти както при 386.
за да се върнеш обратно трябва да направиш RESET на процесора (това е една от недомислиците на INTEL)
имай предвид, че и за двата случая викането на фукции на DOS и BIOS трябва да става в real mode !!!
за повече подробности: [линк] - имаше някакъв документ засягащ програмирането за x86
успех
Отг: Как се превключва от защитен в реален и обрат
Чувал съм по-знаещи от мен да казват, че това е трудна работа. Ако няма
стартирано нещо като emm386 било лесно, връщането също (там онзи
бит в cr0). Ако има обаче стартирано нещо като emm386, това нещо
ставало собственик на ресурсите и може да не ти даде достъп до
регистрите, които ти трябват. Виж преминаването от защитен режим
(най вероятно процесора на PC-то ти работи в този режим)в псевдо-
реален (дето му викат v86) и обратно е изпълнимо... но достатъчно
сложно. Ако целта ти е да се пребориш с Clipper 5.3 + Exospace и
Assembler това е лесна работа.Пишеш на Assembler без да мислиш за
какъвто и да е защитен режим и викаш процедурите или функциите
без call. Там е ключа за палатката. Достъпа до параметрите става
с разни функции, започващи с две долни черти, които са описани в NG-то.
Имам усещането, че интерпретатора на Clipper(в съчетание с Exospace),
преди да изпълни процедура или функция (а може би и всяка команда),
сам минава в псевдо-реален режим и после се в защитен. Това за да го
проверя ми трябва някакъв дебъгер за защитен режим. Моя любимец
afd.com не се справя с този режим. Ако някой е прочел писанита ми чак
до тук и има под ръка такъв дебъгер, и има желание да го изпрати
на адрес goldko@dir.bg, goldko, ще му бъде цял живот признателен
Хайде драпай нататък.
стартирано нещо като emm386 било лесно, връщането също (там онзи
бит в cr0). Ако има обаче стартирано нещо като emm386, това нещо
ставало собственик на ресурсите и може да не ти даде достъп до
регистрите, които ти трябват. Виж преминаването от защитен режим
(най вероятно процесора на PC-то ти работи в този режим)в псевдо-
реален (дето му викат v86) и обратно е изпълнимо... но достатъчно
сложно. Ако целта ти е да се пребориш с Clipper 5.3 + Exospace и
Assembler това е лесна работа.Пишеш на Assembler без да мислиш за
какъвто и да е защитен режим и викаш процедурите или функциите
без call. Там е ключа за палатката. Достъпа до параметрите става
с разни функции, започващи с две долни черти, които са описани в NG-то.
Имам усещането, че интерпретатора на Clipper(в съчетание с Exospace),
преди да изпълни процедура или функция (а може би и всяка команда),
сам минава в псевдо-реален режим и после се в защитен. Това за да го
проверя ми трябва някакъв дебъгер за защитен режим. Моя любимец
afd.com не се справя с този режим. Ако някой е прочел писанита ми чак
до тук и има под ръка такъв дебъгер, и има желание да го изпрати
на адрес goldko@dir.bg, goldko, ще му бъде цял живот признателен
Хайде драпай нататък.