參考文件:C:\Program Files\Paradigm\Docs\locate.pdf。
※ 注意事項
- file 路徑中的反斜線(\)都要用斜線(/)來代替。
- addr 可以是一個 class name 或是 20-bit 的物理位址。
※ ABSFILE
ABSFILE 主要是用來決定是用 integrated debugger 或是採用 Intel OMF86 格式的開發工具。
Syntax: ABSFILE [AXE86|OMF86|NONE] [FORMAT=type] [FILENAME=file]
- AXE86: 選用 integrated debugger 格式,預設輸出副檔名為 .AXE。
- OMF86: 選用 Intel OMF86 格式,預設輸出副檔名為 .ABS。
- NONE: 取消 absolute output file 輸出。
- FORMAT: 用來設定 AXE86 的格式,PD60(Paradigm DEBUG 6.0),PD50(Paradigm DEBUG 5.0),PD40(Paradigm DEBUG 4.0)。
- FILENAME: 用來設定輸出檔案的位置及名稱。
Examples 範例
- absfile omf86 filename=c:\myprog.abs
- absfile axe86 format=pd40
※ CHECKSUM
CHECKSUM 用來計算記憶體區塊的 CRC 值。
Syntax: CHECKSUM addr TO addr [ADDRESS=addr] [FILL=fill] [ROMBIOS|CRC16|CRC32]
- ADDRESS: 用來指定存放 checksum 的物理位置,預設值為記憶體區塊的下一個位址。
- FILL: 用來填滿記憶體區塊未使用到的地方,預設值為 0xFF。
- ROMBIOS: 使用 IBM PC ROM BIOS 計算方法,checksum 1 byte。
- CRC16: 使用 CRC-16 計算方法,checksum 2 bytes。
- CRC32: 使用 CRC-32 計算方法,checksum 4 bytes。
Examples 範例
- checksum 0xc0000 to 0xc07fe fill=0x00 rombios
- checksum 0xf8000 to 0xffffd address=0xffffe crc16
- checksum CODE to ROMDATA crc32
※ CLASS
CLASS 用來指定物理位置到 class 的每一個 segment。
Syntax: CLASS classname = addr16
- addr16: 用來指定 class 的第一個 segment,剩下的 segment 則根據前一個 segment 依序指定物理位置。
Examples 範例
- class CODE = 0xfc00
- class DATA = 0x0040
※ COMPRESS
COMPRESS 用來壓縮重覆的 class,藉此節省空間。
Syntax: COMPRESS classname
- classname: 要被壓縮的 class 名稱,這個 class 必須出現在 DUP 指令中。
Examples 範例
- dup FARDATA ROMFARDATA
compress ROMFARDATA
※ CPUTYPE
CPUTYPE 用來指定微處器的型號。
Syntax: CPUTYPE cpu_id
- cpu_id: Turbo186 - genesis 專用的。
Examples 範例
- cputype turbo186
※ DISPLAY
Syntax: DISPLAY option [option ...]
- NONE: 取消所有診斷顯示。
- FILES: 顯示輸出檔案。
- MODULES: 顯示在輸入檔案找到的模組名稱。
- COMPRESSION: 顯示在壓縮 class 的壓縮統計。
- ALL: 顯示所有的訊息。
Examples 範例
- display files modules
- display none
- display all
※ DUPLICATE
DUPLICATE 用來複製一個 class。一般都是 startup code 用來複製 FLASH 到 RAM。
Syntax: DUPLICATE src_class dest_class
Examples 範例
-
dup DATA ROMDATA // copy class DATA
class DATA = 0x0040 // DATA at 00400H
class CODE = 0xfc00 // CODE at FC000H
order CODE ROMDATA // ROMDATA after CODE
※ HEXFILE
HEXFILE
Syntax: HEXFILE [INTEL80|INTEL86|INTEL386|BINARY|TEKHEX] [OFFSET=addr] [SIZE=size] [SPLIT=split] [FILL=fill] [LENGTH=len] [TRUNCATE] [EOFRECORD|NOEOFRECORD] [ENTRYPOINT|NOENTRYPOINT] [FILENAME=file]
- INTEL80: Intel hex (64KB).
- INTEL86: Intel extended hex (1MB), 預設值.
- INTEL386: Intel 386 extended hex (1MB or 16MB).
- BINARY: Binary (1MB).
- TEKHEX: Tektronix hex (64KB).
- OFFSET: 用來指定開始位址。
- SIZE: 設定 image 的大小,預設值則根據 image type 的最大值來設定,除了 binary 是 32KB。
- SPLIT: 用來分割 image,可分為 1~4 個,預設值是一個,也就是不分割。
- FILL: 在 binary 格式時,用來做未使用的區域填充值,預設值為 0FFH。
- LENGTH: 設定每行記錄有多少 bytes,範圍為 8~64,預設值為 16。
- TRUNCATE: 用來把 binary image 多餘的空白去除,減少 image 的大小。
- EOFRECORD: 設定 end of record 寫入與否,預設是寫入。
- ENTRYPOINT: 設定 entry point record 寫入與否,預設是寫入。
- FILENAME: 用來設定輸出檔案的位置及名稱。
Examples 範例
- hexfile intel80 offset=0xf0000 size=32 file=no1
hexfile intel80 offset=0xf8000 size=32 file=no2
張貼留言