fgetc.mac
来自「--- --- ---基于C语言的编译器的 简单实现」· MAC 代码 · 共 89 行
MAC
89 行
INCLUDE PROLOG.H
_CC1:
PUBLIC _fgetc
_fgetc:
SUB SP,3
MOV BX,0
ADD BX,SP
PUSH BX ;
MOV BX,7
ADD BX,SP
MOV BX,[BX]
PUSH BX ;
MOV BX,1
PUSH BX ;
CALL _Uread
ADD SP,6
XCHG DX,BX
MOV BX,-1
CMP DX,BX
MOV BX,CX
JNZ $+3
INC BX
OR BX,BX
JNZ $+5
JMP _CC3
MOV BX,5
ADD BX,SP
MOV BX,[BX]
PUSH BX ;
CALL _Useteof
ADD SP,2
MOV BX,-1
ADD SP,3
RET
_CC3:
MOV BX,1
ADD BX,SP
XCHG DX,BX
MOV BX,0
ADD BX,SP
MOV AL,[BX]
CBW
MOV BX,AX
MOV SI,DX
MOV [SI],BX
MOV BX,1
ADD BX,SP
MOV BX,[BX]
JMP _CC6
_CC7:
MOV BX,1
ADD BX,SP
MOV BX,[BX]
ADD SP,3
RET
_CC8:
MOV BX,5
ADD BX,SP
MOV BX,[BX]
PUSH BX ;
CALL _Useteof
ADD SP,2
MOV BX,-1
ADD SP,3
RET
_CC9:
MOV BX,10
ADD SP,3
RET
_CC10:
JMP _CC5
_CC6:
CALL _CCSWITCH
DW _CC8,26
DW _CC9,13
DW _CC10,10
DW 0
JMP _CC7
_CC5:
ADD SP,3
RET
_getc EQU _fgetc
PUBLIC _getc
EXTRN _Useteof:NEAR
EXTRN _Uread:NEAR
EXTRN _CCSWITCH:NEAR
INCLUDE EPILOG.H
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?