nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 22 Oct 2018 08:43



Reply to topic  [ 12 posts ] 
Hello, world и сильно далее. 
Author Message
Doomed

Joined: 16 Mar 2002 18:00
Posts: 490
Reply with quote
Наконец-то я отоварился правильным и очень длинным кабелем LPT-LPT, подключил Спринтер по RGB (ну, это давно уже), и могу наконец начать писать софт для линка. Т.к. под Спринтер я ранее не писал, помогите быстро войти в тему. А именно, нужен исходный код hello world - просто вывод строки в текстовом режиме.

Как выводить текст через rst 10h - это я, собственно, понял, но мне неясно, как exe-файл получить (какой правильный формат заголовка), и как корректно завершить работу программы.


Last edited by Shiru Otaku on 04 Mar 2005 10:28, edited 2 times in total.



03 Mar 2005 15:57
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17028
Location: Colorado
Reply with quote
Shiru Otaku wrote:
Наконец-то я отоварился правильным и очень длинным кабелем LPT-LPT, подключил Спринтер по RGB (ну, это давно уже), и могу наконец начать писать софт для линка. Т.к. под Спринтер я ранее не писал, помогите быстро войти в тему. А именно, нужен исходный код hello world - просто вывод строки в текстовом режиме.

Как выводить текст через rst 10h - это я, собственно, понял, но мне неясно, как exe-файл получить (какой правильный формат заголовка), и как корректно завершить работу программы.


Вот тебе хелло-ворлд:

Code:
   ORG   8100h-512

;EXE-file header:
        dw 5845h     ; EXE Signature
        db 45h       ; Reserved (EXE type)
        db 00h       ; Version of EXE file
        dw 0200h     ; Code offset
        dw 0000h
        dw 0000h     ; Primary loader size or 0 (no primary loader)
        dw 0000h     ; Reserved
        dw 0000h     ; Reserved
        dw 0000h     ; Reserved
        dw START     ; Loading address
        dw START     ; Starting address (register PC)
        dw 0C000h    ; Stack address (register SP)
        ds 490       ; Reserved

;code of program

START:

; Write welcome message

        ld   hl,msg
        ld   c,5ch
        rst   10h

; Wait keypress

        ld   c,30h
        rst   10h

; Exit program

        ld   bc,0041h
        rst   10h     

msg   db   "Hello, World!",13,10,0



Компильнуть можно вот этим http://nedopc.org/nedopc/sprinter/download/zmac132.zip

Если на самом Спринтере, то используй OrgASM

Почитать про программирование Спринтера можно на форуме создателей http://www.eng.petersplus.ru/forum/wwwthreads.php

_________________
:eugeek: https://twitter.com/Shaos1973


Last edited by Shaos on 22 May 2013 00:27, edited 1 time in total.



03 Mar 2005 19:28
Profile WWW
Doomed

Joined: 16 Mar 2002 18:00
Posts: 490
Reply with quote
Post 
Ага, большое спасибо:)

Я и незнал, что на сайте петерсов что-то выжило. Там на форуме я несколько лет назад видел то, что меня сейчас интересует (скажем, про звук топик наконец-то нашёл).

Конкретно по линкеру - Спринтеровскую часть буду писать на нём самом, в OrgASM`е.


04 Mar 2005 03:59
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17028
Location: Colorado
Reply with quote
Post 
Shiru Otaku wrote:
Ага, большое спасибо:)

Я и незнал, что на сайте петерсов что-то выжило. Там на форуме я несколько лет назад видел то, что меня сейчас интересует (скажем, про звук топик наконец-то нашёл).

Конкретно по линкеру - Спринтеровскую часть буду писать на нём самом, в OrgASM`е.


Петерсовский форум-инвалид зажил только благодаря моим "костылям" т.к. я теперь владелец доменного имени "petersplus.com" ;)

_________________
:eugeek: https://twitter.com/Shaos1973


04 Mar 2005 04:41
Profile WWW
Doomed

Joined: 16 Mar 2002 18:00
Posts: 490
Reply with quote
Post 
Shaos wrote:
Петерсовский форум-инвалид зажил только благодаря моим "костылям" т.к. я теперь владелец доменного имени "petersplus.com" ;)

За это - отдельное спасибо:)

Так, меня можно поздравить - hello world скомпилен и запущен на Спринтере:) Заняло полчаса времени - найти, в чём набрать, как скомпилить, и увидеть опечатки после набора (однако-же, тяжело на ТВ читать, с моим-то зрением). Первый шаг сделан.

Теперь хочу следующий шаг. Как поудобнее организовать работу над проектом? Есть какой-нибудь текстовый редактор на Спринтере? Я сейчас пользуюсь встроенным в fn, но он весьма неудобен. И я так и не понял, как создавать новые текстовики. Пока втупую брал маленький текстовик, копировал, переименовывал, стирал там текст, и набирал свой. Это явно ненормально.

Проект пока организую так: папка, в ней orgasm.exe, мой исходник, bat-файл, запускающий orgasm для компиляции исходника. Не очень удобно.

Поделитесь опытом:)


btw, на харде cr0acker`а есть ещё tasm и masm80 - а что с этими ассемблерами, чем они лучше/хуже?


04 Mar 2005 05:14
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17028
Location: Colorado
Reply with quote
Post 
Я короткие вещи набирал в редакторе MC - еще в бытность MASM-a :)
Глючный он, но лучше вроде не нашел

_________________
:eugeek: https://twitter.com/Shaos1973


04 Mar 2005 05:18
Profile WWW
Retired

Joined: 03 Aug 2003 23:37
Posts: 1481
Location: Moscow
Reply with quote
Post 
Shiru Otaku wrote:
Есть какой-нибудь текстовый редактор на Спринтере?

TASM

Quote:
Я сейчас пользуюсь встроенным в fn, но он весьма неудобен. И я так и не понял, как создавать новые текстовики.

Shift+F4

_________________
Extreme Entertainment


04 Mar 2005 07:57
Profile
Doomed

Joined: 16 Mar 2002 18:00
Posts: 490
Reply with quote
Post 
Тасм попробую. Блин, изукрашен он - по самые не балуйся, у меня на мутном ТВ ничего не видно. Надо будет перенастроить.

Вообще, посидел часок за ТВ - глаза из орбит лезут. Как так можно работать - решительно непонятно, но, надеюсь, я выдержу:)

Глючит всё ужасно. Редактор fn`а, моя программа (без единой логической ошибки, но глючит бессовестно, и непонятно почему - разбираюсь).

Но начало положено. С частью нужных функций dss уже разобрался. Сегодня-завтра начну конкретно с программированием паралельного порта разбираться.


04 Mar 2005 08:59
Profile
Doomed

Joined: 16 Mar 2002 18:00
Posts: 490
Reply with quote
Post 
Так, разобрался с глюком. У меня был буфер в 256 байт (BUF ds 256), я его вставил сразу после хидера. Всё жутко глючило. Когда перенёс его в конец программы - всё стало ок.

У меня новый вопрос. Скажем, путь к папке с моей программой прописан в path (чтобы можно было просто набрать имя программы для её запуска). Как после запуска получить путь к тому месту, откуда она была вызвана? Я попробовал использовать функцию CURDIR dss`а (1eh) - она возвращает директорию, где лежит exe моей программы, т.е. при запуске директория изменяется (мне надо узнать - с какой).


04 Mar 2005 10:35
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17028
Location: Colorado
Reply with quote
Post 
Shiru Otaku wrote:
У меня новый вопрос. Скажем, путь к папке с моей программой прописан в path (чтобы можно было просто набрать имя программы для её запуска). Как после запуска получить путь к тому месту, откуда она была вызвана? Я попробовал использовать функцию CURDIR dss`а (1eh) - она возвращает директорию, где лежит exe моей программы, т.е. при запуске директория изменяется (мне надо узнать - с какой).


Вроде как понятия "текущий каталог" у DSS (Estex?) не существует. Есть каталог где лежит запущенный EXE и есть PATH - вот и все :)

_________________
:eugeek: https://twitter.com/Shaos1973


04 Mar 2005 20:59
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17028
Location: Colorado
Reply with quote
Post 
Shaos wrote:
Shiru Otaku wrote:
У меня новый вопрос. Скажем, путь к папке с моей программой прописан в path (чтобы можно было просто набрать имя программы для её запуска). Как после запуска получить путь к тому месту, откуда она была вызвана? Я попробовал использовать функцию CURDIR dss`а (1eh) - она возвращает директорию, где лежит exe моей программы, т.е. при запуске директория изменяется (мне надо узнать - с какой).


Вроде как понятия "текущий каталог" у DSS (Estex?) не существует. Есть каталог где лежит запущенный EXE и есть PATH - вот и все :)


Причем PATH появился только в версии DSS 1.6

_________________
:eugeek: https://twitter.com/Shaos1973


05 Mar 2005 09:49
Profile WWW
Doomed

Joined: 16 Mar 2002 18:00
Posts: 490
Reply with quote
Post 
Хммм.. Ладно, буду думать.


05 Mar 2005 15:36
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 12 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.