mirror of https://github.com/nmlgc/ReC98.git
[Reduction] #193: bread
This function doesn't seem to be used outside pfopen(), and IDA struggles with that function, which explains the missing references.
This commit is contained in:
parent
5d2d4feca0
commit
fae5f003ad
|
@ -0,0 +1,80 @@
|
|||
; master library - (pf.lib)
|
||||
;
|
||||
; Description:
|
||||
; ファイルからの読み込み
|
||||
;
|
||||
; Functions/Procedures:
|
||||
; int bread(void *buf,int size,bf_t bf);
|
||||
;
|
||||
; Parameters:
|
||||
; buf 読み込み先
|
||||
; size 読み込みバイトバイト数
|
||||
; bf bfileハンドル
|
||||
;
|
||||
; Returns:
|
||||
; 読み込んだバイト数
|
||||
;
|
||||
; Binding Target:
|
||||
; Microsoft-C / Turbo-C / Turbo Pascal
|
||||
;
|
||||
; Running Target:
|
||||
; MS-DOS
|
||||
;
|
||||
; Requiring Resources:
|
||||
; CPU: 186
|
||||
;
|
||||
; Notes:
|
||||
; buf+sizeが10000hを越えてはならない。
|
||||
;
|
||||
; Assembly Language Note:
|
||||
;
|
||||
;
|
||||
; Compiler/Assembler:
|
||||
; TASM 3.0
|
||||
; OPTASM 1.6
|
||||
;
|
||||
; Author:
|
||||
; iR
|
||||
; 恋塚昭彦
|
||||
;
|
||||
; Revision History:
|
||||
; BREAD.ASM 607 94-05-30 13:43
|
||||
; 95/ 1/10 Initial: bread.asm/master.lib 0.23
|
||||
|
||||
func BREAD ; bread() {
|
||||
push BP
|
||||
mov BP,SP
|
||||
push SI
|
||||
push DI
|
||||
|
||||
;arg buf:dataptr,siz:word,bf:word
|
||||
buf = (RETSIZE+3)*2
|
||||
siz = (RETSIZE+2)*2
|
||||
bf = (RETSIZE+1)*2
|
||||
|
||||
mov DI,[BP+buf]
|
||||
mov SI,[BP+siz]
|
||||
cmp SI,0
|
||||
jle short @@_return
|
||||
|
||||
@@_loop: push word ptr [BP+bf]
|
||||
_call BGETC
|
||||
|
||||
inc AH
|
||||
jz short @@_return
|
||||
s_mov [DI],AL
|
||||
_mov ES,[BP+buf+2]
|
||||
_mov ES:[DI],AL
|
||||
inc DI
|
||||
dec SI
|
||||
jnz short @@_loop
|
||||
|
||||
@@_return:
|
||||
mov AX,DI
|
||||
sub AX,[BP+buf]
|
||||
|
||||
pop DI
|
||||
pop SI
|
||||
pop BP
|
||||
ret (2+DATASIZE)*2
|
||||
endfunc ; }
|
|
@ -120,48 +120,7 @@ loc_5C1:
|
|||
retf 4
|
||||
sub_574 endp
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
nop
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
||||
; Attributes: bp-based frame
|
||||
|
||||
sub_5C8 proc far
|
||||
|
||||
arg_0 = word ptr 6
|
||||
arg_2 = word ptr 8
|
||||
arg_4 = word ptr 0Ah
|
||||
arg_6 = word ptr 0Ch
|
||||
|
||||
push bp
|
||||
mov bp, sp
|
||||
push si
|
||||
push di
|
||||
mov di, [bp+arg_4]
|
||||
mov si, [bp+arg_2]
|
||||
cmp si, 0
|
||||
jle short loc_5ED
|
||||
|
||||
loc_5D8:
|
||||
push [bp+arg_0]
|
||||
call bgetc
|
||||
inc ah
|
||||
jz short loc_5ED
|
||||
mov es, [bp+arg_6]
|
||||
mov es:[di], al
|
||||
inc di
|
||||
dec si
|
||||
jnz short loc_5D8
|
||||
|
||||
loc_5ED:
|
||||
mov ax, di
|
||||
sub ax, [bp+arg_4]
|
||||
pop di
|
||||
pop si
|
||||
pop bp
|
||||
retf 8
|
||||
sub_5C8 endp
|
||||
include libs/master.lib/bread.asm
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
push bp
|
||||
|
@ -5914,8 +5873,7 @@ loc_3D20:
|
|||
push di
|
||||
push 20h ; ' '
|
||||
push word ptr es:0
|
||||
push cs
|
||||
call near ptr sub_5C8
|
||||
call bread
|
||||
inc byte_1E309
|
||||
cmp byte_1E309, 0FFh
|
||||
mov bx, 2
|
||||
|
|
|
@ -161,49 +161,7 @@ loc_605:
|
|||
retf 4
|
||||
sub_5B8 endp
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
nop
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
||||
; Attributes: bp-based frame
|
||||
|
||||
sub_60C proc far
|
||||
|
||||
arg_0 = word ptr 6
|
||||
arg_2 = word ptr 8
|
||||
arg_4 = word ptr 0Ah
|
||||
arg_6 = word ptr 0Ch
|
||||
|
||||
push bp
|
||||
mov bp, sp
|
||||
push si
|
||||
push di
|
||||
mov di, [bp+arg_4]
|
||||
mov si, [bp+arg_2]
|
||||
cmp si, 0
|
||||
jle short loc_631
|
||||
|
||||
loc_61C:
|
||||
push [bp+arg_0]
|
||||
call bgetc
|
||||
inc ah
|
||||
jz short loc_631
|
||||
mov es, [bp+arg_6]
|
||||
mov es:[di], al
|
||||
inc di
|
||||
dec si
|
||||
jnz short loc_61C
|
||||
|
||||
loc_631:
|
||||
mov ax, di
|
||||
sub ax, [bp+arg_4]
|
||||
pop di
|
||||
pop si
|
||||
pop bp
|
||||
retf 8
|
||||
sub_60C endp
|
||||
|
||||
include libs/master.lib/bread.asm
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
||||
|
@ -3588,8 +3546,7 @@ loc_2C26:
|
|||
push di
|
||||
push 20h ; ' '
|
||||
push word ptr es:0
|
||||
push cs
|
||||
call near ptr sub_60C
|
||||
call bread
|
||||
inc byte_D713
|
||||
cmp byte_D713, 0FFh
|
||||
mov bx, 2
|
||||
|
|
29
th02_op.asm
29
th02_op.asm
|
@ -152,34 +152,7 @@ loc_605:
|
|||
pop bp
|
||||
retf 4
|
||||
; ---------------------------------------------------------------------------
|
||||
nop
|
||||
push bp
|
||||
mov bp, sp
|
||||
push si
|
||||
push di
|
||||
mov di, [bp+0Ah]
|
||||
mov si, [bp+8]
|
||||
cmp si, 0
|
||||
jle short loc_631
|
||||
|
||||
loc_61C:
|
||||
push word ptr [bp+6]
|
||||
call bgetc
|
||||
inc ah
|
||||
jz short loc_631
|
||||
mov es, word ptr [bp+0Ch]
|
||||
mov es:[di], al
|
||||
inc di
|
||||
dec si
|
||||
jnz short loc_61C
|
||||
|
||||
loc_631:
|
||||
mov ax, di
|
||||
sub ax, [bp+0Ah]
|
||||
pop di
|
||||
pop si
|
||||
pop bp
|
||||
retf 8
|
||||
include libs/master.lib/bread.asm
|
||||
; ---------------------------------------------------------------------------
|
||||
push bp
|
||||
mov bp, sp
|
||||
|
|
|
@ -110,34 +110,7 @@ loc_5C1:
|
|||
pop bp
|
||||
retf 4
|
||||
; ---------------------------------------------------------------------------
|
||||
nop
|
||||
push bp
|
||||
mov bp, sp
|
||||
push si
|
||||
push di
|
||||
mov di, [bp+0Ah]
|
||||
mov si, [bp+8]
|
||||
cmp si, 0
|
||||
jle short loc_5ED
|
||||
|
||||
loc_5D8:
|
||||
push word ptr [bp+6]
|
||||
call bgetc
|
||||
inc ah
|
||||
jz short loc_5ED
|
||||
mov es, word ptr [bp+0Ch]
|
||||
mov es:[di], al
|
||||
inc di
|
||||
dec si
|
||||
jnz short loc_5D8
|
||||
|
||||
loc_5ED:
|
||||
mov ax, di
|
||||
sub ax, [bp+0Ah]
|
||||
pop di
|
||||
pop si
|
||||
pop bp
|
||||
retf 8
|
||||
include libs/master.lib/bread.asm
|
||||
; ---------------------------------------------------------------------------
|
||||
push bp
|
||||
mov bp, sp
|
||||
|
|
|
@ -163,34 +163,7 @@ loc_605:
|
|||
sub_5B8 endp
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
nop
|
||||
push bp
|
||||
mov bp, sp
|
||||
push si
|
||||
push di
|
||||
mov di, [bp+0Ah]
|
||||
mov si, [bp+8]
|
||||
cmp si, 0
|
||||
jle short loc_631
|
||||
|
||||
loc_61C:
|
||||
push word ptr [bp+6]
|
||||
call bgetc
|
||||
inc ah
|
||||
jz short loc_631
|
||||
mov es, word ptr [bp+0Ch]
|
||||
mov es:[di], al
|
||||
inc di
|
||||
dec si
|
||||
jnz short loc_61C
|
||||
|
||||
loc_631:
|
||||
mov ax, di
|
||||
sub ax, [bp+0Ah]
|
||||
pop di
|
||||
pop si
|
||||
pop bp
|
||||
retf 8
|
||||
include libs/master.lib/bread.asm
|
||||
; ---------------------------------------------------------------------------
|
||||
push bp
|
||||
mov bp, sp
|
||||
|
|
29
th03_op.asm
29
th03_op.asm
|
@ -123,34 +123,7 @@ loc_5C1:
|
|||
sub_574 endp
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
nop
|
||||
push bp
|
||||
mov bp, sp
|
||||
push si
|
||||
push di
|
||||
mov di, [bp+0Ah]
|
||||
mov si, [bp+8]
|
||||
cmp si, 0
|
||||
jle short loc_5ED
|
||||
|
||||
loc_5D8:
|
||||
push word ptr [bp+6]
|
||||
call bgetc
|
||||
inc ah
|
||||
jz short loc_5ED
|
||||
mov es, word ptr [bp+0Ch]
|
||||
mov es:[di], al
|
||||
inc di
|
||||
dec si
|
||||
jnz short loc_5D8
|
||||
|
||||
loc_5ED:
|
||||
mov ax, di
|
||||
sub ax, [bp+0Ah]
|
||||
pop di
|
||||
pop si
|
||||
pop bp
|
||||
retf 8
|
||||
include libs/master.lib/bread.asm
|
||||
; ---------------------------------------------------------------------------
|
||||
push bp
|
||||
mov bp, sp
|
||||
|
|
|
@ -163,38 +163,7 @@ loc_6F1:
|
|||
sub_6A4 endp
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
nop
|
||||
push bp
|
||||
mov bp, sp
|
||||
push si
|
||||
push di
|
||||
mov di, [bp+0Ah]
|
||||
mov si, [bp+8]
|
||||
cmp si, 0
|
||||
jle short loc_71D
|
||||
|
||||
loc_708:
|
||||
push word ptr [bp+6]
|
||||
call bgetc
|
||||
inc ah
|
||||
|
||||
loc_711:
|
||||
; sub_2266+9r
|
||||
jz short loc_71D
|
||||
mov es, word ptr [bp+0Ch]
|
||||
mov es:[di], al
|
||||
inc di
|
||||
dec si
|
||||
jnz short loc_708
|
||||
|
||||
loc_71D:
|
||||
; seg000:loc_711j
|
||||
mov ax, di
|
||||
sub ax, [bp+0Ah]
|
||||
pop di
|
||||
pop si
|
||||
pop bp
|
||||
retf 8
|
||||
include libs/master.lib/bread.asm
|
||||
; ---------------------------------------------------------------------------
|
||||
push bp
|
||||
mov bp, sp
|
||||
|
@ -3564,8 +3533,7 @@ arg_2 = word ptr 6
|
|||
push di
|
||||
xor ax, ax
|
||||
mov es, ax
|
||||
assume es:seg000
|
||||
mov al, byte ptr es:loc_711+1
|
||||
mov al, byte ptr es:[712h]
|
||||
inc ax
|
||||
mov dx, ax
|
||||
shl dx, 1
|
||||
|
|
|
@ -162,37 +162,7 @@ loc_6F1:
|
|||
sub_6A4 endp
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
nop
|
||||
push bp
|
||||
mov bp, sp
|
||||
push si
|
||||
push di
|
||||
mov di, [bp+0Ah]
|
||||
mov si, [bp+8]
|
||||
cmp si, 0
|
||||
jle short loc_71D
|
||||
|
||||
loc_708:
|
||||
push word ptr [bp+6]
|
||||
call bgetc
|
||||
inc ah
|
||||
|
||||
loc_711:
|
||||
jz short loc_71D
|
||||
mov es, word ptr [bp+0Ch]
|
||||
mov es:[di], al
|
||||
inc di
|
||||
dec si
|
||||
jnz short loc_708
|
||||
|
||||
loc_71D:
|
||||
; seg000:loc_711j
|
||||
mov ax, di
|
||||
sub ax, [bp+0Ah]
|
||||
pop di
|
||||
pop si
|
||||
pop bp
|
||||
retf 8
|
||||
include libs/master.lib/bread.asm
|
||||
; ---------------------------------------------------------------------------
|
||||
push bp
|
||||
mov bp, sp
|
||||
|
|
33
th04_op.asm
33
th04_op.asm
|
@ -151,38 +151,7 @@ loc_6F1:
|
|||
pop bp
|
||||
retf 4
|
||||
; ---------------------------------------------------------------------------
|
||||
nop
|
||||
push bp
|
||||
mov bp, sp
|
||||
push si
|
||||
push di
|
||||
mov di, [bp+0Ah]
|
||||
mov si, [bp+8]
|
||||
cmp si, 0
|
||||
jle short loc_71D
|
||||
|
||||
loc_708:
|
||||
push word ptr [bp+6]
|
||||
call bgetc
|
||||
inc ah
|
||||
|
||||
loc_711:
|
||||
; seg000:250Er ...
|
||||
jz short loc_71D
|
||||
mov es, word ptr [bp+0Ch]
|
||||
mov es:[di], al
|
||||
inc di
|
||||
dec si
|
||||
jnz short loc_708
|
||||
|
||||
loc_71D:
|
||||
; seg000:loc_711j
|
||||
mov ax, di
|
||||
sub ax, [bp+0Ah]
|
||||
pop di
|
||||
pop si
|
||||
pop bp
|
||||
retf 8
|
||||
include libs/master.lib/bread.asm
|
||||
; ---------------------------------------------------------------------------
|
||||
push bp
|
||||
mov bp, sp
|
||||
|
|
|
@ -161,35 +161,7 @@ loc_6CF:
|
|||
retf 4
|
||||
sub_682 endp
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
nop
|
||||
push bp
|
||||
mov bp, sp
|
||||
push si
|
||||
push di
|
||||
mov di, [bp+0Ah]
|
||||
mov si, [bp+8]
|
||||
cmp si, 0
|
||||
jle short loc_6FB
|
||||
|
||||
loc_6E6:
|
||||
push word ptr [bp+6]
|
||||
call bgetc
|
||||
inc ah
|
||||
jz short loc_6FB
|
||||
mov es, word ptr [bp+0Ch]
|
||||
mov es:[di], al
|
||||
inc di
|
||||
dec si
|
||||
jnz short loc_6E6
|
||||
|
||||
loc_6FB:
|
||||
mov ax, di
|
||||
sub ax, [bp+0Ah]
|
||||
pop di
|
||||
pop si
|
||||
pop bp
|
||||
retf 8
|
||||
include libs/master.lib/bread.asm
|
||||
; ---------------------------------------------------------------------------
|
||||
push bp
|
||||
mov bp, sp
|
||||
|
|
|
@ -162,35 +162,7 @@ loc_6CF:
|
|||
retf 4
|
||||
sub_682 endp
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
nop
|
||||
push bp
|
||||
mov bp, sp
|
||||
push si
|
||||
push di
|
||||
mov di, [bp+0Ah]
|
||||
mov si, [bp+8]
|
||||
cmp si, 0
|
||||
jle short loc_6FB
|
||||
|
||||
loc_6E6:
|
||||
push word ptr [bp+6]
|
||||
call bgetc
|
||||
inc ah
|
||||
jz short loc_6FB
|
||||
mov es, word ptr [bp+0Ch]
|
||||
mov es:[di], al
|
||||
inc di
|
||||
dec si
|
||||
jnz short loc_6E6
|
||||
|
||||
loc_6FB:
|
||||
mov ax, di
|
||||
sub ax, [bp+0Ah]
|
||||
pop di
|
||||
pop si
|
||||
pop bp
|
||||
retf 8
|
||||
include libs/master.lib/bread.asm
|
||||
; ---------------------------------------------------------------------------
|
||||
push bp
|
||||
mov bp, sp
|
||||
|
|
30
th05_op.asm
30
th05_op.asm
|
@ -160,35 +160,7 @@ loc_6CF:
|
|||
retf 4
|
||||
sub_682 endp
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
nop
|
||||
push bp
|
||||
mov bp, sp
|
||||
push si
|
||||
push di
|
||||
mov di, [bp+0Ah]
|
||||
mov si, [bp+8]
|
||||
cmp si, 0
|
||||
jle short loc_6FB
|
||||
|
||||
loc_6E6:
|
||||
push word ptr [bp+6]
|
||||
call bgetc
|
||||
inc ah
|
||||
jz short loc_6FB
|
||||
mov es, word ptr [bp+0Ch]
|
||||
mov es:[di], al
|
||||
inc di
|
||||
dec si
|
||||
jnz short loc_6E6
|
||||
|
||||
loc_6FB:
|
||||
mov ax, di
|
||||
sub ax, [bp+0Ah]
|
||||
pop di
|
||||
pop si
|
||||
pop bp
|
||||
retf 8
|
||||
include libs/master.lib/bread.asm
|
||||
; ---------------------------------------------------------------------------
|
||||
push bp
|
||||
mov bp, sp
|
||||
|
|
Loading…
Reference in New Issue