{"id":19227884,"url":"https://github.com/pcawte/ez80-dis","last_synced_at":"2025-07-05T17:39:45.405Z","repository":{"id":177205840,"uuid":"659133061","full_name":"pcawte/eZ80-dis","owner":"pcawte","description":"eZ80 Disassembler","archived":false,"fork":false,"pushed_at":"2023-06-29T07:10:17.000Z","size":12,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-04T22:25:26.367Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pcawte.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-27T07:51:21.000Z","updated_at":"2024-04-13T19:42:33.000Z","dependencies_parsed_at":"2023-07-05T06:01:55.660Z","dependency_job_id":null,"html_url":"https://github.com/pcawte/eZ80-dis","commit_stats":null,"previous_names":["pcawte/ez80-dis"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pcawte%2FeZ80-dis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pcawte%2FeZ80-dis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pcawte%2FeZ80-dis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pcawte%2FeZ80-dis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pcawte","download_url":"https://codeload.github.com/pcawte/eZ80-dis/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240302180,"owners_count":19779962,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T15:25:45.525Z","updated_at":"2025-02-23T10:26:45.801Z","avatar_url":"https://github.com/pcawte.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# eZ80 Disassembler\n\nDerived from `CE-Programming/zdis`\n\nDesign to disassemble a binary file containing eZ80 (or Z80) assembly code\n\nExample command line:\n\n```\nez80-dis --ez80 --start 0x45 --target 0x40000 --address --hex-dump\n--compute-relative test.bin\n```\n\nTo compile using clang:\n\n```\nclang -o ez80-dis ez80-dis.c zdis.c\n```\n\nYou need a compiler that supports C11 in order to build `ez80-dis` (otherwise, just remove the `static_assert` usages).\n\nThe program has been enhanced versus the original:\n\n- Allow for a target address that the program would be loaded. Previously this was assumed to be zero\n\n- Print address for each line of assembler\n\n- Include option for hex-dump so can see both the hex \u0026 assembly on the same line\n\n- Can use decimal, hex or octal for command line parameters using standard C-format (leading 0x or 0X for hex, or leading 0 for octal)\n\n- | Command line option | Meaning                                                           |\n  | ------------------- | ----------------------------------------------------------------- |\n  | --start             | address at which to start disassembly (relative to start of file) |\n  | --end               | address at which to end disassembly (relative to start of file)   |\n  | --target            | target address the program is designed to be loaded at            |\n  | --address           | print address on each line of the output                          |\n  | --hex-dump          | print hex dump on each line of the output                         |\n  | --lowercase         | lowercase alpha                                                   |\n  | --uppercase         | uppercase alpha                                                   |\n  | --implicit-dest     | z80-style omitted dest (or a)                                     |\n  | --explicit-dest     | ez80-style dest (or a,a)                                          |\n  | --ez80              | assume adl = 1                                                    |\n  | --z80               | assume adl = 0                                                    |\n  | --suffix            | suffix immediates with base indicator (0FFh)                      |\n  | --prefix            | prefix immediates with base indicator ($FF)                       |\n  | --decimal           | base-10 immediates (255)                                          |\n  | --hex               | base-16 immediates ($FF)                                          |\n  | --mnemonic-space    | space after mnemonic                                              |\n  | --mnemonic-tab      | tab after mnemonic                                                |\n  | --argument-space    | space after argument comma (ld a, b)                              |\n  | --no-argument-space | no space after argument comma (ld a,b)                            |\n  | --compute-relative  | compute PC relative addresses (jr $1234)                          |\n  | --literal-relative  | literal PC relative addresses (jr $+3)                            |\n  | --compute-absolute  | compute PC relative addresses (jp $+3)                            |\n  | --literal-absolute  | literal PC relative addresses (jp $1234)                          |\n\nOutput is to stdout - can redirect to a file in the normal way using\n\n```\nez80-dis --ez80 --start 0x45 --target 0x40000 --address --hex-dump\n--compute-relative test.bin\n\n040045  f5              push    af\n040046  c5              push    bc\n040047  d5              push    de\n040048  dd e5           push    ix\n04004a  fd e5           push    iy\n04004c  ed 73 70 00 04  ld      ($040070),sp\n040051  31 ff ff 0a     ld      sp,$0affff\n040055  e5              push    hl\n040056  cd 7f 00 04     call    $04007f\n04005a  e1              pop     hl\n04005b  dd 21 08 1f 04  ld      ix,$041f08\n040060  dd e5           push    ix\n040062  cd 9e 00 04     call    $04009e\n040066  06 00           ld      b,$00\n040068  c5              push    bc\n040069  cd 82 1e 04     call    $041e82\n04006d  d1              pop     de\n04006e  d1              pop     de\n04006f  31 00 00 00     ld      sp,$000000\n040073  fd e1           pop     iy\n040075  dd e1           pop     ix\n040077  d1              pop     de\n040078  c1              pop     bc\n040079  f1              pop     af\n04007a  21 00 00 00     ld      hl,$000000\n04007e  c9              ret\n```\n\n## Changes:\n\n- 27/06/2023: initial version adapted from zdis\n- 29/06/2023: corrected bug when hex-dump feature introduced\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpcawte%2Fez80-dis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpcawte%2Fez80-dis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpcawte%2Fez80-dis/lists"}