$put_perv_real = "/home/www/dvakompa-ru/dopol/"; ?>
https://gist.github.com/xTibor/faedf32245873cd0160cc7d3fa7c0076
== Elbrus 2000 (e2k) instruction set mnemonics == | |
aas ? | |
aaurr ? | |
aaurrd ? | |
aaurrq ? | |
aaurw ? | |
aaurwd ? | |
aaurwq ? | |
abn ? | |
abp ? | |
addd addition | |
adds addition | |
alc ? | |
als ? | |
andd binary and | |
andnd binary and | |
andns binary and | |
ands binary and | |
bitrevd bit reverse | |
bitrevs bit reverse | |
call subroutine call | |
cmpandedb compare | |
cmpbdb compare | |
cmpbedb compare | |
cmpbsb compare | |
cmpedb compare | |
cmpesb compare | |
cmpldb compare | |
cmpledb compare | |
cmplsb compare | |
ct branch | |
disp ? | |
eap ? | |
fapb ? | |
flushc ? | |
flushr ? | |
flushts ? | |
getfd ? | |
getsp ? | |
gettagd ? | |
ibranch ? | |
ipd ? | |
ld load | |
ldd load | |
ldh load | |
ldrd load | |
ldw load | |
lzcntd count leading zeroes | |
lzcnts count leading zeroes | |
mmurr mmu read | |
mmurw mmu write | |
movfi move | |
movtd move | |
movtq move | |
movts move | |
nop no operation | |
ord binary or | |
ors binary or | |
popcntd count ones | |
popcnts count ones | |
puttagd puts a tag on a register | |
puttags puts a tag on a register | |
return subroutine return | |
rrd ? | |
rrs ? | |
rwd ? | |
rws ? | |
sard ? | |
setbn ? | |
setbp ? | |
setwd ? | |
shld shift left | |
shls shift left | |
shrd shift right | |
shrs shift right | |
st store | |
std store | |
sth store | |
strd store | |
stw store | |
subd subtract | |
sxt ? | |
wait ? | |
xord exclusive or | |
xors exclusive or | |
... | |
Load and store instructions can operate on 8/16/32/64/128 bit integers. (b/h/w/d/q suffixes) | |
"s" suffix: signed operation? | |
== Elbrus 2000 (e2k) Registers == | |
? dr0 - dr7 | |
? r0 - r31 | |
? g0 - g31 | |
ctpr1 | |
ctpr2 | |
ctpr3 | |
lsr | |
ilcr | |
rwp read/write pointer | |
rwap read/write array pointer | |
rwsap read/write stack array pointer | |
cud compilation unit descriptor | |
gd compilation unit globals descriptor | |
oscud os compilation unit descriptor | |
osgd os compilation unit globals descriptor | |
psp procedure stack pointer | |
lsr loop status register | |
pcsp procedure chain stack pointer | |
cwd current chain registers window descriptor | |
usbr user stack base register | |
sbr user stack base register | |
usd non-protected user stack descriptor | |
pusd protected user stack descriptor | |
wd current window descriptor | |
ctpr control transfer preparation register | |
tir trap info register | |
upsr user processor status register | |
idr processor identification register | |
pfpfr packed floating point flag register | |
fpcr floating point control register | |
fpsr floating point status register | |
pshtp ? | |
cr0 ? chain register | |
cr1 ? chain register | |
... | |
=== Elbrus 2000 (e2k) stacks === | |
Three stacks: | |
* chain stack | |
* user stack | |
* argument stack |