📄 puts.asm
字号:
;--------------------------------------------------------; File Created by SDCC : FreeWare ANSI-C Compiler; Version 2.3.0 Thu Sep 20 10:57:53 2001;-------------------------------------------------------- .module puts ;--------------------------------------------------------; Public variables in this module;-------------------------------------------------------- .globl _puts;--------------------------------------------------------; 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; puts.c 27; genLabel; genFunction; ---------------------------------; Function puts; ---------------------------------___puts_start:_puts: lda sp,-3(sp); puts.c 30; genAssign; AOP_STK for lda hl,5(sp) ld c,(hl) inc hl ld b,(hl); genAssign; AOP_STK for _puts_i_1_1 lda hl,1(sp) ld (hl),#0x00 inc hl ld (hl),#0x00; genLabel00101$:; genPointerGet; AOP_STK for _puts_sloc0_1_0 ld a,(bc) lda hl,0(sp) ld (hl),a; genIfx; AOP_STK for _puts_sloc0_1_0 xor a,a; Rule 8: Removed redundent or for (ix) or a,(hl) jp z,00103$; puts.c 31; genPlus; genPlusIncr inc bc; genIpush; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 1 deSending: 0 push bc; AOP_STK for _puts_sloc0_1_0 ld a,(hl) push af inc sp; genCall call _putchar lda sp,1(sp) pop bc; puts.c 32; genPlus; AOP_STK for _puts_i_1_1; genPlusIncr lda hl,1(sp) inc (hl) jr nz,00108$ inc hl inc (hl)00108$:; genGoto jp 00101$; genLabel00103$:; puts.c 34; genIpush; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 ld a,#0x0A push af inc sp; genCall call _putchar lda sp,1(sp); puts.c 35; genPlus; AOP_STK for _puts_i_1_1; genPlusIncr lda hl,1(sp) ld c,(hl) inc hl ld b,(hl) inc bc; genRet ld e,c ld d,b; genLabel00104$:; genEndFunction lda sp,3(sp) ret___puts_end: .area _CODE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -