projects
/
inform.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Update to commit e33eef4f8fab800eaf4a32b2d159cde6c4bbb38e
[inform.git]
/
src
/
asm.c
diff --git
a/src/asm.c
b/src/asm.c
index 3467100ad779290ad9bbb123dafed7db9a496be4..6a263a311b6196ec327fcbd6d2cbc72a5ff307e3 100644
(file)
--- a/
src/asm.c
+++ b/
src/asm.c
@@
-1,9
+1,8
@@
/* ------------------------------------------------------------------------- */
/* "asm" : The Inform assembler */
/* */
/* ------------------------------------------------------------------------- */
/* "asm" : The Inform assembler */
/* */
-/* Copyright (c) Graham Nelson 1993 - 2020 */
-/* */
-/* This file is part of Inform. */
+/* Part of Inform 6.35 */
+/* copyright (c) Graham Nelson 1993 - 2021 */
/* */
/* Inform is free software: you can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
/* */
/* Inform is free software: you can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
@@
-868,7
+867,7
@@
extern void assemblez_instruction(assembly_instruction *AI)
if (operand_rules==TEXT)
{ int32 i;
if (operand_rules==TEXT)
{ int32 i;
- uchar *tmp = translate_text(zcode_holding_area + zcode_ha_size, zcode_holding_area+MAX_ZCODE_SIZE, AI->text);
+ uchar *tmp = translate_text(zcode_holding_area + zcode_ha_size, zcode_holding_area+MAX_ZCODE_SIZE, AI->text
, STRCTX_GAMEOPC
);
if (!tmp)
memoryerror("MAX_ZCODE_SIZE", MAX_ZCODE_SIZE);
j = subtract_pointers(tmp, (zcode_holding_area + zcode_ha_size));
if (!tmp)
memoryerror("MAX_ZCODE_SIZE", MAX_ZCODE_SIZE);
j = subtract_pointers(tmp, (zcode_holding_area + zcode_ha_size));
@@
-1576,7
+1575,7
@@
extern int32 assemble_routine_header(int no_locals,
sprintf(fnt, "[ %s(", name);
AO.marker = STRING_MV;
AO.type = CONSTANT_OT;
sprintf(fnt, "[ %s(", name);
AO.marker = STRING_MV;
AO.type = CONSTANT_OT;
- AO.value = compile_string(fnt,
FALSE, FALSE
);
+ AO.value = compile_string(fnt,
STRCTX_INFIX
);
assembleg_1(streamstr_gc, AO);
if (!stackargs) {
assembleg_1(streamstr_gc, AO);
if (!stackargs) {
@@
-1584,7
+1583,7
@@
extern int32 assemble_routine_header(int no_locals,
sprintf(fnt, "%s%s = ", (ix==1)?"":", ", variable_name(ix));
AO.marker = STRING_MV;
AO.type = CONSTANT_OT;
sprintf(fnt, "%s%s = ", (ix==1)?"":", ", variable_name(ix));
AO.marker = STRING_MV;
AO.type = CONSTANT_OT;
- AO.value = compile_string(fnt,
FALSE, FALSE
);
+ AO.value = compile_string(fnt,
STRCTX_INFIX
);
assembleg_1(streamstr_gc, AO);
AO.marker = 0;
AO.type = LOCALVAR_OT;
assembleg_1(streamstr_gc, AO);
AO.marker = 0;
AO.type = LOCALVAR_OT;
@@
-1597,7
+1596,7
@@
extern int32 assemble_routine_header(int no_locals,
sprintf(fnt, "%s = ", variable_name(1));
AO.marker = STRING_MV;
AO.type = CONSTANT_OT;
sprintf(fnt, "%s = ", variable_name(1));
AO.marker = STRING_MV;
AO.type = CONSTANT_OT;
- AO.value = compile_string(fnt,
FALSE, FALSE
);
+ AO.value = compile_string(fnt,
STRCTX_INFIX
);
assembleg_1(streamstr_gc, AO);
AO.marker = 0;
AO.type = LOCALVAR_OT;
assembleg_1(streamstr_gc, AO);
AO.marker = 0;
AO.type = LOCALVAR_OT;
@@
-1631,7
+1630,7
@@
extern int32 assemble_routine_header(int no_locals,
AO.marker = STRING_MV;
AO.type = CONSTANT_OT;
AO.marker = STRING_MV;
AO.type = CONSTANT_OT;
- AO.value = compile_string(") ]^",
FALSE, FALSE
);
+ AO.value = compile_string(") ]^",
STRCTX_INFIX
);
assembleg_1(streamstr_gc, AO);
}
}
assembleg_1(streamstr_gc, AO);
}
}
@@
-2078,13
+2077,13
@@
static void transfer_routine_g(void)
((form_len == 2) ? "short" : "long")));
}
if (form_len == 1) {
((form_len == 2) ? "short" : "long")));
}
if (form_len == 1) {
- if (addr < -0x80
&&
addr >= 0x80) {
+ if (addr < -0x80
||
addr >= 0x80) {
error("*** Label out of range for byte branch ***");
}
error("*** Label out of range for byte branch ***");
}
- zcode_holding_area[i] = (addr) & 0xFF;
+
zcode_holding_area[i] = (addr) & 0xFF;
}
else if (form_len == 2) {
}
else if (form_len == 2) {
- if (addr < -0x8000
&&
addr >= 0x8000) {
+ if (addr < -0x8000
||
addr >= 0x8000) {
error("*** Label out of range for short branch ***");
}
zcode_holding_area[i] = (addr >> 8) & 0xFF;
error("*** Label out of range for short branch ***");
}
zcode_holding_area[i] = (addr >> 8) & 0xFF;