@nataliapc/mcp-openmsx 1.1.14 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -12
- package/dist/server.js +198 -69
- package/dist/utils.js +54 -7
- package/dist/vectordb.js +60 -0
- package/package.json +10 -3
- package/resources/audio/MGSC111.txt +669 -0
- package/resources/audio/msx-midi.md +872 -0
- package/resources/audio/opl4tech.txt +688 -0
- package/resources/audio/psg_registers.md +281 -0
- package/resources/audio/sound_cartridge_scc.md +123 -0
- package/resources/audio/sound_cartridge_scci.md +250 -0
- package/resources/audio/toc.json +18 -7
- package/resources/book--msx2-technical-handbook/toc.json +1 -1
- package/resources/msx-unapi/toc.json +2 -2
- package/resources/processors/toc.json +4 -4
- package/resources/processors/z80_detailed_instruction_set.md +80 -68
- package/resources/programming/basic_wiki/ABS().md +36 -0
- package/resources/programming/basic_wiki/AND.md +71 -0
- package/resources/programming/basic_wiki/ASC().md +38 -0
- package/resources/programming/basic_wiki/ATN().md +36 -0
- package/resources/programming/basic_wiki/AUTO.md +39 -0
- package/resources/programming/basic_wiki/BASE().md +147 -0
- package/resources/programming/basic_wiki/BEEP.md +27 -0
- package/resources/programming/basic_wiki/BIN$().md +36 -0
- package/resources/programming/basic_wiki/BLOAD.md +63 -0
- package/resources/programming/basic_wiki/BSAVE.md +61 -0
- package/resources/programming/basic_wiki/CALL.md +391 -0
- package/resources/programming/basic_wiki/CALL_ADJUST.md +40 -0
- package/resources/programming/basic_wiki/CALL_IMPOSE.md +28 -0
- package/resources/programming/basic_wiki/CALL_OPTIONS.md +26 -0
- package/resources/programming/basic_wiki/CALL_PAUSE.md +119 -0
- package/resources/programming/basic_wiki/CALL_PCMPLAY.md +60 -0
- package/resources/programming/basic_wiki/CALL_PCMREC.md +70 -0
- package/resources/programming/basic_wiki/CDBL().md +36 -0
- package/resources/programming/basic_wiki/CHR$().md +51 -0
- package/resources/programming/basic_wiki/CINT().md +36 -0
- package/resources/programming/basic_wiki/CIRCLE.md +51 -0
- package/resources/programming/basic_wiki/CLEAR.md +39 -0
- package/resources/programming/basic_wiki/CLOAD.md +27 -0
- package/resources/programming/basic_wiki/CLOAD?.md +31 -0
- package/resources/programming/basic_wiki/CLOSE.md +44 -0
- package/resources/programming/basic_wiki/CLS.md +51 -0
- package/resources/programming/basic_wiki/COLOR.md +143 -0
- package/resources/programming/basic_wiki/COLOR=.md +93 -0
- package/resources/programming/basic_wiki/COLOR_SPRITE$().md +83 -0
- package/resources/programming/basic_wiki/COLOR_SPRITE().md +85 -0
- package/resources/programming/basic_wiki/CONT.md +23 -0
- package/resources/programming/basic_wiki/COPY.md +215 -0
- package/resources/programming/basic_wiki/COPY_SCREEN.md +61 -0
- package/resources/programming/basic_wiki/COS().md +37 -0
- package/resources/programming/basic_wiki/CSAVE.md +35 -0
- package/resources/programming/basic_wiki/CSNG().md +36 -0
- package/resources/programming/basic_wiki/CSRLIN.md +33 -0
- package/resources/programming/basic_wiki/DATA.md +47 -0
- package/resources/programming/basic_wiki/DEFDBL.md +40 -0
- package/resources/programming/basic_wiki/DEFINT.md +40 -0
- package/resources/programming/basic_wiki/DEFSNG.md +40 -0
- package/resources/programming/basic_wiki/DEFSTR.md +40 -0
- package/resources/programming/basic_wiki/DEF_FN.md +49 -0
- package/resources/programming/basic_wiki/DEF_USR.md +33 -0
- package/resources/programming/basic_wiki/DELETE.md +49 -0
- package/resources/programming/basic_wiki/DIM.md +59 -0
- package/resources/programming/basic_wiki/DRAW.md +77 -0
- package/resources/programming/basic_wiki/ELSE.md +45 -0
- package/resources/programming/basic_wiki/END.md +32 -0
- package/resources/programming/basic_wiki/EOF().md +36 -0
- package/resources/programming/basic_wiki/EQV.md +76 -0
- package/resources/programming/basic_wiki/ERASE.md +35 -0
- package/resources/programming/basic_wiki/ERL.md +34 -0
- package/resources/programming/basic_wiki/ERR.md +143 -0
- package/resources/programming/basic_wiki/ERROR.md +145 -0
- package/resources/programming/basic_wiki/EXP().md +38 -0
- package/resources/programming/basic_wiki/FIELD.md +48 -0
- package/resources/programming/basic_wiki/FIX().md +44 -0
- package/resources/programming/basic_wiki/FN.md +61 -0
- package/resources/programming/basic_wiki/FOR...NEXT.md +80 -0
- package/resources/programming/basic_wiki/FRE().md +66 -0
- package/resources/programming/basic_wiki/GET_DATE.md +60 -0
- package/resources/programming/basic_wiki/GET_TIME.md +34 -0
- package/resources/programming/basic_wiki/GOSUB.md +41 -0
- package/resources/programming/basic_wiki/GOTO.md +41 -0
- package/resources/programming/basic_wiki/HEX$().md +36 -0
- package/resources/programming/basic_wiki/IF...GOTO...ELSE.md +55 -0
- package/resources/programming/basic_wiki/IF...THEN...ELSE.md +50 -0
- package/resources/programming/basic_wiki/IMP.md +83 -0
- package/resources/programming/basic_wiki/INKEY$.md +65 -0
- package/resources/programming/basic_wiki/INP().md +33 -0
- package/resources/programming/basic_wiki/INPUT$().md +51 -0
- package/resources/programming/basic_wiki/INPUT.md +93 -0
- package/resources/programming/basic_wiki/INSTR().md +44 -0
- package/resources/programming/basic_wiki/INT().md +44 -0
- package/resources/programming/basic_wiki/INTERVAL.md +57 -0
- package/resources/programming/basic_wiki/KEY().md +51 -0
- package/resources/programming/basic_wiki/KEY.md +254 -0
- package/resources/programming/basic_wiki/LEFT$().md +39 -0
- package/resources/programming/basic_wiki/LEN().md +36 -0
- package/resources/programming/basic_wiki/LET.md +68 -0
- package/resources/programming/basic_wiki/LINE.md +74 -0
- package/resources/programming/basic_wiki/LINE_INPUT.md +79 -0
- package/resources/programming/basic_wiki/LIST.md +58 -0
- package/resources/programming/basic_wiki/LLIST.md +43 -0
- package/resources/programming/basic_wiki/LOAD.md +56 -0
- package/resources/programming/basic_wiki/LOCATE.md +67 -0
- package/resources/programming/basic_wiki/LOG().md +36 -0
- package/resources/programming/basic_wiki/LPOS().md +31 -0
- package/resources/programming/basic_wiki/LPRINT.md +46 -0
- package/resources/programming/basic_wiki/MAXFILES.md +39 -0
- package/resources/programming/basic_wiki/MERGE.md +54 -0
- package/resources/programming/basic_wiki/MID$().md +72 -0
- package/resources/programming/basic_wiki/MOD.md +39 -0
- package/resources/programming/basic_wiki/MOTOR.md +46 -0
- package/resources/programming/basic_wiki/NEW.md +27 -0
- package/resources/programming/basic_wiki/NOT.md +61 -0
- package/resources/programming/basic_wiki/OCT$().md +36 -0
- package/resources/programming/basic_wiki/ON...GOSUB.md +45 -0
- package/resources/programming/basic_wiki/ON...GOTO.md +42 -0
- package/resources/programming/basic_wiki/ON_ERROR_GOTO.md +61 -0
- package/resources/programming/basic_wiki/ON_INTERVAL_GOSUB.md +54 -0
- package/resources/programming/basic_wiki/ON_KEY_GOSUB.md +56 -0
- package/resources/programming/basic_wiki/ON_SPRITE_GOSUB.md +41 -0
- package/resources/programming/basic_wiki/ON_STOP_GOSUB.md +56 -0
- package/resources/programming/basic_wiki/ON_STRIG_GOSUB.md +70 -0
- package/resources/programming/basic_wiki/OPEN.md +103 -0
- package/resources/programming/basic_wiki/OR.md +75 -0
- package/resources/programming/basic_wiki/OUT.md +35 -0
- package/resources/programming/basic_wiki/PAD().md +110 -0
- package/resources/programming/basic_wiki/PAINT.md +66 -0
- package/resources/programming/basic_wiki/PDL().md +53 -0
- package/resources/programming/basic_wiki/PEEK().md +44 -0
- package/resources/programming/basic_wiki/PLAY().md +58 -0
- package/resources/programming/basic_wiki/PLAY.md +196 -0
- package/resources/programming/basic_wiki/POINT.md +52 -0
- package/resources/programming/basic_wiki/POKE.md +51 -0
- package/resources/programming/basic_wiki/POS().md +36 -0
- package/resources/programming/basic_wiki/PRESET.md +61 -0
- package/resources/programming/basic_wiki/PRINT.md +179 -0
- package/resources/programming/basic_wiki/PSET.md +82 -0
- package/resources/programming/basic_wiki/PUT_KANJI.md +93 -0
- package/resources/programming/basic_wiki/PUT_SPRITE.md +143 -0
- package/resources/programming/basic_wiki/READ.md +45 -0
- package/resources/programming/basic_wiki/REM.md +42 -0
- package/resources/programming/basic_wiki/RENUM.md +78 -0
- package/resources/programming/basic_wiki/RESTORE.md +52 -0
- package/resources/programming/basic_wiki/RESUME.md +45 -0
- package/resources/programming/basic_wiki/RETURN.md +47 -0
- package/resources/programming/basic_wiki/RIGHT$().md +39 -0
- package/resources/programming/basic_wiki/RND().md +51 -0
- package/resources/programming/basic_wiki/RUN.md +56 -0
- package/resources/programming/basic_wiki/SAVE.md +65 -0
- package/resources/programming/basic_wiki/SCREEN.md +164 -0
- package/resources/programming/basic_wiki/SET_ADJUST.md +66 -0
- package/resources/programming/basic_wiki/SET_BEEP.md +76 -0
- package/resources/programming/basic_wiki/SET_DATE.md +103 -0
- package/resources/programming/basic_wiki/SET_PAGE.md +52 -0
- package/resources/programming/basic_wiki/SET_PASSWORD.md +75 -0
- package/resources/programming/basic_wiki/SET_PROMPT.md +61 -0
- package/resources/programming/basic_wiki/SET_SCREEN.md +100 -0
- package/resources/programming/basic_wiki/SET_SCROLL.md +55 -0
- package/resources/programming/basic_wiki/SET_TIME.md +83 -0
- package/resources/programming/basic_wiki/SET_TITLE.md +87 -0
- package/resources/programming/basic_wiki/SET_VIDEO.md +49 -0
- package/resources/programming/basic_wiki/SGN().md +38 -0
- package/resources/programming/basic_wiki/SIN().md +36 -0
- package/resources/programming/basic_wiki/SOUND.md +188 -0
- package/resources/programming/basic_wiki/SPACE$().md +38 -0
- package/resources/programming/basic_wiki/SPC().md +34 -0
- package/resources/programming/basic_wiki/SPRITE$().md +50 -0
- package/resources/programming/basic_wiki/SPRITE.md +31 -0
- package/resources/programming/basic_wiki/SQR().md +32 -0
- package/resources/programming/basic_wiki/STICK().md +70 -0
- package/resources/programming/basic_wiki/STOP.md +70 -0
- package/resources/programming/basic_wiki/STR$().md +37 -0
- package/resources/programming/basic_wiki/STRIG().md +82 -0
- package/resources/programming/basic_wiki/STRING$().md +42 -0
- package/resources/programming/basic_wiki/SWAP.md +62 -0
- package/resources/programming/basic_wiki/TAB().md +38 -0
- package/resources/programming/basic_wiki/TAN().md +36 -0
- package/resources/programming/basic_wiki/TIME.md +59 -0
- package/resources/programming/basic_wiki/TROFF.md +21 -0
- package/resources/programming/basic_wiki/TRON.md +39 -0
- package/resources/programming/basic_wiki/USR().md +66 -0
- package/resources/programming/basic_wiki/VAL().md +36 -0
- package/resources/programming/basic_wiki/VARPTR().md +50 -0
- package/resources/programming/basic_wiki/VDP().md +103 -0
- package/resources/programming/basic_wiki/VPEEK().md +46 -0
- package/resources/programming/basic_wiki/VPOKE.md +48 -0
- package/resources/programming/basic_wiki/WAIT.md +38 -0
- package/resources/programming/basic_wiki/WIDTH.md +76 -0
- package/resources/programming/basic_wiki/XOR.md +72 -0
- package/resources/programming/basic_wiki/_toc.json +871 -0
- package/resources/sdcc/sdccman.lyx +81574 -0
- package/resources/sdcc/toc.json +77 -0
- package/vector-db/index.json +1 -0
- /package/resources/msx-unapi/{Ethernet_UNAPI_specification_1.1.md → Ethernet_UNAPI_specification_1_1.md} +0 -0
- /package/resources/msx-unapi/{MSX_UNAPI_specification_1.1.md → MSX_UNAPI_specification_1_1.md} +0 -0
- /package/resources/processors/{Z80_R800_instruction_set.md → z80_r800_instruction_set.md} +0 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# VPOKE
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Writes a value to a byte of the video memory (VRAM).
|
|
6
|
+
|
|
7
|
+
## Syntax
|
|
8
|
+
|
|
9
|
+
`VPOKE <Address>,<Value>`
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
`<Address>` must be in the range -32768 to 65535 (&H0000 to &HFFFF).
|
|
14
|
+
|
|
15
|
+
On MSX1 the usable VRAM area is 0-16383.
|
|
16
|
+
|
|
17
|
+
On MSX2 and up the usable VRAM area is 0-65535. In order to address all of the 128kB VRAM, `SET PAGE` instruction must be used. Please note that VRAM addressing is different (interleaved) in `SCREEN` modes 7, 8, 10, 11 and 12. However this is important to notice only if you switch between these two addressing modes between reading / writing.
|
|
18
|
+
|
|
19
|
+
`<Value>` is a decimal number between 0 and 255.
|
|
20
|
+
|
|
21
|
+
## Example
|
|
22
|
+
|
|
23
|
+
```basic
|
|
24
|
+
10 SC=PEEK(&HFCAF) ' Current screen mode (= 0/1 for text)
|
|
25
|
+
11 A=ASC("!")*8+BASE(SC*5+2) ' VRAM address for "!"-font outlook
|
|
26
|
+
12 FOR I=0 TO 7: READ D$: VPOKEA+I,VAL("&B"+D$): NEXT I
|
|
27
|
+
13 'New look (Note: Two last columns are not in use in screen 0)
|
|
28
|
+
14 DATA 00110000
|
|
29
|
+
15 DATA 01111000
|
|
30
|
+
16 DATA 01111000
|
|
31
|
+
17 DATA 00110000
|
|
32
|
+
18 DATA 00000000
|
|
33
|
+
19 DATA 00110000
|
|
34
|
+
20 DATA 00110000
|
|
35
|
+
21 DATA 00000000
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Related to
|
|
39
|
+
|
|
40
|
+
`BASE()`, `SCREEN`, `SET PAGE`, `VDP()`, `VPEEK()`
|
|
41
|
+
|
|
42
|
+
## Compatibility
|
|
43
|
+
|
|
44
|
+
MSX-BASIC 1.0 or higher
|
|
45
|
+
|
|
46
|
+
## Source
|
|
47
|
+
|
|
48
|
+
Retrieved from "https://www.msx.org/wiki/VPOKE"
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# WAIT
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Reads the specified I/O port and suspends the BASIC program execution until the result of value read at `<PortNumber> XOR <Value2> AND <Value1>` equals zero.
|
|
6
|
+
|
|
7
|
+
## Syntax
|
|
8
|
+
|
|
9
|
+
`WAIT <PortNumber>,<Value1>,<Value2>`
|
|
10
|
+
|
|
11
|
+
_Note: Parameters can not end with a comma alone._
|
|
12
|
+
|
|
13
|
+
## Parameters
|
|
14
|
+
|
|
15
|
+
`<PortNumber>` is the I/O port to read until the operation equals 0.
|
|
16
|
+
|
|
17
|
+
`<Value1>` is a value between 0 and 255. It can be a variable or an expression.
|
|
18
|
+
|
|
19
|
+
`<Value2>` is a optional value between 0 and 255. It can be a variable or an expression. By default it is 0.
|
|
20
|
+
|
|
21
|
+
## Example
|
|
22
|
+
|
|
23
|
+
```basic
|
|
24
|
+
10 ' Wait until user toggles CAPS LOCK on.
|
|
25
|
+
20 WAIT 170,64,64
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Related to
|
|
29
|
+
|
|
30
|
+
`AND`, `INP()`, `OUT`, `SOUND`, `VDP()`, `XOR`
|
|
31
|
+
|
|
32
|
+
## Compatibility
|
|
33
|
+
|
|
34
|
+
MSX-BASIC 1.0 or higher
|
|
35
|
+
|
|
36
|
+
## Source
|
|
37
|
+
|
|
38
|
+
Retrieved from "https://www.msx.org/wiki/WAIT"
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# WIDTH
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Sets the number of columns on current or last used text mode.
|
|
6
|
+
|
|
7
|
+
## Syntax
|
|
8
|
+
|
|
9
|
+
`WIDTH <Columns>`
|
|
10
|
+
|
|
11
|
+
## Parameter
|
|
12
|
+
|
|
13
|
+
`<Columns>` is a value between 1 and 32/40/80. The highest value depends on the mode set with `SCREEN` or `CALL KANJI`, and the type of MSX used. Kanji modes don't accept a value lower than 26.
|
|
14
|
+
|
|
15
|
+
|SCREEN|MSX type|Columns|
|
|
16
|
+
|:--|:--|:-:|
|
|
17
|
+
|0|MSX1 <sup>(*)</sup>|1-40|
|
|
18
|
+
|0|MSX2 and higher <sup>(*)</sup>|1-80|
|
|
19
|
+
|1|MSX1 and higher|1-32|
|
|
20
|
+
|9|Korean MSX2|1-80|
|
|
21
|
+
|KANJI0|Japanese MSX2+ and higher|26-64|
|
|
22
|
+
|KANJI1|Japanese MSX2+ and higher|26-80|
|
|
23
|
+
|KANJI2|Japanese MSX2+ and higher|26-64|
|
|
24
|
+
|KANJI3|Japanese MSX2+ and higher|26-80|
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
<sup>(*)</sup> Special case: the Yamaha CX5MII and CX5MII/128 are MSX1 computers with an additional ROM allowing to use the 80 column text mode.
|
|
28
|
+
|
|
29
|
+
### Default values
|
|
30
|
+
|
|
31
|
+
The default values according the MSX.
|
|
32
|
+
|
|
33
|
+
|SCREEN|Machines|Default width|
|
|
34
|
+
|:-:|:--|:--|
|
|
35
|
+
|0|Ascii One Chip MSX (improved)|80|
|
|
36
|
+
|0|Ascii One Chip MSX (original)|40|
|
|
37
|
+
|0|Brazilian Ciel and Sharp machines|39|
|
|
38
|
+
|0|Most Brazilian Gradiente machines|40|
|
|
39
|
+
|0|Most European machines|37|
|
|
40
|
+
|0|Japanese, Korean and Russian machines|39|
|
|
41
|
+
|1|All machines|29|
|
|
42
|
+
|9|Korean MSX2 computers|80|
|
|
43
|
+
|9|Korean MSX2 consoles|29 (takes the width of previous text mode)|
|
|
44
|
+
|KANJI0|Japanese MSX2+ and higher|29 (takes the width of previous text mode until the limit possible)|
|
|
45
|
+
|KANJI1|Japanese MSX2+ and higher|39 (takes the width of previous text mode until the limit possible)|
|
|
46
|
+
|KANJI2|Japanese MSX2+ and higher|29 (takes the width of previous text mode until the limit possible)|
|
|
47
|
+
|KANJI3|Japanese MSX2+ and higher|39 (takes the width of previous text mode until the limit possible)|
|
|
48
|
+
|
|
49
|
+
_Note: On MSX2 and higher machines, the instruction `SET SCREEN` saves the current parameter for screen 0 and 1; it's not possible to save this parameter for the Kanji modes. When you restart the MSX the saved parameter is used as default value. On Korean MSX2 the Hangul mode is kept only if `SET SCREEN` is executed in this mode._
|
|
50
|
+
|
|
51
|
+
## Examples
|
|
52
|
+
|
|
53
|
+
```basic
|
|
54
|
+
10 SCREEN 0: SCREEN 2
|
|
55
|
+
20 WIDTH 39: END
|
|
56
|
+
```
|
|
57
|
+
```basic
|
|
58
|
+
10 SCREEN 1: SCREEN 2
|
|
59
|
+
20 WIDTH 39: END
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
_Note: The second example causes an "Illegal function call" error._
|
|
63
|
+
|
|
64
|
+
## Related to
|
|
65
|
+
|
|
66
|
+
`CALL KANJI`, `SCREEN`, `SET SCREEN`
|
|
67
|
+
|
|
68
|
+
## Compatibility
|
|
69
|
+
|
|
70
|
+
MSX-BASIC 1.x
|
|
71
|
+
|
|
72
|
+
MSX-BASIC 2.0 or higher according the parameter.
|
|
73
|
+
|
|
74
|
+
## Source
|
|
75
|
+
|
|
76
|
+
Retrieved from "https://www.msx.org/wiki/WIDTH"
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# XOR
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Performs a bitwise XOR-operation (logical exclusive or) between two expressions.
|
|
6
|
+
|
|
7
|
+
The bit is set if one bit is set and the other one isn't:
|
|
8
|
+
```
|
|
9
|
+
0 XOR 0 = 0
|
|
10
|
+
0 XOR 1 = 1
|
|
11
|
+
1 XOR 0 = 1
|
|
12
|
+
1 XOR 1 = 0
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Syntax
|
|
16
|
+
|
|
17
|
+
`<Value> XOR <Value>`
|
|
18
|
+
|
|
19
|
+
## Parameter
|
|
20
|
+
|
|
21
|
+
`<Value>` is a value between -32768 and 32767. It can also be a a numeric variable, a mathematical expression or expression from a condition.
|
|
22
|
+
|
|
23
|
+
_Notes:_
|
|
24
|
+
- If you use binary expressions, it is best to put the first expression in parenthesis to avoid the bug in interpreter that causes a syntax error. This problem does not happen with decimal, hexadecimal or octal expressions.
|
|
25
|
+
- When the expression performed in a condition (`IF...THEN...ELSE` or `IF...GOTO...ELSE`) if the result of the whole expression is zero the value is taken as false, otherwise it's taken as true.
|
|
26
|
+
|
|
27
|
+
## Examples
|
|
28
|
+
|
|
29
|
+
```basic
|
|
30
|
+
PRINT 15 XOR 11
|
|
31
|
+
4
|
|
32
|
+
```
|
|
33
|
+
Binary explanation:
|
|
34
|
+
```
|
|
35
|
+
1111
|
|
36
|
+
1011 XOR
|
|
37
|
+
----
|
|
38
|
+
0100
|
|
39
|
+
```
|
|
40
|
+
---
|
|
41
|
+
```basic
|
|
42
|
+
PRINT 5 XOR 13
|
|
43
|
+
8
|
|
44
|
+
```
|
|
45
|
+
Binary explanation:
|
|
46
|
+
```
|
|
47
|
+
0101
|
|
48
|
+
1101 XOR
|
|
49
|
+
----
|
|
50
|
+
1000
|
|
51
|
+
```
|
|
52
|
+
---
|
|
53
|
+
```basic
|
|
54
|
+
PRINT &B00001111 XOR &B11110001
|
|
55
|
+
15
|
|
56
|
+
Syntax error
|
|
57
|
+
Ok
|
|
58
|
+
PRINT (&B00001111) XOR &B11110001
|
|
59
|
+
254
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Related to
|
|
63
|
+
|
|
64
|
+
`AND`, `EQV`, `IMP`, `MOD`, `NOT`, `OR`
|
|
65
|
+
|
|
66
|
+
## Compatibility
|
|
67
|
+
|
|
68
|
+
MSX-BASIC 1.0 or higher
|
|
69
|
+
|
|
70
|
+
## Source
|
|
71
|
+
|
|
72
|
+
Retrieved from "https://www.msx.org/wiki/XOR"
|