nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 01:49



Reply to topic  [ 24 posts ]  Go to page Previous  1, 2
4-bit CPU: система команд 
Author Message
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Shaos wrote:
Накидал :)

P.S. В силу специфики проца применяя RASM придётся вручную писать 256-байтовые сегменты, сохраняя их в разных A-файлах с разными ORG-ами...

P.P.S. Эх, однобайтный аргумент в RASM не предназначен для применения к нему меток - придётся исходники ковырять...

На самом деле предназначен, но в варианте для 8086 когда однобайтовая метка считается относительным смещением - вставил небольшой хак в rasm.c и всё получилось :)
Shaos wrote:
Code:
\ TEST PROGRAM
    ORG 0
START:
    JMI_0 L3
    JMI_0 L2
    JMI_0 L1
    ADD
    SUB
    XOR
L1: RET_1
L2: RET_2
L3: RET_3
    JMP_0 START


Запуск RASM LAVR4A.A -tLAVR4A.TAB генерит BIN и такой LST:

Code:
This listing generated by RoboAssembler v2.5 <me@shaos.net>


0000 E0 START:   JMI_0 L3
0001 0B
0002 E0      JMI_0 L2
0003 0A
0004 E0      JMI_0 L1
0005 09
0006 B0      ADD
0007 B4      SUB
0008 B1      XOR
0009 81 L1: RET_1
000A 82 L2: RET_2
000B 83 L3:    RET_3
000C F0      JMP_0 START
000D 00



L1      0009
L2      000A
L3      000B
START      0000


Версия 2.5 в исходниках лежит на SourceForge (вместе с новым lavr4a.tab, который я тут цеплял чуть раньше):

http://nedopc.cvs.sourceforge.net/viewvc/nedopc/src/rasm/

P.S. Приаттачиваю пересобранную досовскую версию вместе со всем необходимым


Attachments:
File comment: DOS32 version of RASM v2.5
RASM-D32.ZIP [38.55 KiB]
Downloaded 400 times

_________________
:dj: https://mastodon.social/@Shaos
13 Dec 2015 13:45
Profile WWW
Doomed

Joined: 10 Mar 2012 16:21
Posts: 598
Location: РФ
Reply with quote
Lavr wrote:
... a безусловный SKIP здесь достался в нагрузку от простоты схемотехники.
Но пригодиться* может, я думаю...
...
*_Может.
Например , вот ежели вдруг нужна доп.точка входа, такая, что при ентом входе какая-нибудь команда должна выполниться, а при более раннем заходе она не должна выполниться - вот тогда и пригодится безусловный SKIP :rotate:


14 Dec 2015 06:45
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
petrenko wrote:
Lavr wrote:
... a безусловный SKIP здесь достался в нагрузку от простоты схемотехники.
Но пригодиться* может, я думаю...
...
*_Может.
Например , вот ежели вдруг нужна доп.точка входа, такая, что при ентом входе какая-нибудь команда должна выполниться, а при более раннем заходе она не должна выполниться - вот тогда и пригодится безусловный SKIP :rotate:


Хитрый трюк - годно :)

_________________
:dj: https://mastodon.social/@Shaos


14 Dec 2015 07:38
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
petrenko wrote:
Например , вот ежели вдруг нужна доп.точка входа, такая, что при ентом входе какая-нибудь команда должна выполниться, а при более раннем заходе она не должна выполниться - вот тогда и пригодится безусловный SKIP :rotate:

Хитрый трюк - годно :)

Собственно говоря, этот "Хитрый трюк" и безусловный JMP выполнит, но безусловный SKIP короче и шустрее.

_________________
iLavr


14 Dec 2015 07:49
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Я правильно понимаю, что SKIP пропускает не только JMP, но и любую пару коротких команд, идущих после него?

_________________
:dj: https://mastodon.social/@Shaos


14 Dec 2015 08:19
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
SKIP пропускает не только JMP, но и любую пару коротких команд, идущих после него?

Именно так и есть. Но безусловный JMP может и пяток таких команд "обогнуть" - это я просто к слову. 8)

_________________
iLavr


14 Dec 2015 08:25
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Lavr wrote:
Shaos wrote:
SKIP пропускает не только JMP, но и любую пару коротких команд, идущих после него?

Именно так и есть. Но безусловный JMP может и пяток таких команд "обогнуть" - это я просто к слову. 8)


но SKIP короче т.к. не требует адреса :)
и перемещаем по той же самой причине ;)

_________________
:dj: https://mastodon.social/@Shaos


14 Dec 2015 08:35
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
но SKIP короче т.к. не требует адреса :)

Ну, вроде как я сам об этом чуть ранее и упомянул, разве нет? :o
Lavr wrote:
...но безусловный SKIP короче и шустрее.

Shaos wrote:
и перемещаем по той же самой причине ;)

Что перемещаем-то ? :roll:

_________________
iLavr


14 Dec 2015 08:53
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
код перемещаем :)
т.е. не привязан к конкретным адресам

_________________
:dj: https://mastodon.social/@Shaos


14 Dec 2015 09:01
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 24 posts ]  Go to page Previous  1, 2

Who is online

Users browsing this forum: No registered users and 9 guests


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:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.