@jhlagado/azm 0.2.0 → 0.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.
Files changed (334) hide show
  1. package/README.md +110 -78
  2. package/dist/src/api-compile.d.ts +0 -2
  3. package/dist/src/api-compile.js +2 -9
  4. package/dist/src/assembly/address-planning.js +21 -1
  5. package/dist/src/assembly/program-emission.js +1 -0
  6. package/dist/src/cli/parse-args.d.ts +0 -1
  7. package/dist/src/cli/parse-args.js +0 -7
  8. package/dist/src/cli/write-artifacts.js +0 -11
  9. package/dist/src/core/compile.js +192 -9
  10. package/dist/src/expansion/op-expansion.js +2 -0
  11. package/dist/src/model/expression.d.ts +4 -0
  12. package/dist/src/model/source-item.d.ts +11 -0
  13. package/dist/src/outputs/index.js +0 -2
  14. package/dist/src/outputs/types.d.ts +3 -16
  15. package/dist/src/outputs/write-asm80.js +206 -5
  16. package/dist/src/register-care/analyze.js +36 -8
  17. package/dist/src/register-care/annotations.js +33 -146
  18. package/dist/src/register-care/fix.d.ts +2 -0
  19. package/dist/src/register-care/fix.js +52 -0
  20. package/dist/src/register-care/instruction-shape.d.ts +11 -0
  21. package/dist/src/register-care/instruction-shape.js +129 -0
  22. package/dist/src/register-care/liveness.js +15 -7
  23. package/dist/src/register-care/profiles.js +4 -0
  24. package/dist/src/register-care/programModel.js +79 -13
  25. package/dist/src/register-care/report.d.ts +2 -1
  26. package/dist/src/register-care/report.js +91 -34
  27. package/dist/src/register-care/routine-summaries.d.ts +6 -0
  28. package/dist/src/register-care/routine-summaries.js +89 -0
  29. package/dist/src/register-care/summaries.d.ts +3 -3
  30. package/dist/src/register-care/summaries.js +42 -75
  31. package/dist/{legacy-root-azm/src/registerCare → src/register-care}/summary.js +33 -51
  32. package/dist/src/register-care/types.d.ts +6 -1
  33. package/dist/src/semantics/expression-evaluation.d.ts +7 -3
  34. package/dist/src/semantics/expression-evaluation.js +57 -0
  35. package/dist/src/source/strip-line-comment.d.ts +2 -0
  36. package/dist/src/source/strip-line-comment.js +26 -0
  37. package/dist/src/syntax/directive-aliases.js +9 -10
  38. package/dist/src/syntax/parse-diagnostics.d.ts +12 -0
  39. package/dist/src/syntax/parse-diagnostics.js +18 -0
  40. package/dist/src/syntax/parse-expression.js +34 -9
  41. package/dist/src/syntax/parse-line.js +150 -54
  42. package/dist/src/tooling/case-style.js +3 -0
  43. package/docs/reference/cli.md +6 -4
  44. package/docs/reference/tooling-api.md +13 -9
  45. package/package.json +4 -6
  46. package/dist/legacy-root-azm/src/analysis.d.ts +0 -11
  47. package/dist/legacy-root-azm/src/analysis.js +0 -41
  48. package/dist/legacy-root-azm/src/compile.d.ts +0 -10
  49. package/dist/legacy-root-azm/src/compile.js +0 -186
  50. package/dist/legacy-root-azm/src/compileShared.d.ts +0 -3
  51. package/dist/legacy-root-azm/src/compileShared.js +0 -7
  52. package/dist/legacy-root-azm/src/diagnosticTypes.d.ts +0 -77
  53. package/dist/legacy-root-azm/src/diagnosticTypes.js +0 -53
  54. package/dist/legacy-root-azm/src/formats/index.d.ts +0 -7
  55. package/dist/legacy-root-azm/src/formats/index.js +0 -17
  56. package/dist/legacy-root-azm/src/formats/range.d.ts +0 -17
  57. package/dist/legacy-root-azm/src/formats/range.js +0 -45
  58. package/dist/legacy-root-azm/src/formats/types.d.ts +0 -283
  59. package/dist/legacy-root-azm/src/formats/types.js +0 -1
  60. package/dist/legacy-root-azm/src/formats/writeAsm80.d.ts +0 -6
  61. package/dist/legacy-root-azm/src/formats/writeAsm80.js +0 -86
  62. package/dist/legacy-root-azm/src/formats/writeBin.d.ts +0 -7
  63. package/dist/legacy-root-azm/src/formats/writeBin.js +0 -23
  64. package/dist/legacy-root-azm/src/formats/writeD8m.d.ts +0 -9
  65. package/dist/legacy-root-azm/src/formats/writeD8m.js +0 -245
  66. package/dist/legacy-root-azm/src/formats/writeHex.d.ts +0 -8
  67. package/dist/legacy-root-azm/src/formats/writeHex.js +0 -38
  68. package/dist/legacy-root-azm/src/formats/writeListing.d.ts +0 -8
  69. package/dist/legacy-root-azm/src/formats/writeListing.js +0 -83
  70. package/dist/legacy-root-azm/src/frontend/asm80/asmLine.d.ts +0 -39
  71. package/dist/legacy-root-azm/src/frontend/asm80/asmLine.js +0 -89
  72. package/dist/legacy-root-azm/src/frontend/asm80/parseAsmRawValues.d.ts +0 -4
  73. package/dist/legacy-root-azm/src/frontend/asm80/parseAsmRawValues.js +0 -94
  74. package/dist/legacy-root-azm/src/frontend/asm80/quoteScan.d.ts +0 -10
  75. package/dist/legacy-root-azm/src/frontend/asm80/quoteScan.js +0 -25
  76. package/dist/legacy-root-azm/src/frontend/ast.d.ts +0 -376
  77. package/dist/legacy-root-azm/src/frontend/ast.js +0 -1
  78. package/dist/legacy-root-azm/src/frontend/directiveAliases.d.ts +0 -14
  79. package/dist/legacy-root-azm/src/frontend/directiveAliases.js +0 -189
  80. package/dist/legacy-root-azm/src/frontend/grammarData.d.ts +0 -14
  81. package/dist/legacy-root-azm/src/frontend/grammarData.js +0 -65
  82. package/dist/legacy-root-azm/src/frontend/immExprUtils.d.ts +0 -2
  83. package/dist/legacy-root-azm/src/frontend/immExprUtils.js +0 -12
  84. package/dist/legacy-root-azm/src/frontend/parseAsmFlatDirectiveLine.d.ts +0 -17
  85. package/dist/legacy-root-azm/src/frontend/parseAsmFlatDirectiveLine.js +0 -187
  86. package/dist/legacy-root-azm/src/frontend/parseAsmInstruction.d.ts +0 -3
  87. package/dist/legacy-root-azm/src/frontend/parseAsmInstruction.js +0 -73
  88. package/dist/legacy-root-azm/src/frontend/parseAsmStatements.d.ts +0 -6
  89. package/dist/legacy-root-azm/src/frontend/parseAsmStatements.js +0 -16
  90. package/dist/legacy-root-azm/src/frontend/parseAsmStream.d.ts +0 -10
  91. package/dist/legacy-root-azm/src/frontend/parseAsmStream.js +0 -33
  92. package/dist/legacy-root-azm/src/frontend/parseAsmTopLevel.d.ts +0 -18
  93. package/dist/legacy-root-azm/src/frontend/parseAsmTopLevel.js +0 -34
  94. package/dist/legacy-root-azm/src/frontend/parseDiagnostics.d.ts +0 -9
  95. package/dist/legacy-root-azm/src/frontend/parseDiagnostics.js +0 -16
  96. package/dist/legacy-root-azm/src/frontend/parseEnum.d.ts +0 -12
  97. package/dist/legacy-root-azm/src/frontend/parseEnum.js +0 -70
  98. package/dist/legacy-root-azm/src/frontend/parseImm.d.ts +0 -10
  99. package/dist/legacy-root-azm/src/frontend/parseImm.js +0 -397
  100. package/dist/legacy-root-azm/src/frontend/parseLogicalLines.d.ts +0 -11
  101. package/dist/legacy-root-azm/src/frontend/parseLogicalLines.js +0 -94
  102. package/dist/legacy-root-azm/src/frontend/parseOp.d.ts +0 -25
  103. package/dist/legacy-root-azm/src/frontend/parseOp.js +0 -120
  104. package/dist/legacy-root-azm/src/frontend/parseOpHeader.d.ts +0 -20
  105. package/dist/legacy-root-azm/src/frontend/parseOpHeader.js +0 -32
  106. package/dist/legacy-root-azm/src/frontend/parseOperands.d.ts +0 -4
  107. package/dist/legacy-root-azm/src/frontend/parseOperands.js +0 -290
  108. package/dist/legacy-root-azm/src/frontend/parseParams.d.ts +0 -6
  109. package/dist/legacy-root-azm/src/frontend/parseParams.js +0 -62
  110. package/dist/legacy-root-azm/src/frontend/parseParserRecovery.d.ts +0 -12
  111. package/dist/legacy-root-azm/src/frontend/parseParserRecovery.js +0 -17
  112. package/dist/legacy-root-azm/src/frontend/parseParserShared.d.ts +0 -2
  113. package/dist/legacy-root-azm/src/frontend/parseParserShared.js +0 -8
  114. package/dist/legacy-root-azm/src/frontend/parseRawDataDirectiveStart.d.ts +0 -1
  115. package/dist/legacy-root-azm/src/frontend/parseRawDataDirectiveStart.js +0 -3
  116. package/dist/legacy-root-azm/src/frontend/parseRawDataDirectives.d.ts +0 -7
  117. package/dist/legacy-root-azm/src/frontend/parseRawDataDirectives.js +0 -142
  118. package/dist/legacy-root-azm/src/frontend/parseRecordFieldDecl.d.ts +0 -34
  119. package/dist/legacy-root-azm/src/frontend/parseRecordFieldDecl.js +0 -177
  120. package/dist/legacy-root-azm/src/frontend/parseSourceItemDispatch.d.ts +0 -46
  121. package/dist/legacy-root-azm/src/frontend/parseSourceItemDispatch.js +0 -53
  122. package/dist/legacy-root-azm/src/frontend/parseSourceItemTable.d.ts +0 -16
  123. package/dist/legacy-root-azm/src/frontend/parseSourceItemTable.js +0 -68
  124. package/dist/legacy-root-azm/src/frontend/parseTopLevelCommon.d.ts +0 -11
  125. package/dist/legacy-root-azm/src/frontend/parseTopLevelCommon.js +0 -50
  126. package/dist/legacy-root-azm/src/frontend/parseTypes.d.ts +0 -24
  127. package/dist/legacy-root-azm/src/frontend/parseTypes.js +0 -77
  128. package/dist/legacy-root-azm/src/frontend/parser.d.ts +0 -11
  129. package/dist/legacy-root-azm/src/frontend/parser.js +0 -88
  130. package/dist/legacy-root-azm/src/frontend/source.d.ts +0 -28
  131. package/dist/legacy-root-azm/src/frontend/source.js +0 -58
  132. package/dist/legacy-root-azm/src/frontend/sourceExtensions.d.ts +0 -2
  133. package/dist/legacy-root-azm/src/frontend/sourceExtensions.js +0 -6
  134. package/dist/legacy-root-azm/src/lintCaseStyle.d.ts +0 -4
  135. package/dist/legacy-root-azm/src/lintCaseStyle.js +0 -129
  136. package/dist/legacy-root-azm/src/lowering/asmDirectiveLowering.d.ts +0 -4
  137. package/dist/legacy-root-azm/src/lowering/asmDirectiveLowering.js +0 -229
  138. package/dist/legacy-root-azm/src/lowering/asmDirectiveTraversal.d.ts +0 -47
  139. package/dist/legacy-root-azm/src/lowering/asmDirectiveTraversal.js +0 -52
  140. package/dist/legacy-root-azm/src/lowering/asmEquResolution.d.ts +0 -8
  141. package/dist/legacy-root-azm/src/lowering/asmEquResolution.js +0 -69
  142. package/dist/legacy-root-azm/src/lowering/asmInstructionLdHelpers.d.ts +0 -15
  143. package/dist/legacy-root-azm/src/lowering/asmInstructionLdHelpers.js +0 -102
  144. package/dist/legacy-root-azm/src/lowering/asmInstructionLowering.d.ts +0 -5
  145. package/dist/legacy-root-azm/src/lowering/asmInstructionLowering.js +0 -54
  146. package/dist/legacy-root-azm/src/lowering/asmInstructionStream.d.ts +0 -46
  147. package/dist/legacy-root-azm/src/lowering/asmInstructionStream.js +0 -51
  148. package/dist/legacy-root-azm/src/lowering/asmLoweringBranchCall.d.ts +0 -43
  149. package/dist/legacy-root-azm/src/lowering/asmLoweringBranchCall.js +0 -254
  150. package/dist/legacy-root-azm/src/lowering/asmLoweringHost.d.ts +0 -23
  151. package/dist/legacy-root-azm/src/lowering/asmLoweringHost.js +0 -1
  152. package/dist/legacy-root-azm/src/lowering/asmLoweringLd.d.ts +0 -28
  153. package/dist/legacy-root-azm/src/lowering/asmLoweringLd.js +0 -144
  154. package/dist/legacy-root-azm/src/lowering/asmRangeLowering.d.ts +0 -17
  155. package/dist/legacy-root-azm/src/lowering/asmRangeLowering.js +0 -39
  156. package/dist/legacy-root-azm/src/lowering/asmRawDataLowering.d.ts +0 -16
  157. package/dist/legacy-root-azm/src/lowering/asmRawDataLowering.js +0 -209
  158. package/dist/legacy-root-azm/src/lowering/asmSourceEmitter.d.ts +0 -4
  159. package/dist/legacy-root-azm/src/lowering/asmSourceEmitter.js +0 -9
  160. package/dist/legacy-root-azm/src/lowering/asmSourceInstructionLowering.d.ts +0 -4
  161. package/dist/legacy-root-azm/src/lowering/asmSourceInstructionLowering.js +0 -14
  162. package/dist/legacy-root-azm/src/lowering/asmUtils.d.ts +0 -13
  163. package/dist/legacy-root-azm/src/lowering/asmUtils.js +0 -105
  164. package/dist/legacy-root-azm/src/lowering/assemblerFlowSetup.d.ts +0 -54
  165. package/dist/legacy-root-azm/src/lowering/assemblerFlowSetup.js +0 -128
  166. package/dist/legacy-root-azm/src/lowering/assemblerLoweringContext.d.ts +0 -151
  167. package/dist/legacy-root-azm/src/lowering/assemblerLoweringContext.js +0 -16
  168. package/dist/legacy-root-azm/src/lowering/assemblerLoweringContextSplit.d.ts +0 -7
  169. package/dist/legacy-root-azm/src/lowering/assemblerLoweringContextSplit.js +0 -75
  170. package/dist/legacy-root-azm/src/lowering/assemblerLoweringPhases.d.ts +0 -66
  171. package/dist/legacy-root-azm/src/lowering/assemblerLoweringPhases.js +0 -166
  172. package/dist/legacy-root-azm/src/lowering/bytePlacement.d.ts +0 -7
  173. package/dist/legacy-root-azm/src/lowering/bytePlacement.js +0 -37
  174. package/dist/legacy-root-azm/src/lowering/capabilities.d.ts +0 -67
  175. package/dist/legacy-root-azm/src/lowering/capabilities.js +0 -1
  176. package/dist/legacy-root-azm/src/lowering/eaResolution.d.ts +0 -58
  177. package/dist/legacy-root-azm/src/lowering/eaResolution.js +0 -159
  178. package/dist/legacy-root-azm/src/lowering/emissionCore.d.ts +0 -17
  179. package/dist/legacy-root-azm/src/lowering/emissionCore.js +0 -21
  180. package/dist/legacy-root-azm/src/lowering/emit.d.ts +0 -17
  181. package/dist/legacy-root-azm/src/lowering/emit.js +0 -46
  182. package/dist/legacy-root-azm/src/lowering/emitContextBuilder.d.ts +0 -63
  183. package/dist/legacy-root-azm/src/lowering/emitContextBuilder.js +0 -41
  184. package/dist/legacy-root-azm/src/lowering/emitFinalization.d.ts +0 -61
  185. package/dist/legacy-root-azm/src/lowering/emitFinalization.js +0 -66
  186. package/dist/legacy-root-azm/src/lowering/emitFinalizationSetup.d.ts +0 -19
  187. package/dist/legacy-root-azm/src/lowering/emitFinalizationSetup.js +0 -26
  188. package/dist/legacy-root-azm/src/lowering/emitPhase1BuildProgramLoweringContext.d.ts +0 -7
  189. package/dist/legacy-root-azm/src/lowering/emitPhase1BuildProgramLoweringContext.js +0 -119
  190. package/dist/legacy-root-azm/src/lowering/emitPhase1Helpers.d.ts +0 -4
  191. package/dist/legacy-root-azm/src/lowering/emitPhase1Helpers.js +0 -12
  192. package/dist/legacy-root-azm/src/lowering/emitPhase1Types.d.ts +0 -21
  193. package/dist/legacy-root-azm/src/lowering/emitPhase1Types.js +0 -1
  194. package/dist/legacy-root-azm/src/lowering/emitPhase1WirePipeline.d.ts +0 -70
  195. package/dist/legacy-root-azm/src/lowering/emitPhase1WirePipeline.js +0 -203
  196. package/dist/legacy-root-azm/src/lowering/emitPhase1Workspace.d.ts +0 -82
  197. package/dist/legacy-root-azm/src/lowering/emitPhase1Workspace.js +0 -55
  198. package/dist/legacy-root-azm/src/lowering/emitPipeline.d.ts +0 -121
  199. package/dist/legacy-root-azm/src/lowering/emitPipeline.js +0 -57
  200. package/dist/legacy-root-azm/src/lowering/emitProgramContext.d.ts +0 -39
  201. package/dist/legacy-root-azm/src/lowering/emitProgramContext.js +0 -29
  202. package/dist/legacy-root-azm/src/lowering/emitState.d.ts +0 -90
  203. package/dist/legacy-root-azm/src/lowering/emitState.js +0 -124
  204. package/dist/legacy-root-azm/src/lowering/fixupBaseResolution.d.ts +0 -7
  205. package/dist/legacy-root-azm/src/lowering/fixupBaseResolution.js +0 -23
  206. package/dist/legacy-root-azm/src/lowering/fixupEmission.d.ts +0 -64
  207. package/dist/legacy-root-azm/src/lowering/fixupEmission.js +0 -199
  208. package/dist/legacy-root-azm/src/lowering/immMath.d.ts +0 -2
  209. package/dist/legacy-root-azm/src/lowering/immMath.js +0 -34
  210. package/dist/legacy-root-azm/src/lowering/inputAssets.d.ts +0 -7
  211. package/dist/legacy-root-azm/src/lowering/inputAssets.js +0 -106
  212. package/dist/legacy-root-azm/src/lowering/ldEncoding.d.ts +0 -15
  213. package/dist/legacy-root-azm/src/lowering/ldEncoding.js +0 -12
  214. package/dist/legacy-root-azm/src/lowering/ldEncodingRegMemHelpers.d.ts +0 -5
  215. package/dist/legacy-root-azm/src/lowering/ldEncodingRegMemHelpers.js +0 -124
  216. package/dist/legacy-root-azm/src/lowering/ldFormSelection.d.ts +0 -26
  217. package/dist/legacy-root-azm/src/lowering/ldFormSelection.js +0 -92
  218. package/dist/legacy-root-azm/src/lowering/ldLowering.d.ts +0 -7
  219. package/dist/legacy-root-azm/src/lowering/ldLowering.js +0 -13
  220. package/dist/legacy-root-azm/src/lowering/loweredAsmByteEmission.d.ts +0 -23
  221. package/dist/legacy-root-azm/src/lowering/loweredAsmByteEmission.js +0 -185
  222. package/dist/legacy-root-azm/src/lowering/loweredAsmPlacement.d.ts +0 -13
  223. package/dist/legacy-root-azm/src/lowering/loweredAsmPlacement.js +0 -86
  224. package/dist/legacy-root-azm/src/lowering/loweredAsmStreamRecording.d.ts +0 -27
  225. package/dist/legacy-root-azm/src/lowering/loweredAsmStreamRecording.js +0 -215
  226. package/dist/legacy-root-azm/src/lowering/loweredAsmTypes.d.ts +0 -202
  227. package/dist/legacy-root-azm/src/lowering/loweredAsmTypes.js +0 -1
  228. package/dist/legacy-root-azm/src/lowering/loweredFormat.d.ts +0 -3
  229. package/dist/legacy-root-azm/src/lowering/loweredFormat.js +0 -26
  230. package/dist/legacy-root-azm/src/lowering/loweredItemSize.d.ts +0 -4
  231. package/dist/legacy-root-azm/src/lowering/loweredItemSize.js +0 -17
  232. package/dist/legacy-root-azm/src/lowering/loweringDiagnostics.d.ts +0 -9
  233. package/dist/legacy-root-azm/src/lowering/loweringDiagnostics.js +0 -55
  234. package/dist/legacy-root-azm/src/lowering/loweringTypes.d.ts +0 -27
  235. package/dist/legacy-root-azm/src/lowering/loweringTypes.js +0 -1
  236. package/dist/legacy-root-azm/src/lowering/opCandidateRegistry.d.ts +0 -9
  237. package/dist/legacy-root-azm/src/lowering/opCandidateRegistry.js +0 -9
  238. package/dist/legacy-root-azm/src/lowering/opExpansionExecution.d.ts +0 -15
  239. package/dist/legacy-root-azm/src/lowering/opExpansionExecution.js +0 -45
  240. package/dist/legacy-root-azm/src/lowering/opExpansionOrchestration.d.ts +0 -15
  241. package/dist/legacy-root-azm/src/lowering/opExpansionOrchestration.js +0 -88
  242. package/dist/legacy-root-azm/src/lowering/opExpansionStream.d.ts +0 -12
  243. package/dist/legacy-root-azm/src/lowering/opExpansionStream.js +0 -176
  244. package/dist/legacy-root-azm/src/lowering/opMatching.d.ts +0 -52
  245. package/dist/legacy-root-azm/src/lowering/opMatching.js +0 -355
  246. package/dist/legacy-root-azm/src/lowering/opSubstitution.d.ts +0 -13
  247. package/dist/legacy-root-azm/src/lowering/opSubstitution.js +0 -175
  248. package/dist/legacy-root-azm/src/lowering/prescanTypes.d.ts +0 -7
  249. package/dist/legacy-root-azm/src/lowering/prescanTypes.js +0 -1
  250. package/dist/legacy-root-azm/src/lowering/programLowering.d.ts +0 -144
  251. package/dist/legacy-root-azm/src/lowering/programLowering.js +0 -2
  252. package/dist/legacy-root-azm/src/lowering/programLoweringDeclarations.d.ts +0 -5
  253. package/dist/legacy-root-azm/src/lowering/programLoweringDeclarations.js +0 -5
  254. package/dist/legacy-root-azm/src/lowering/programLoweringFinalize.d.ts +0 -18
  255. package/dist/legacy-root-azm/src/lowering/programLoweringFinalize.js +0 -115
  256. package/dist/legacy-root-azm/src/lowering/programLoweringTraversal.d.ts +0 -2
  257. package/dist/legacy-root-azm/src/lowering/programLoweringTraversal.js +0 -93
  258. package/dist/legacy-root-azm/src/lowering/programPrescan.d.ts +0 -3
  259. package/dist/legacy-root-azm/src/lowering/programPrescan.js +0 -37
  260. package/dist/legacy-root-azm/src/lowering/traceFormat.d.ts +0 -13
  261. package/dist/legacy-root-azm/src/lowering/traceFormat.js +0 -211
  262. package/dist/legacy-root-azm/src/packageInfo.d.ts +0 -1
  263. package/dist/legacy-root-azm/src/packageInfo.js +0 -15
  264. package/dist/legacy-root-azm/src/pathCompare.d.ts +0 -3
  265. package/dist/legacy-root-azm/src/pathCompare.js +0 -26
  266. package/dist/legacy-root-azm/src/pipeline.d.ts +0 -91
  267. package/dist/legacy-root-azm/src/pipeline.js +0 -1
  268. package/dist/legacy-root-azm/src/registerCare/analyze.d.ts +0 -24
  269. package/dist/legacy-root-azm/src/registerCare/analyze.js +0 -327
  270. package/dist/legacy-root-azm/src/registerCare/boundaryHints.d.ts +0 -2
  271. package/dist/legacy-root-azm/src/registerCare/boundaryHints.js +0 -10
  272. package/dist/legacy-root-azm/src/registerCare/carriers.d.ts +0 -4
  273. package/dist/legacy-root-azm/src/registerCare/carriers.js +0 -78
  274. package/dist/legacy-root-azm/src/registerCare/controlFlow.d.ts +0 -5
  275. package/dist/legacy-root-azm/src/registerCare/controlFlow.js +0 -35
  276. package/dist/legacy-root-azm/src/registerCare/fix.d.ts +0 -11
  277. package/dist/legacy-root-azm/src/registerCare/fix.js +0 -119
  278. package/dist/legacy-root-azm/src/registerCare/liveness.d.ts +0 -7
  279. package/dist/legacy-root-azm/src/registerCare/liveness.js +0 -227
  280. package/dist/legacy-root-azm/src/registerCare/profiles.d.ts +0 -11
  281. package/dist/legacy-root-azm/src/registerCare/profiles.js +0 -45
  282. package/dist/legacy-root-azm/src/registerCare/programModel.d.ts +0 -3
  283. package/dist/legacy-root-azm/src/registerCare/programModel.js +0 -181
  284. package/dist/legacy-root-azm/src/registerCare/report.d.ts +0 -5
  285. package/dist/legacy-root-azm/src/registerCare/report.js +0 -139
  286. package/dist/legacy-root-azm/src/registerCare/smartComments.d.ts +0 -5
  287. package/dist/legacy-root-azm/src/registerCare/smartComments.js +0 -247
  288. package/dist/legacy-root-azm/src/registerCare/types.d.ts +0 -154
  289. package/dist/legacy-root-azm/src/registerCare/types.js +0 -1
  290. package/dist/legacy-root-azm/src/semantics/declVisitor.d.ts +0 -5
  291. package/dist/legacy-root-azm/src/semantics/declVisitor.js +0 -11
  292. package/dist/legacy-root-azm/src/semantics/env.d.ts +0 -28
  293. package/dist/legacy-root-azm/src/semantics/env.js +0 -432
  294. package/dist/legacy-root-azm/src/semantics/layout.d.ts +0 -21
  295. package/dist/legacy-root-azm/src/semantics/layout.js +0 -226
  296. package/dist/legacy-root-azm/src/semantics/layoutCastFold.d.ts +0 -22
  297. package/dist/legacy-root-azm/src/semantics/layoutCastFold.js +0 -118
  298. package/dist/legacy-root-azm/src/semantics/semanticsDiagnostics.d.ts +0 -2
  299. package/dist/legacy-root-azm/src/semantics/semanticsDiagnostics.js +0 -4
  300. package/dist/legacy-root-azm/src/semantics/typeQueries.d.ts +0 -31
  301. package/dist/legacy-root-azm/src/semantics/typeQueries.js +0 -124
  302. package/dist/legacy-root-azm/src/sourceIncludeExpansion.d.ts +0 -17
  303. package/dist/legacy-root-azm/src/sourceIncludeExpansion.js +0 -124
  304. package/dist/legacy-root-azm/src/sourceIncludePaths.d.ts +0 -1
  305. package/dist/legacy-root-azm/src/sourceIncludePaths.js +0 -12
  306. package/dist/legacy-root-azm/src/sourceLoader.d.ts +0 -15
  307. package/dist/legacy-root-azm/src/sourceLoader.js +0 -118
  308. package/dist/legacy-root-azm/src/z80/effects.d.ts +0 -3
  309. package/dist/legacy-root-azm/src/z80/effects.js +0 -516
  310. package/dist/legacy-root-azm/src/z80/encode.d.ts +0 -10
  311. package/dist/legacy-root-azm/src/z80/encode.js +0 -412
  312. package/dist/legacy-root-azm/src/z80/encodeAlu.d.ts +0 -7
  313. package/dist/legacy-root-azm/src/z80/encodeAlu.js +0 -219
  314. package/dist/legacy-root-azm/src/z80/encodeBitOps.d.ts +0 -7
  315. package/dist/legacy-root-azm/src/z80/encodeBitOps.js +0 -123
  316. package/dist/legacy-root-azm/src/z80/encodeContext.d.ts +0 -29
  317. package/dist/legacy-root-azm/src/z80/encodeContext.js +0 -1
  318. package/dist/legacy-root-azm/src/z80/encodeControl.d.ts +0 -26
  319. package/dist/legacy-root-azm/src/z80/encodeControl.js +0 -180
  320. package/dist/legacy-root-azm/src/z80/encodeCoreOps.d.ts +0 -7
  321. package/dist/legacy-root-azm/src/z80/encodeCoreOps.js +0 -131
  322. package/dist/legacy-root-azm/src/z80/encodeIo.d.ts +0 -9
  323. package/dist/legacy-root-azm/src/z80/encodeIo.js +0 -128
  324. package/dist/legacy-root-azm/src/z80/encodeLd.d.ts +0 -13
  325. package/dist/legacy-root-azm/src/z80/encodeLd.js +0 -273
  326. package/dist/legacy-root-azm/src/z80/encoderRegistry.d.ts +0 -13
  327. package/dist/legacy-root-azm/src/z80/encoderRegistry.js +0 -169
  328. package/dist/src/outputs/write-listing.d.ts +0 -2
  329. package/dist/src/outputs/write-listing.js +0 -79
  330. /package/dist/{legacy-root-azm/src/registerCare → src/register-care}/annotate.d.ts +0 -0
  331. /package/dist/{legacy-root-azm/src/registerCare → src/register-care}/annotate.js +0 -0
  332. /package/dist/{legacy-root-azm/src/registerCare → src/register-care}/sourceText.d.ts +0 -0
  333. /package/dist/{legacy-root-azm/src/registerCare → src/register-care}/sourceText.js +0 -0
  334. /package/dist/{legacy-root-azm/src/registerCare → src/register-care}/summary.d.ts +0 -0
package/README.md CHANGED
@@ -1,47 +1,63 @@
1
1
  # AZM
2
2
 
3
- AZM is a Z80 assembler in the ASM80 tradition: plain assembly input, predictable
4
- object output, and modern safety tooling for projects that still want to see the
5
- machine.
6
-
7
- The project goal is a good assembler, not a high-level language. AZM keeps
8
- labels, directives, instructions, branches, data bytes, register effects, and
9
- generated metadata visible in source and artifacts.
10
-
11
- ## Product boundary
12
-
13
- AZM keeps:
14
-
15
- - ASM80-style `.asm` / `.z80` source as the input baseline
16
- - `.asmi` external interface files for register-care contracts
3
+ AZM is the Z80 assembler used by the Debug80 toolchain. It assembles plain
4
+ `.asm` and `.z80` source into machine-code artifacts for hardware, emulators,
5
+ and Debug80: Intel HEX, flat binary, Debug80 maps, and optional
6
+ ASM80-compatible lowered source.
7
+
8
+ The user manual is the AZM book in the Debug80 documentation site:
9
+
10
+ [AZM Assembler Manual](https://jhlagado.github.io/debug80-docs/azm-book/book4/)
11
+
12
+ ## What AZM Is
13
+
14
+ AZM is an assembler, not a high-level language or macro preprocessor. Source is
15
+ intended to stay close to the machine: labels, directives, instructions, data,
16
+ register contracts, and generated artifacts remain visible.
17
+
18
+ AZM keeps the parts of the original assembler that matter for real Z80 work:
19
+
20
+ - Z80 instructions with case-insensitive mnemonics and registers
21
+ - case-sensitive labels and symbols
22
+ - global labels, with `@NAME:` labels marking routine entries for register-care
23
+ analysis
24
+ - canonical dotted directives such as `.org`, `.equ`, `.db`, `.dw`, and `.ds`
25
+ - exact compatibility spelling for common undotted directive heads such as
26
+ `ORG`, `EQU`, `DB`, `DW`, and `DS`
27
+ - lowercase, case-sensitive canonical dotted directives; compatibility spellings
28
+ are handled as directive aliases, not as canonical AZM style
29
+ - colon labels are address labels only; declarations use name-left forms such as
30
+ `Name .equ`, `Name .enum`, `Name .type`, `Name .union`, and
31
+ `Name .typealias`
17
32
  - textual `.include`
18
- - directive aliases for importing common assembler spellings
19
- - register-care analysis, compact AZMDoc comments, and `.asmi` external
20
- contracts
21
- - AST-level `op` extensions
22
- - enums as constant namespaces
23
- - `.type` / `.union` layout metadata
33
+ - conditional source inclusion with lowercase `.if`, `.else`, and `.endif`
34
+ - register-care contracts, AZMDoc comments, and `.asmi` external interfaces
35
+ - `op` definitions for structured inline instruction idioms
36
+ - enums and qualified enum constants
37
+ - `.type` / `.union` layout metadata and `Name .typealias TypeExpr` layout aliases
24
38
  - compile-time layout constants such as `sizeof(...)`, `offset(...)`, scalar
25
- layout sizes, and constant-only layout casts
26
- - assembler data directives including `.db`, `.dw`, `.ds`, `.cstr`, `.pstr`,
27
- and `.istr`
28
-
29
- AZM `.asm` and `.z80` source rejects old ZAX high-level features such as
30
- modules/imports, `func`, formal arguments, locals, typed assignment/storage
31
- lowering, structured control, generated frames, typed storage blocks, and named
32
- section blocks. Those inherited paths are removal work, not product
33
- compatibility.
39
+ layout sizes, constant-only layout casts, `LSB(...)`, and `MSB(...)`
40
+ - case-sensitive AZM function names with documented spelling, such as
41
+ `sizeof(...)`, `offset(...)`, `LSB(...)`, and `MSB(...)`
42
+ - data directives including `.db`, `.dw`, `.ds`, `.cstr`, `.pstr`, and `.istr`
43
+ - single quotes are character literals; double quotes are strings
44
+
45
+ AZM does not implement text macros, local labels, modules/imports, `func`,
46
+ formal arguments, generated stack frames, runtime structured control flow, typed
47
+ assignment lowering, hidden typed load/store lowering, or named section blocks.
48
+ Those features belong to older high-level ZAX-era code paths, not current AZM
49
+ source.
34
50
 
35
51
  ## Install
36
52
 
37
- Requires Node.js 20+.
53
+ AZM requires Node.js 20 or newer.
38
54
 
39
55
  ```sh
40
56
  npm install -g @jhlagado/azm
41
- azm path/to/program.z80
57
+ azm path/to/program.asm
42
58
  ```
43
59
 
44
- From a checkout, use the local CLI after building:
60
+ From a checkout, build first and then use the local CLI:
45
61
 
46
62
  ```sh
47
63
  npm ci
@@ -49,56 +65,69 @@ npm run build
49
65
  npm run azm -- examples/hello.asm
50
66
  ```
51
67
 
52
- Output files for each compiled source:
68
+ ## Command Line
53
69
 
54
- | Extension | Contents |
55
- | ---------- | ------------------------- |
56
- | `.hex` | Intel HEX |
57
- | `.bin` | Flat binary |
58
- | `.lst` | Byte dump plus symbols |
59
- | `.z80` | Plain Z80 source emission |
60
- | `.d8.json` | Debug80 map |
70
+ Basic use writes the default artifact set next to the source file:
61
71
 
62
- Small input example:
72
+ ```sh
73
+ azm program.asm
74
+ ```
63
75
 
64
- ```asm
65
- ORG 0100H
66
- START:
67
- LD A,42
68
- RET
76
+ Write a specific primary output:
77
+
78
+ ```sh
79
+ azm --type bin --output build/program.bin program.asm
80
+ azm --type hex --output build/program.hex program.asm
69
81
  ```
70
82
 
71
- Compile a binary and listing:
83
+ Add include search paths:
72
84
 
73
85
  ```sh
74
- azm --type bin --output build/start.bin start.asm
86
+ azm -I include -I vendor program.asm
75
87
  ```
76
88
 
77
- ```text
78
- azm [options] <entry.asm|entry.z80>
79
-
80
- Options:
81
- -o, --output <file> Primary output path (must match --type extension)
82
- -t, --type <type> Primary output type: hex|bin (default: hex)
83
- -n, --nolist Suppress .lst
84
- --nobin Suppress .bin
85
- --nohex Suppress .hex
86
- --nod8m Suppress .d8.json
87
- --asm80 Emit assembler-valid lowered source (.z80)
88
- --source-root <d> Normalize D8 source paths relative to this directory
89
- --case-style <m> Case-style lint mode: off|upper|lower|consistent
90
- --rc <m> Register-care mode: off|audit|warn|error|strict
91
- --reg-report Emit .regcare.txt report
92
- --reg-interface Emit inferred register-care interface (.asmi)
93
- --fix Apply conservative register-care source fixes
94
- --contracts Update source AZM contract blocks in place
95
- --accept-out <r:c> Promote inferred output candidate while annotating
96
- --interface <file> Load register-care interface contracts
97
- --reg-profile <p> Register-care profile: mon3
98
- --aliases <file> Load project directive alias JSON (repeatable)
99
- -I, --include <dir> Add include search path (repeatable)
100
- -V, --version Print version
101
- -h, --help Show help
89
+ Run register-care analysis:
90
+
91
+ ```sh
92
+ azm --rc audit --reg-report program.asm
93
+ azm --rc error --interface monitor.asmi program.asm
94
+ ```
95
+
96
+ See [docs/reference/cli.md](docs/reference/cli.md) for the complete option
97
+ reference.
98
+
99
+ ## Output Artifacts
100
+
101
+ By default, AZM writes the requested primary output plus useful side artifacts
102
+ using the same base path.
103
+
104
+ | Extension | Contents |
105
+ | -------------- | --------------------------------------------- |
106
+ | `.hex` | Intel HEX |
107
+ | `.bin` | flat binary |
108
+ | `.d8.json` | Debug80 map |
109
+ | `.z80` | ASM80-compatible lowered source when enabled |
110
+ | `.regcare.txt` | register-care report when enabled |
111
+ | `.asmi` | inferred register-care interface when enabled |
112
+
113
+ The `.z80` output is a generated compatibility artifact for ASM80-style
114
+ workflows and comparison tooling. BIN, HEX, Debug80 maps, and
115
+ register-care reports are the normal production outputs.
116
+
117
+ ## Small Example
118
+
119
+ ```asm
120
+ .org 0100H
121
+
122
+ @START:
123
+ ld a,42
124
+ ret
125
+ ```
126
+
127
+ Compile it:
128
+
129
+ ```sh
130
+ azm --type bin --output build/start.bin start.asm
102
131
  ```
103
132
 
104
133
  ## Programmatic API
@@ -121,7 +150,6 @@ const result = await compile(
121
150
  sourceRoot: '/abs/path/to/project',
122
151
  d8mInputs: {
123
152
  hex: '/abs/path/to/project/build/main.hex',
124
- listing: '/abs/path/to/project/build/main.lst',
125
153
  },
126
154
  },
127
155
  { formats: defaultFormatWriters },
@@ -130,21 +158,25 @@ const result = await compile(
130
158
  console.log(result.diagnostics);
131
159
  ```
132
160
 
133
- See [docs/reference/cli.md](docs/reference/cli.md) for the full CLI reference
134
- and [docs/reference/tooling-api.md](docs/reference/tooling-api.md) for the
135
- current API notes.
161
+ See [docs/reference/tooling-api.md](docs/reference/tooling-api.md) for current
162
+ API notes.
136
163
 
137
- ## Verification
164
+ ## Development
138
165
 
139
166
  Useful local verification lanes:
140
167
 
141
168
  ```sh
142
169
  npm run build
170
+ npm run typecheck
171
+ npm run lint
143
172
  npm run test:azm:alpha
144
173
  npm run test:azm:corpus
145
174
  npm test
146
175
  ```
147
176
 
177
+ The live source map is maintained in
178
+ [docs/reference/source-overview.md](docs/reference/source-overview.md).
179
+
148
180
  ## License
149
181
 
150
182
  GPL-3.0-only. See [LICENSE](LICENSE).
@@ -20,14 +20,12 @@ export interface CompileNextFunctionOptions {
20
20
  readonly outputType?: 'bin' | 'hex';
21
21
  readonly sourceRoot?: string;
22
22
  readonly d8mInputs?: {
23
- readonly listing?: string;
24
23
  readonly hex?: string;
25
24
  readonly bin?: string;
26
25
  };
27
26
  readonly emitBin?: boolean;
28
27
  readonly emitHex?: boolean;
29
28
  readonly emitD8m?: boolean;
30
- readonly emitListing?: boolean;
31
29
  readonly emitAsm80?: boolean;
32
30
  readonly registerCare?: RegisterCareMode;
33
31
  readonly emitRegisterReport?: boolean;
@@ -152,7 +152,6 @@ export async function compile(entryFile, options = {}, deps = { formats: default
152
152
  packageVersion: await readPackageVersion(),
153
153
  inputs: {
154
154
  entry: normalizedEntry,
155
- ...(options.d8mInputs?.listing !== undefined ? { listing: options.d8mInputs.listing } : {}),
156
155
  ...(options.d8mInputs?.hex !== undefined ? { hex: options.d8mInputs.hex } : {}),
157
156
  ...(options.d8mInputs?.bin !== undefined ? { bin: options.d8mInputs.bin } : {}),
158
157
  },
@@ -163,11 +162,6 @@ export async function compile(entryFile, options = {}, deps = { formats: default
163
162
  };
164
163
  artifacts.push(deps.formats.writeD8m(sidecarMap, symbols, d8mOpts));
165
164
  }
166
- if (emit.emitListing) {
167
- if (deps.formats.writeListing !== undefined) {
168
- artifacts.push(deps.formats.writeListing(sidecarMap, symbols));
169
- }
170
- }
171
165
  if (emit.emitAsm80) {
172
166
  if (deps.formats.writeAsm80 !== undefined) {
173
167
  try {
@@ -183,7 +177,7 @@ export async function compile(entryFile, options = {}, deps = { formats: default
183
177
  line: error.item.span.line,
184
178
  column: error.item.span.column,
185
179
  });
186
- return { diagnostics, artifacts: [] };
180
+ return { diagnostics, artifacts };
187
181
  }
188
182
  throw error;
189
183
  }
@@ -196,9 +190,8 @@ function compileArtifactDefaults(options) {
196
190
  const emitBin = anyPrimary ? (options.emitBin ?? false) : true;
197
191
  const emitHex = anyPrimary ? (options.emitHex ?? false) : true;
198
192
  const emitD8m = anyPrimary ? (options.emitD8m ?? false) : true;
199
- const emitListing = options.emitListing ?? true;
200
193
  const emitAsm80 = options.emitAsm80 ?? false;
201
- return { emitBin, emitHex, emitD8m, emitListing, emitAsm80 };
194
+ return { emitBin, emitHex, emitD8m, emitAsm80 };
202
195
  }
203
196
  function assembledImageToMap(bytes, origin, sourceSegments = []) {
204
197
  const map = new Map();
@@ -52,12 +52,17 @@ function buildAddressStateOnce(items, diagnostics, previous, reportUnknown) {
52
52
  case 'type':
53
53
  defineLayout(layouts, labels, equates, enumNamesLower, item.name, item.layoutKind, item.fields, item.span, diagnostics);
54
54
  break;
55
+ case 'type-alias':
56
+ defineTypeAlias(layouts, labels, equates, enumNamesLower, item.name, item.typeExpr, item.span, diagnostics);
57
+ break;
55
58
  case 'equ':
56
59
  defineEquate(equates, labels, layouts, enumNames, enumNamesLower, item.name, item.expression, item.span, placementAddress(placement), diagnostics, item.stringValue);
57
60
  break;
58
61
  case 'enum':
59
62
  defineEnumMembers(equates, labels, layouts, enumNames, enumNamesLower, item.name, item.members, item.span, diagnostics);
60
63
  break;
64
+ case 'comment':
65
+ break;
61
66
  case 'label':
62
67
  defineLabel(labels, equates, layouts, enumNamesLower, item.name, placementAddress(placement), item.span, diagnostics);
63
68
  break;
@@ -154,7 +159,11 @@ function addressStateSignature(state) {
154
159
  return JSON.stringify({
155
160
  labels: state.labels,
156
161
  equates: [...state.equates].map(([name, record]) => [name, record.currentLocation]),
157
- layouts: [...state.layouts].map(([name, record]) => [name, record.kind, record.fields]),
162
+ layouts: [...state.layouts].map(([name, record]) => [
163
+ name,
164
+ record.kind,
165
+ record.kind === 'alias' ? record.typeExpr : record.fields,
166
+ ]),
158
167
  origin: state.origin,
159
168
  });
160
169
  }
@@ -178,6 +187,17 @@ function defineLayout(layouts, labels, equates, enumNamesLower, name, layoutKind
178
187
  }
179
188
  layouts.set(name, { kind: layoutKind, fields, span });
180
189
  }
190
+ function defineTypeAlias(layouts, labels, equates, enumNamesLower, name, typeExpr, span, diagnostics) {
191
+ const lowerName = name.toLowerCase();
192
+ if (hasCaseInsensitiveMapKey(layouts, lowerName) ||
193
+ hasCaseInsensitiveKey(labels, lowerName) ||
194
+ hasCaseInsensitiveMapKey(equates, lowerName) ||
195
+ enumNamesLower.has(lowerName)) {
196
+ diagnostics.push(diagnostic(span, `duplicate type name: ${name}`));
197
+ return;
198
+ }
199
+ layouts.set(name, { kind: 'alias', typeExpr, span });
200
+ }
181
201
  function defineLabel(labels, equates, layouts, enumNamesLower, name, address, span, diagnostics) {
182
202
  if (labels[name] !== undefined ||
183
203
  equates.has(name) ||
@@ -117,6 +117,7 @@ export function emitProgramImage(items, addressState, symbols, diagnostics) {
117
117
  }
118
118
  break;
119
119
  }
120
+ case 'comment':
120
121
  case 'equ':
121
122
  case 'label':
122
123
  case 'enum':
@@ -11,7 +11,6 @@ export type CliOptions = {
11
11
  emitBin: boolean;
12
12
  emitHex: boolean;
13
13
  emitD8m: boolean;
14
- emitListing: boolean;
15
14
  emitAsm80: boolean;
16
15
  caseStyle: CaseStyleMode;
17
16
  registerCare: RegisterCareMode;
@@ -7,7 +7,6 @@ export function cliUsage() {
7
7
  'Options:',
8
8
  ' -o, --output <file> Primary output path (must match --type extension)',
9
9
  ' -t, --type <type> Primary output type: hex|bin (default: hex)',
10
- ' -n, --nolist Suppress .lst',
11
10
  ' --nobin Suppress .bin',
12
11
  ' --nohex Suppress .hex',
13
12
  ' --nod8m Suppress .d8.json',
@@ -44,7 +43,6 @@ function createDefaultCliState() {
44
43
  emitBin: true,
45
44
  emitHex: true,
46
45
  emitD8m: true,
47
- emitListing: true,
48
46
  emitAsm80: false,
49
47
  caseStyle: 'off',
50
48
  registerCare: 'off',
@@ -249,7 +247,6 @@ function finalizeCliOptions(state) {
249
247
  emitBin: state.emitBin,
250
248
  emitHex: state.emitHex,
251
249
  emitD8m: state.emitD8m,
252
- emitListing: state.emitListing,
253
250
  emitAsm80: state.emitAsm80,
254
251
  caseStyle: state.caseStyle,
255
252
  registerCare: state.registerCare,
@@ -278,10 +275,6 @@ export function parseCliArgs(argv) {
278
275
  continue;
279
276
  if (parseOutputTypeArg(arg, argv, indexRef, state))
280
277
  continue;
281
- if (arg === '-n' || arg === '--nolist') {
282
- state.emitListing = false;
283
- continue;
284
- }
285
278
  if (arg === '--nobin') {
286
279
  state.emitBin = false;
287
280
  continue;
@@ -52,7 +52,6 @@ export async function writeArtifacts(base, artifacts, outputType) {
52
52
  const hexPath = `${base}.hex`;
53
53
  const binPath = `${base}.bin`;
54
54
  const d8mPath = `${base}.d8.json`;
55
- const lstPath = `${base}.lst`;
56
55
  const asm80Path = `${base}.z80`;
57
56
  const registerCareReportPath = `${base}.regcare.txt`;
58
57
  const registerCareInterfacePath = `${base}.asmi`;
@@ -90,13 +89,6 @@ export async function writeArtifacts(base, artifacts, outputType) {
90
89
  await writeFile(d8mPath, `${text}\n`, 'utf8');
91
90
  })());
92
91
  }
93
- const lst = byKind.get('lst');
94
- if (lst && lst.kind === 'lst') {
95
- writes.push((async () => {
96
- await ensureDir(lstPath);
97
- await writeFile(lstPath, lst.text, 'utf8');
98
- })());
99
- }
100
92
  const asm80 = byKind.get('asm80');
101
93
  if (asm80 && asm80.kind === 'asm80') {
102
94
  writes.push((async () => {
@@ -141,14 +133,12 @@ export async function writeArtifacts(base, artifacts, outputType) {
141
133
  export function buildCompileOptions(parsed, base) {
142
134
  const hexPath = `${base}.hex`;
143
135
  const binPath = `${base}.bin`;
144
- const lstPath = `${base}.lst`;
145
136
  return {
146
137
  includeDirs: parsed.includeDirs,
147
138
  directiveAliasFiles: parsed.directiveAliasFiles,
148
139
  emitBin: parsed.emitBin,
149
140
  emitHex: parsed.emitHex,
150
141
  emitD8m: parsed.emitD8m,
151
- emitListing: parsed.emitListing,
152
142
  emitAsm80: parsed.emitAsm80,
153
143
  caseStyle: parsed.caseStyle,
154
144
  registerCare: parsed.registerCare,
@@ -165,7 +155,6 @@ export function buildCompileOptions(parsed, base) {
165
155
  ...(parsed.sourceRoot !== undefined
166
156
  ? {
167
157
  d8mInputs: {
168
- ...(parsed.emitListing ? { listing: lstPath } : {}),
169
158
  ...(parsed.emitHex ? { hex: hexPath } : {}),
170
159
  ...(parsed.emitBin ? { bin: binPath } : {}),
171
160
  },