| The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers. |
Additional file AP164002.EXE available ADIS16X Disassembler with
Top Searches for this datasheetMicrocontrollers ApNote AP1640 Additional file AP164002.EXE available ADIS16X Disassembler with One-Line Assembler C16X 16-Bit Microcontroller Family ADIS16X allows analysis program code 16-bit microcontrollers C16X family. Program code different formats loaded displayed Disassembler Hex-dump format. Single instructions input using built-in One-Line Assembler. Program code written into Log-file list assembler source format. symbol operation provided using symbol definition file. Richard Schmid, Microcontroller Product Definition, Siemens Munich Semiconductor Group 11.97, Rel. ADIS16X Disassembler with One-Line Assembler C16X 16-Bit Microcontroller Family Contents Page Starting ADIS16X Main Menu Basic Function <F1> Loading Data File Basic Function <F2> Writing Memory Buffer Contents into HEX- BIN-File Basic Function <F3> Selection Microcontroller Type Basic Function <F4> Disassemblers One-Line Assemblers Menu General Operation Input Address Generation Log-File Basic Function <F5> HEX-Dump Menu General Operation Input Address Generation Log-File Basic Function <F6> Overview Memory Buffer Usage Basic Function <F7> Selection Options Appendix Error Status Messages One-Line Assembler Formats Definition Symbol Definition File AP1640 ApNote Revision History Actual Revision 11.97 Rel. Page Page actual Rev. prev.Rel. Previous Revision 10.97 Rel. (Original Version) Subjects (changes since last release) AP164002.EXE version ADIS16X.EXE (V3.03) included; operand decoding JNB, JBC, JNB, JNBS instructions corrected. Semiconductor Group AP1640 11.97 ADIS16X Disassembler with One-Line Assembler C16X 16-Bit Microcontroller Family Starting ADIS16X program ADIS16X.EXE MS-DOS program. started under MS-DOS MSDOS window Windows operating system. parameter added ADIS16X comes 25line/80-columns text mode. also possible initiate program using 50-line text mode. This mode selected calling program ADIS16X After ADIS16X been started title screen displayed. Pressing further will turn main menu screen. When ADIS16X loaded, program searches file called ADIS16X.SYM, which contains device, special function register, symbol definitions. this file present directory where ADIS16X located started, ADIS16X will operate without microcontroller specific register symbol. This capability symbol definitions external file allows very flexible adaption ADIS16X types C166 family microcontrollers with their different symbols. syntax symbol definition file shown appendix this ApNote. Depending available main memory resources ADIS16X allocates memory buffer operation with KByte portions Bytes. Therefore, memory buffer ADIS16X starts 00000H maximum 3FFFFH quantities Kbyte pages. Important C166 data only handled within this absolute memory address area. Semiconductor Group AP1640 11.97 ADIS16X Disassembler with One-Line Assembler C16X 16-Bit Microcontroller Family Main Menu Figure shows main menu 25-line mode. Figure Main Menu ADIS16X main menu screen ADIS16X divided into three sections upper area screen lines), help area, shows actual available basic functions program related keys which used select these basic functions. middle area screen, display area, used display contents 256K byte memory buffer Disassembler Hex-dump menu. number text lines this area depends text mode, which ADIS16X started (16, lines). lower area screen lines), status area, used display status information error messages (see Appendix File names addresses also input this screen area. right part status area shows actual selected type microcontroller, defined symbol definition file, state Log-File (closed open). seven basic functions ADIS16X selected from main menu. These basic functions assigned function keys follows <F1> <F2> <F3> <F4> <F5> <F6> <F7> Loading data file different formats into ADIS16X memory buffer Writing ADIS16X memory buffer contents into file using HEX- BIN- format Selection microcontroller type (and symbols) Starting ADIS16X Disassembler One-Line Assembler function Starting ADIS16X Hex-dump function Display ADIS16X memory buffer usage (Code Info) Selection different options Pressing <Esc> main menu will terminate ADIS16X program return DOS. Pressing other main menu results optical (error message) acustical warning. following chapters describe each seven main menu basic functions detail. Semiconductor Group AP1640 11.97 ADIS16X Disassembler with One-Line Assembler C16X 16-Bit Microcontroller Family Basic Function <F1> Loading Data File ADIS16X provides 256K byte memory buffer which assigned used program memory buffer instructions data, which generated assembler compiler programs. These instructions data normally stored with absolute addresses data files using different formats. Figure shows types data formats which loaded ADIS16X. HEX- OBJ-file formats Intel type format. Figure Data File Load Selection Window Pressing <F1> main menu ADIS16X opens window above requests input selection data file format. After selection data file format, ADIS16X requests input file name data file. Additionally, BIN-file format memory buffer start address requested which defines memory buffer address, where binary data placed (with incrementing memory buffer address). other data file formats provide address information whithin data file which used locate data file contents memory buffer. path data files names input must referenced directory where ADIS16X located either relative absolute format. When data file been found opened, ADIS16X analyses content transfers relevant data into memory buffer. After loading data file content, Code Info function (<F6> main menu) gives overview memory buffer usage. Prior loading memory buffer with contents data file, memory buffer completely written with This memory buffer initialization feature switched option (<F7> main menu). Remarks HEX-, OBJ-files HEX-files scanned records with record type (data records) (address records). Only code data information which placed these records processed transferred into memory buffer. From OBJ-files only records with record type analysed. Symbol informations stored HEX- OBJ-files used ADIS16X. Invalid data file formats checksum errors data files detected generate error message status area. Semiconductor Group AP1640 11.97 ADIS16X Disassembler with One-Line Assembler C16X 16-Bit Microcontroller Family Basic Function <F2> Writing Memory Buffer Contents into HEX- BIN-File This function allows generate data files with content memory buffer. invoked pressing <F2> main menu. After input data file name generated, start address must input. data file already exists, warning message occurs must selected whether data transferred should overwrite information existing data file should appended existing data file. This allows store several memory buffer parts data file. address values must input hexadecimal numbers. generated HEX-files, "Extended Address Record" (record type=02H) preceeded "End-of-File" record ":00000001FF" (record type=01H) appended data block which been written into data file. Therefore, multiple memory buffer blocks written into HEX-file, "End-of-File" records should deleted manually (except last one) using e.g. text editor. Semiconductor Group AP1640 11.97 ADIS16X Disassembler with One-Line Assembler C16X 16-Bit Microcontroller Family Basic Function <F3> Selection Microcontroller Type This function allows select microcontroller device with related SFR- symbols. This function only available, device with symbols been defined symbol definition file ADIS51.SYM. example figure three devices have been defined. Figure Microcontroller Type Selection Window After selection microcontroller type name microcontroller displayed right corner status area. Also symbols, which defined selected type symbol definition file ADIS51.SYM, activated. Semiconductor Group AP1640 11.97 ADIS16X Disassembler with One-Line Assembler C16X 16-Bit Microcontroller Family Basic Function <F4> Disassemblers One-Line Assemblers Menu General Operation After pressing <F4> main menu after input start address, disassembler window with related menu opened. This function main part ADIS16X program. allows display contents memory buffer C166 instruction mnemonics alter enter single instructions using one-line assembler capability. When entering disassembler menu, ADIS16X begins linear disassembling 2000 instructions located memory buffer starting from start address. first instructions then output display area. instruction, which located start address, appears (grey) highlighted scrollbar with cursor placed first character instruction. highlighted instruction modified scrollbar moved using cursor keys <Cursor <Cursor Down> <Page <Page Down> moving scrollbar instruction back moving scrollbar instruction forward moving scrollbar screen page back moving scrollbar screen page forward (optional scroll screen) (optional scroll screen) possible move scrollbar screen area directly address which less than start address. this operation start address must defined (using <F9>). Further, scrollbar cannot moved behind last 2000) instructions which have been disassembled. Figure shows example disassembler menu. Figure Disassembler/One-Line Assembler Menu ADIS16X Semiconductor Group AP1640 11.97 ADIS16X Disassembler with One-Line Assembler C16X 16-Bit Microcontroller Family one-line assembler capability accepts opcodes operands input instructions they defined Appendix one-line assembler byte word values instruction input either decimal hexadecimal notation, they always output hexadecimal values. SFRs symbols defined active microcontroller device (see chapter disassembler displays addresses addresses with symbol. one-line assembler also accepts symbol names input operands. symbol output/input switched option (see chapter After instruction been modified input using cursor left/right keys <Del> key, assembled pressing <Return> key. instruction correct format, code bytes written into memory buffer location where scrollbar located. After this memory buffer update, instructions which follow actually assembled instruction re-disassembled. Therefore, occur that instruction flow changed instructions, which located directly behind actually assembled instruction (e.g. replacing 4-byte instruction 2-byte instruction). input start address memory buffer disassembling will corrected with corresponding status message next even memory buffer address. Instructions, which follow ATOMIC EXT* instructions, assigned extended area. Such instructions marked with rightmost column screen area. more function keys available disassembler menu <F9> <F10> <Esc> Input definition start address disassembling Open/append/close Log-file Back Main Menu Input Address Pressing <F9> disassembler menu allows enter start address memory buffer disassembling procedure. ADIS16X again begins linear disassembling 2000 instructions located memory buffer starting from entered start address. instruction, which located start address, appears highlighted scrollbar. This capability defining start address required when large areas memory buffer must disassembled destination address jump instruction, which should disassembled, e.g. outside 2000 actually disassembled instruction area memory buffer. Generation Log-File Log-file generation capability disassembler menu allows write disassembler data from memory buffer into ASCII file. disassembler data written Log-file listing format shown Log-file example next page. data first part Log-file example been generated with DPPi symbols decoding enabled. second part DPPi symbols decoding been disabled. Semiconductor Group AP1640 11.97 ADIS16X Disassembler with One-Line Assembler C16X 16-Bit Microcontroller Family Log-File Example Disassembler Output ADIS16X V3.0 LOG-File Log-File output with DPPi decoding symbols decoding enabled (C167) 08000 DISWDT 08004 STKOV,#0FA00H 08008 STKUN,#0FA40H 0800C SP,#0FA3EH 08010 CP,#0FD00H 08014 DPP3,#0003H 08018 DPP2,#0002H 0801C DPP1,#0001H 08020 DPP0,#0003H 08024 BCLR ALECTL0 08026 BSET P3.12 08028 BSET DP3.12 0802A BSET P3.13 0802C BSET DP3.13 0802E BCLR 10H.0 08030 BSET 10H.1 08032 JMPS 0,8036H 08036 EINIT 0803A DPP3:3D48H,R0 0803E S1BG,DPP3:3D48H Log-File output with DPPi decoding symbols decoding disabled (C167) 08000 DISWDT 08004 0AH,#0FA00H 08008 0BH,#0FA40H 0800C 09H,#0FA3EH 08010 08H,#0FD00H 08014 03H,#0003H 08018 02H,#0002H 0801C 01H,#0001H 08020 00H,#0003H 08024 BCLR 86H.9 08026 BSET 0E2H.12 08028 BSET 0E3H.12 0802A BSET 0E2H.13 0802C BSET 0E3H.13 0802E BCLR 10H.0 08030 BSET 10H.1 08032 JMPS 0,8036H 08036 EINIT 0803A 0FD48H,R0 0803E S1BG,0FD48H data shall written into Log-file pressing <F10> Hex-dump menu Log-file open (status message "LOG-File closed"), file name requested input status area. default, ADIS16X.LOG proposed. Log-file already open (status message "LOG-File open"), must selected whether actual Log-file shall closed whether data should appended actual Log-file. Semiconductor Group AP1640 11.97 ADIS16X Disassembler with One-Line Assembler C16X 16-Bit Microcontroller Family Basic Function <F5> HEX-Dump Menu General Operation Pressing <F5> main menu activates Hex-dump function ADIS16X requests input memory buffer start address (hexadecimal address value followed <Return>). Beginning this address, contents memory buffer displayed hexadecimal ASCII notation bytes each row). Depending cursor position, highlighted byte modified entering hexadecimal value ASCII character. <Tab> used switch cursor highlighted byte from hexadecimal display ASCII display vice versa. highlighted byte moved using cursor keys. address highlighted byte displayed additionally status area screen. After activation Hex-dump function, Hex-dump menu entered. help area screen displays functions which available <Cursor Down> <Cursor <Cursor Right> <Cursor Left> <Page <Page Down> <F9> <F10> <Tab> <Esc> Decrement address highlighted byte (optional scroll screen) Increment address highlighted byte (optional scroll screen) Increment address highlighted byte (optional scroll screen) Decrement address highlighted byte (optional scroll screen) Scroll Hex-dump screen screen page back Scroll Hex-dump screen screen page forward Input address Hex-dump function Open/append/close Log-file Switch cursor highlighted byte from hexadecimal ASCII input Back Main Menu Figure shows example Hex-dump screen Figure Hex-Dump Function ADIS16X Semiconductor Group AP1640 11.97 ADIS16X Disassembler with One-Line Assembler C16X 16-Bit Microcontroller Family Hex-dump function left pressing <Esc>. generation Log-file described chapter 7.3. Note :Generally, Hex-dump function also used binary analysis/modifcation file with size max. Kbyte. using this feature file should loaded file into memory buffer address 00000H. After load operation start address detected manually bytes modified. Finally data written again from detected start address into file. Input Address Pressing <F9> Hex-dump menu allows enter start address Hex-dump output. Thereafter, ADIS16X displays data bytes located memory buffer starting with data byte entered start address left upper corner screen area. Generation Log-File Log-file generation capability Hex-dump menu allows write data from memory buffer notation into ASCII file. format data includes memory buffer addresses data with bytes row, hexadecimal ASCII characters. Log-file example below shows Hex-dump file output data shown figure Log-File Example Hex-Dump Output ADIS16X V3.0 LOG-File 08000: 08010: 08020: 08030: 08040: 08050: 08060: 08070: 08080: 08090: 080A0: 080B0: 080C0: 080D0: 080E0: 080F0: MON166 V1.27 1990 Siemens ertec data shall written into Log-file pressing <F10> Hex-dump menu Log-file open (status message "LOG-File closed"), file name requested input status area. default, ADIS16X.LOG porposed. Log-file already open (status message "LOG-File open"), must selected whether actual Log-file shall closed whether data should appended actual Log-file. Semiconductor Group AP1640 11.97 ADIS16X Disassembler with One-Line Assembler C16X 16-Bit Microcontroller Family Basic Function <F6> Overview Memory Buffer Usage This function used information about usage memory buffer after data file been loaded into memory buffer (basic function <F1> "Loading Data File"). This function useful e.g. code locations data file unknown. Each block character memory buffer usage window represents address area byte (see figure yellow bold) block character indicates that block memory buffer been loaded with data. gray block character indicates that address area byte been loaded with data. memory buffer usage window again closed when pressed. Figure Memory Buffer Usage Window Semiconductor Group AP1640 11.97 ADIS16X Disassembler with One-Line Assembler C16X 16-Bit Microcontroller Family Basic Function <F7> Selection Options With this function three options selected. Pressing keys always toggles related option. displayed value always active (see figure Pressing another closes options window again. Figure Options Window first option used enable/disable SFR- bit-symbols disassembler outputs one-line ssembler inputs. symbols must defined external symbol definition file (ADIS16X.SYM). second option allows switch on/off DPPi decoding instructions when they displayed disassembler menu written Log-file. instruction "MOV DPP1,#0001H" disassembled "MOV 01H,#0001H" when option disabled. third option enabled, every load data file preceeded memory buffer clear operation (256K memory buffer loaded with 00H). This memory buffer clear operation disabled. Semiconductor Group AP1640 11.97 ADIS16X Disassembler with One-Line Assembler C16X 16-Bit Microcontroller Family Appendix Error Status Messages Cause Input invalid file name file does exist During loading data file checksum error been detected. data file load operation aborted. During reading data file absolute located code/data information been detected loaded into memory buffer. Probably data file wrong format. During loading IEEE data file wrong file format been detected. load operation been aborted. During loading data file existing memory buffer address been requested. load operation been aborted. character which been input invald accepted. Invalid address (only hexadecimal values allowed). invalid instruction been input; one-line assembler cannot disassemble instruction (instruction format Appendix further disassembling memory buffer start address must input (using <F9> disassembler menu. Beginning with start address, maximum 2000 instructions displayed run. During disassemble dump function upper limit memory buffer been reached. disassembler dump function lower start address must input. With start address, which been input, display area cannot filled completely with data. disassembler reached start address from which 2000 instruction have been disassembled (with incrementing address). Log-file generation start address greater than address. Data file name type opened, analysed, absolutely located code/data loaded into memory buffer. content memory buffer transferred into data file (Hexor BIN-format) with filename name. Data currently transferred into Log-file. start address disassemble function address corrected next (higher) even address. During loading ADIS16X symbol definition file been found format existing symbol definition file wrong. types defined. symbol definition file been loaded. Error-/Status Message File access error Checksum error absolute code/data been loaded Invalid OBJ-file format Invalid IEEE-file format Code memory available this address Invalid input Invalid address Invalid instruction Display buffer exceeded Code memory limit reached code memory input lower address Disassembler start address reached Start address greater than address xxx-File name loaded File name created Log-File created address corrected next even ddress Symbol definition file: available invalid format selection available MCU-type defined File exists Overwrite/Append/Cancel file (data Log-file) written already exyists open. file closed, overwritten, appended action cancelled. Semiconductor Group AP1640 11.97 ADIS16X Disassembler with One-Line Assembler C16X 16-Bit Microcontroller Family One-Line Assembler Formats Operands Rw,Rw Rw,[Rwi] Rw,[Rwi+] Rw,#data3 reg,#data16 reg,mem mem,reg (not CMP) Rb,Rb Rb,[Rwi] Rb,[Rwi+] Rb,#data3 reg,#data8 reg,mem mem,reg (not CMPB) Rw,Rw MOVBS, MOVBZ bitaddr bitaddr,bitaddr JMPA, CALLA JMPI, CALLI JMPS, CALLS bitoff,#mask8, #data8 Rw,#data4 Rw,#data16 Rw,mem Rw,Rw Rw,#data4 Rw,Rw Rw,#data4 Rw,[Rw] Rw,[Rw+] Rw,[Rw+#data16] [Rw],Rw [Rw],[Rw] [Rw],[Rw+] [Rw+],[Rw] [-Rw],Rw [Rw+#data16],Rw [Rw],mem mem,[Rw] reg,#data16 reg,mem mem,reg JMPR CALLR TRAP PCALL JBC, JNB, JNBS POP, PUSH, RETP SCXT RET, RETS, RETI, SRST, IDLE, PWRDN, SRVWDT,EINIT, DISWDT, ATOMIC EXTR EXTP EXTPR EXTS EXTSR Opcodes ADD, ADDC; SUB, SUBC, AND, XOR, Opcodes MOVB Operands Rb,Rb Rb,#data4 Rb,[Rw] Rb,[Rw+] Rb,[Rw+#data16] [Rw],Rb [Rw],[Rw] [Rw],[Rw+] [Rw+],[Rw] [-Rw],Rb [Rw+#data16],Rb [Rw],mem mem,[Rw] reg,#data8 reg,mem mem,reg Rb,Rb reg,mem mem,reg cc,caddr cc,[Rw] seg,caddr cc,rel #trap7 reg,caddr bitaddr,rel reg,#data16 reg,mem operands ADDB, ADDCB, SUBB, SUBCB, ANDB, ORB, 'XORB, CMPB MUL, MULU PRIOR CPLB, NEGB BCLR, BSET BCLR, BSET BMOV, BMOVN, BAND, BCMP, BOR, BXOR BFLDL, BFLDH CMPD1, CMPD2, CMPI1, CMPI2 SHL,SHR,ROL, ROR, ASHR #data2 Rw,#data2 pag,#data2 Rw,#data2 segm,#data2 These instructions available C166 Semiconductor Group AP1640 11.97 ADIS16X Disassembler with One-Line Assembler C16X 16-Bit Microcontroller Family operands shown table previous page abbreviations following inputs data2 data3 data4 trap7 data8,mask8 data12 data16 SFRb SFRb.x data8.x Rw.x caddr segm DPPi R0-R15 R0-R3 RL0-RH7 1H-4H 0H-7H 0-15 00H-0FH 0-127 00H-7FH 0-255 00H-0FFH 0-4095 000H-7FFH 0-65535 0000H-0FFFFH symbol special function registers (SFR) symbol bitadressable symbol bitadressable Bits bitadressable (x=0-15) bitadressable witrh address data8 (x=0-15) registers R0-R15 (x,x=0-15) symbol condition codes (z.B. CC_EQ) absolute jump address 0-65535 0000H-0FFFFH relative jump address 0-65535 0000H-0FFFFH 10-bit page number 0-1023 00H-3FFH absolute segment address 0H-3H absolute segment address 0-255 00H-0FFH data pointer DPP0-DPP3 (i=0-3) following operands abbreviations several inputs shown above (for word instructions) (for byte instructions) data8 data16 DPPi:data16 SFRb data8 data12 SFRb.x data8.x Rw.x bitoff bitaddr Generally, numbers input decimal hexadecimal values. hexadecimal values standard convention valid must preceed value hexadecimal value begins with letter ("A" "F"); hexadecimal value ends with "H". Inputs assembler case sensitive. Semiconductor Group AP1640 11.97 ADIS16X Disassembler with One-Line Assembler C16X 16-Bit Microcontroller Family Definition Symbol Definition File Symbol Definition File ADIS16X V3.0 Rules symbol definition file ADIS16X V3.0 Disassembler allows define symbols SFR's bits SFR's different 80C16X compatible microcontrollers. Such symbol definition file build according following rules Comment lines have first line. following characters this line ignored. Empty lines (with 0DH, 0AH) inserted everywhere. definition file sections. Each section validated keyword. keywords these sections Keyword "[MCU]" MCU-Section: defines names MCUs Keyword "[SFR]" SFR-Section: defines names Special Function Registers Keyword "[ESFR]"-> ESFR-Section: defines names Extended Special Function Registers Keyword "[SFB]" SFB-Section: defines names bits Special Function Registers. keywords must placed first line. Definitions MCU-Section "xxxxxxx hhhh" "xxxxxxx" starts first column (short-)name microcontroller; (max. ASCII characters) "hhhh" 4-digit hexword, coded with positions, starting with position this hexword separated from name with actly blank character; lines MCU-Section shall ordered ascending positions "hhhh". highest position indicates that using ESFR register. Definitions SFR-/ESFR-/SFB-Sections Lines SFR-/ESFR-Sections have exactly parts, separated each blank character. xxxxxxxx hhhh" :"aa" 2-digit hexbyte value, which defines 8-bit address ESFR starts first column; "xxxxxxxx" name SFR/ESFR with address "aa"; (max. ASCII characters); "hhhh" 4-digit hexword; dedicated position defines, that symbol 'xxxxxxx' valid MCU, which also fined same position MCU-Section Definitions SFB-Sections Lines this section build similar SFR-/ ESFR-Section. difference that bitaddress decoded 16-bit value. "aabb xxxxxxx hhhh" "aabb" 4-digit hexbyte value, which con; tains position (aa) 8-bit address bitaddressable SFR-/ESFR. "aabb" starts first column. "xxxxxxx" name symbol ASCII characters); "hhhh" 4-digit hexword; dedi; cated position defines, that symbol 'xxxxxxx' valid MCU, which also defined same position MCU-Section Note file AP164001.EXE includes example symbol definition file. Semiconductor Group AP1640 11.97 Other recent searchesVSKDS401 - VSKDS401 VSKDS401 Datasheet 045P - 045P 045P Datasheet PB015705-0208 - PB015705-0208 PB015705-0208 Datasheet LTC3731 - LTC3731 LTC3731 Datasheet e9421 - e9421 e9421 Datasheet AN-1065 - AN-1065 AN-1065 Datasheet 2SK3476 - 2SK3476 2SK3476 Datasheet 2N5886 - 2N5886 2N5886 Datasheet
Privacy Policy | Disclaimer |