| 123456789101112131415161718192021222324252627282930313233343536373839 |
- const storageAccessProtocol = require('../../protocols/storage-access/index.js')
- const READ_ONLY_MEMORY_AREAS = [
- storageAccessProtocol.AREA.CODEINFO,
- storageAccessProtocol.AREA.CODE
- ]
- const MANUAL_MEMORY_AREAS = [
- { key: storageAccessProtocol.AREA.ADDR32, label: 'addr32', name: 'ADDR32', addressWidth: 32 },
- { key: storageAccessProtocol.AREA.DATA, label: 'data', name: 'DATA' },
- { key: storageAccessProtocol.AREA.IDATA, label: 'idata', name: 'IDATA' },
- { key: storageAccessProtocol.AREA.XDATA, label: 'xdata', name: 'XDATA' },
- { key: storageAccessProtocol.AREA.CODE, label: 'code', name: 'CODE', readOnly: true }
- ]
- function getManualMemoryAreaOptions() {
- return MANUAL_MEMORY_AREAS.map((area) => ({ ...area }))
- }
- function getMemoryTypeFromName(value) {
- const memoryArea = String(value || '').trim().toUpperCase()
- if (memoryArea === 'ADDR32' || memoryArea === 'ADDRESS32') return storageAccessProtocol.AREA.ADDR32
- if (memoryArea === 'BIT') return storageAccessProtocol.AREA.DATA
- const area = storageAccessProtocol.AREA[memoryArea]
- return area === undefined ? null : area
- }
- function isReadOnlyMemoryType(memoryType) {
- return READ_ONLY_MEMORY_AREAS.indexOf(Number(memoryType)) >= 0
- }
- module.exports = {
- getManualMemoryAreaOptions,
- getMemoryTypeFromName,
- isReadOnlyMemoryType,
- READ_ONLY_MEMORY_AREAS
- }
|