4-bit CPU: система команд

4-битные микроконтроллеры и микропроцессоры (прошлое, настоящее, будущее)

Moderator: Lavr

User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: 4-bit Processor

Post by Shaos »

Shaos wrote:Накидал :)

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

P.P.S. Эх, однобайтный аргумент в RASM не предназначен для применения к нему меток - придётся исходники ковырять...
На самом деле предназначен, но в варианте для 8086 когда однобайтовая метка считается относительным смещением - вставил небольшой хак в rasm.c и всё получилось :)
Shaos wrote:

Code: Select all

\ 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: Select all

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. Приаттачиваю пересобранную досовскую версию вместе со всем необходимым
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
petrenko
Doomed
Posts: 598
Joined: 10 Mar 2012 16:21
Location: РФ

Re: 4-bit Processor

Post by petrenko »

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

Re: 4-bit Processor

Post by Shaos »

petrenko wrote:
Lavr wrote:... a безусловный SKIP здесь достался в нагрузку от простоты схемотехники.
Но пригодиться* может, я думаю...
...
*_Может.
Например , вот ежели вдруг нужна доп.точка входа, такая, что при ентом входе какая-нибудь команда должна выполниться, а при более раннем заходе она не должна выполниться - вот тогда и пригодится безусловный SKIP :rotate:
Хитрый трюк - годно :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: 4-bit Processor

Post by Lavr »

Shaos wrote:
petrenko wrote:Например , вот ежели вдруг нужна доп.точка входа, такая, что при ентом входе какая-нибудь команда должна выполниться, а при более раннем заходе она не должна выполниться - вот тогда и пригодится безусловный SKIP :rotate:
Хитрый трюк - годно :)
Собственно говоря, этот "Хитрый трюк" и безусловный JMP выполнит, но безусловный SKIP короче и шустрее.
iLavr
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: 4-bit Processor

Post by Shaos »

Я правильно понимаю, что SKIP пропускает не только JMP, но и любую пару коротких команд, идущих после него?
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: 4-bit Processor

Post by Lavr »

Shaos wrote:SKIP пропускает не только JMP, но и любую пару коротких команд, идущих после него?
Именно так и есть. Но безусловный JMP может и пяток таких команд "обогнуть" - это я просто к слову. 8)
iLavr
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: 4-bit Processor

Post by Shaos »

Lavr wrote:
Shaos wrote:SKIP пропускает не только JMP, но и любую пару коротких команд, идущих после него?
Именно так и есть. Но безусловный JMP может и пяток таких команд "обогнуть" - это я просто к слову. 8)
но SKIP короче т.к. не требует адреса :)
и перемещаем по той же самой причине ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: 4-bit Processor

Post by Lavr »

Shaos wrote:но SKIP короче т.к. не требует адреса :)
Ну, вроде как я сам об этом чуть ранее и упомянул, разве нет? :o
Lavr wrote:...но безусловный SKIP короче и шустрее.
Shaos wrote:и перемещаем по той же самой причине ;)
Что перемещаем-то ? :roll:
iLavr
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: 4-bit Processor

Post by Shaos »

код перемещаем :)
т.е. не привязан к конкретным адресам
Я тут за главного - если что шлите мыло на me собака shaos точка net