_strpbrk.asm
来自「很少见的源码公开的msc51和z80的c编译器。」· 汇编 代码 · 共 122 行
ASM
122 行
;--------------------------------------------------------; File Created by SDCC : FreeWare ANSI-C Compiler; Version 2.3.0 Thu Sep 20 10:57:49 2001;-------------------------------------------------------- .module _strpbrk ;--------------------------------------------------------; Public variables in this module;-------------------------------------------------------- .globl _strpbrk;--------------------------------------------------------; special function registers;--------------------------------------------------------;--------------------------------------------------------; special function bits ;--------------------------------------------------------;--------------------------------------------------------; internal ram data;-------------------------------------------------------- .area _DATA;--------------------------------------------------------; overlayable items in internal ram ;-------------------------------------------------------- .area _OVERLAY;--------------------------------------------------------; indirectly addressable internal ram data;-------------------------------------------------------- .area _ISEG;--------------------------------------------------------; bit data;-------------------------------------------------------- .area _BSEG;--------------------------------------------------------; external ram data;-------------------------------------------------------- .area _XSEG;--------------------------------------------------------; global & static initialisations;-------------------------------------------------------- .area _GSINIT .area _GSFINAL .area _GSINIT;--------------------------------------------------------; Home;-------------------------------------------------------- .area _HOME .area _CODE;--------------------------------------------------------; code;-------------------------------------------------------- .area _CODE; _strpbrk.c 27; genLabel; genFunction; ---------------------------------; Function strpbrk; ---------------------------------___strpbrk_start:_strpbrk: push ix ld ix,#0 add ix,sp; _strpbrk.c 34; genAssign; AOP_STK for ld c,4(ix) ld b,5(ix); genLabel00103$:; genPointerGet ld a,(bc) ld e,a; genAssign ld d,e; genIfx xor a,a or a,e jp z,00105$; _strpbrk.c 35; genIpush; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 1 deSending: 0 push bc ld a,d push af inc sp; genIpush; AOP_STK for ld l,6(ix) ld h,7(ix) push hl; genCall call _strchr ld d,h ld e,l pop hl inc sp pop bc; genIfx ld a,e; Rule 7: Removed redundent or or a,d jp z,00103$; _strpbrk.c 36; genRet ld l,c ld h,b jp 00106$; genLabel00105$:; _strpbrk.c 39; genRet ld hl,#0x0000; genLabel00106$:; genEndFunction pop ix ret___strpbrk_end: .area _CODE
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?