| |
|
|
p.specht
| Auf der XPSE-Homepage ist noch die alte download-Adresse von Japhet angegeben. Er hat seine Programme vor einiger Zeit auf SourceForge gestellt. Die POLINK-Adresse stimmt noch.
Die neue Download-Adresse vonn JWASM lautet jetzt: https://sourceforge.net/projects/jwasm.hx-dos.p/files/latest/download [...] |
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 20.10.2018 ▲ |
|
|
|
|
| In diesem Zusammenhang:
Bisher zeigen erste Experimente, dass JWASM und POLINK per nProcs in den kommenden XPSE-Versionen gar nicht mehr notwendig sein könnten dank RGHs XProfan-Inline-ASM. |
|
|
| |
|
|
|
p.specht
| Ein alternatives System zu haben ist aber auch etwas wert. Was wird sonst aus den guten alten XPSE-Programmen? Der Inline-Assembler von X4 kann einstweilen auch nur ein Subset der aktuellen Intel/AMD-Befehle, genauer gesagt:
END'CHECKLISTE, kein Programm!
CLS:Set(„ASMMODE“,1)'macht .lst-File gleichen Namens
ASM "Name",AnzParam% : ...
JMP weiter :MeinByte::DB n :DW nn :DD nnnn :Hexcode::DH "CDE50C68"'oder
DS "\xCD\xE5\x0C\x68" :DS "Text\z":DQ $A :DM x :weiter::'x Nullbyte einfügen
INC DEC MUL IMUL DIV IDIV NOT NEG CALL JMP LEA MOV ADD ADC SUB TEST CMP CMPSD XOR OR AND XCHG
JZ JNZ JE JNE JO JNO JA JNA JS JNS JL JLE JG JGE JAE JB JBE JNAE JNGE
JNLE LAHF LOOP LOOPZ LOOPNZ (Near-Jumps +\-2147483647)
LOOP zählt ECX-Register um 1 herunter, "KeinRücksprung zu Label" bei 0.
RCL RCR ROR ROL SAL SAR SHL SHR PUSH POP LEAVE(=mov ebp,esp:pop ebp) RET Parameteranzahl*4
NOP CDQ CLD CLC STC STD LODSB LODSD MOVSB MOVSD STOSB STOSD SCASB SCASP CMPSB CMPSP
Davor darf REP, REPNZ oder REPZ stehen, der Stringbefehle wiederholt und ECX um 1 reduziert bis ECX = 0
MOV AL,[Label] genügte DB per ein Byte.
API-Funktionen: CALL fAddr(Name) ProcAddr() CALL @label mit @ Operator per Sprungadresse!
4Byte-Fließkomma geht direkt, 64-bit-Fließkomma via addr( ) und QWORD PTR [reg] bzw. (default)
DWORD PTR [reg]-Adressierung. Literale und Float (Double) werden bei direkter Übergabe Single.
FINIT FWAIT FSTSW (Statusword der FPU nach AX). SAHF Oberen 8 Bit mit den Flags in das Flag-Register
der CPU laden, um die Flags dann zB. per Sprünge auszuwerten - auch mit FSTSW AX.
FSAVE und FRSTOR dient wo erforderlich zum retten aller FPU-Inhalte und FPU-Statusflags.
FLD, FST und FSTP greifen auf Single Fließkommawerte (DD) zu, entweder via [Adresse], oder
auf Registerstack: ST, auch ST(0) oder ST0 bis ST7/ST(7) geschrieben. Nie mehr als 8 Speicher
verwenden! Stack am Ende stets bereinigen, schlimmstenfalls mit FINIT (Notlösung);
FLD ST0 kopiert den ST0-Wert nun in ST (ST0) und dem hochgerückten ST1 (vormals ST0)
FSCALE; Hilfs-Mnemonic nun auch DQ und 64bitFloat-Arithmetik mit FLD QWORD PTR [Reg].
FMUL FDIV FADD FSUB FADDP FSUBP FMULP FDIVP FLD1=1.0, FLDZ 0.0, FLDPI Pi, FLDL2E log2(e),
FLDL2T log2(10), FLDLG2 log10(2), FLDLN2 ln(2) FABS FCHS FCOS FSIN FPTAN FPATAN FSQRT
F2XM1 FYL2X FY2XP1 FCOM FCOMP FCOMPP FUCOM FUCOMP FUCOMPP FTST FXAM ...
ENDASM'=return EAX
Wer mehr will, kann Befehle als Bytes programmieren, solange der Online-Assember/Disassembler von https{: / / }defuse.ca/online-x86-assembler.htm [...] noch klappt ... |
|
|
| Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 23.10.2018 ▲ |
|
|
|
|
p.specht
| Weitere Quelle per den JWASM Assembler, den auch XPSE nutzt: (Japhet hat seine homepage wieder aktviert) [...]
(Stand Version 2-12-pre vom 19.12.2013)
Auch die Homepage von Prof. Agner Fog wurde wieder upgedated: [...] |
|
|
| Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 27.05.2020 ▲ |
|
|
|