Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Franck Pommereau
/
bones
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
Franck Pommereau
2015-04-02 09:36:25 +0200
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
9f2e8568373a880d090768d5935746231a0be127
9f2e8568
1 parent
3ee71252
new example
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
159 additions
and
0 deletions
asm/multitask.asm
asm/spyinstr.asm
asm/multitask.asm
0 → 100644
View file @
9f2e856
IRQ0
:
#
set
IP
for
process
B
in
its
first
stack
frame
set
R1
@
intr1B
#
top
(
empty
)
dec
R1
#
where
interrupt
mask
is
saved
set
R0
0xFFFF
#
mask
save
R0
R1
dec
R1
#
where
IP
is
saved
set
R0
@
processB
save
R0
R1
#
assign
it
to
@
processB
#
start
process
A
set
SP
@
intr0A
set
R0
@
processA
jmp
R0
#
which
process
is
running
#
-
0
=>
process
A
#
-
1
=>
process
B
current
:
=
0
IRQ2
:
#
check
which
process
is
running
set
R0
@
current
load
R0
R1
set
R2
@
switchB
jz
R1
R2
switchA
:
#
switch
to
process
A
dec
R1
set
SP
@
intr1A
set
R3
@
end
jmp
R3
switchB
:
#
switch
to
process
B
inc
R1
set
SP
@
intr1B
end
:
#
update
the
running
process
save
R1
R0
iret
#
code
for
process
A
:
make
R0
blink
(
AAAA
/
4444
)
processA
:
set
R0
0xAAAA
set
R0
0x4444
set
R1
@
processA
jmp
R1
#
code
for
process
B
:
make
R0
blink
(
BBBB
/
8888
)
processB
:
set
R0
0xBBBB
set
R0
0x8888
set
R1
@
processB
jmp
R1
#
stack
for
process
A
intr0A
:
#
frame
for
IRQ0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
intr1A
:
#
one
more
frame
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
intr2A
:
#
one
last
frame
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
#
stack
for
process
B
intr0B
:
#
frame
for
IRQ0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
intr1B
:
#
one
more
frame
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
intr2B
:
#
one
last
frame
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
=
0
asm/spyinstr.asm
0 → 100644
View file @
9f2e856
top
:
=
0
IRQ0
:
intr
4
set
R4
@
top
load
R4
R0
sub
R0
SP
halt
IRQ4
:
set
R0
@
top
save
SP
R0
iret
\ No newline at end of file
Please
register
or
login
to post a comment