mirror of https://github.com/nmlgc/ReC98.git
[Reduction] #119: mem_assign_dos
Containing, again, fixes for misreferences in TH04.
This commit is contained in:
parent
fc0ccd5e2b
commit
969990a819
|
@ -0,0 +1,41 @@
|
|||
; master library - MS-DOS
|
||||
;
|
||||
; Description:
|
||||
; 指定サイズのDOSのメモリを確保し、メモリマネージャへ割り当てる
|
||||
;
|
||||
; Functions/Procedures:
|
||||
; int mem_assign_dos( unsigned parasize ) ;
|
||||
;
|
||||
; Noters:
|
||||
; レジスタは AXのみ破壊します。
|
||||
;
|
||||
; Author:
|
||||
; 恋塚昭彦
|
||||
;
|
||||
; Revision History:
|
||||
; 93/ 3/23 Initial (0.14)
|
||||
; 93/ 3/23 bugfix (0.15)
|
||||
|
||||
; int mem_assign_dos( unsigned parasize ) ;
|
||||
; 破壊: AXのみ
|
||||
; メモリ不足なら cy=1
|
||||
func MEM_ASSIGN_DOS
|
||||
push BX
|
||||
mov BX,SP
|
||||
; 引数
|
||||
parasize = (RETSIZE+1)*2
|
||||
|
||||
mov BX,SS:[BX+parasize]
|
||||
mov AH,48h ; 確保する
|
||||
int 21h
|
||||
jc short @@NOMEM
|
||||
push AX
|
||||
push BX
|
||||
call MEM_ASSIGN
|
||||
xor AX,AX
|
||||
mov mem_MyOwn,1
|
||||
@@NOMEM:
|
||||
neg AX
|
||||
pop BX
|
||||
ret 2
|
||||
endfunc
|
|
@ -5614,30 +5614,7 @@ loc_2908:
|
|||
retf 4
|
||||
sub_28DC endp
|
||||
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
||||
|
||||
sub_2910 proc far
|
||||
push bx
|
||||
mov bx, sp
|
||||
mov bx, ss:[bx+6]
|
||||
mov ah, 48h
|
||||
int 21h ; DOS - 2+ - ALLOCATE MEMORY
|
||||
; BX = number of 16-byte paragraphs desired
|
||||
jb short loc_292B
|
||||
push ax
|
||||
push bx
|
||||
call mem_assign
|
||||
xor ax, ax
|
||||
mov mem_MyOwn, 1
|
||||
|
||||
loc_292B:
|
||||
neg ax
|
||||
pop bx
|
||||
retf 2
|
||||
sub_2910 endp
|
||||
|
||||
include libs/master.lib/mem_assign_dos.asm
|
||||
include libs/master.lib/mem_assign.asm
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
@ -31203,7 +31180,7 @@ sub_F913 proc far
|
|||
push bp
|
||||
mov bp, sp
|
||||
push 4650h
|
||||
call sub_2910
|
||||
call mem_assign_dos
|
||||
or ax, ax
|
||||
jz short loc_F927
|
||||
mov ax, 1
|
||||
|
|
|
@ -4980,30 +4980,7 @@ loc_2506:
|
|||
retf 4
|
||||
sub_24DA endp
|
||||
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
||||
|
||||
sub_250E proc far
|
||||
push bx
|
||||
mov bx, sp
|
||||
mov bx, ss:[bx+6]
|
||||
mov ah, 48h
|
||||
int 21h ; DOS - 2+ - ALLOCATE MEMORY
|
||||
; BX = number of 16-byte paragraphs desired
|
||||
jb short loc_2529
|
||||
push ax
|
||||
push bx
|
||||
call mem_assign
|
||||
xor ax, ax
|
||||
mov mem_MyOwn, 1
|
||||
|
||||
loc_2529:
|
||||
neg ax
|
||||
pop bx
|
||||
retf 2
|
||||
sub_250E endp
|
||||
|
||||
include libs/master.lib/mem_assign_dos.asm
|
||||
include libs/master.lib/mem_assign.asm
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
@ -22021,7 +21998,7 @@ sub_B756 proc far
|
|||
push bp
|
||||
mov bp, sp
|
||||
push 4650h
|
||||
call sub_250E
|
||||
call mem_assign_dos
|
||||
or ax, ax
|
||||
jz short loc_B76A
|
||||
mov ax, 1
|
||||
|
|
27
th02_op.asm
27
th02_op.asm
|
@ -4917,30 +4917,7 @@ loc_271E:
|
|||
retf 4
|
||||
sub_26F2 endp
|
||||
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
||||
|
||||
sub_2726 proc far
|
||||
push bx
|
||||
mov bx, sp
|
||||
mov bx, ss:[bx+6]
|
||||
mov ah, 48h
|
||||
int 21h ; DOS - 2+ - ALLOCATE MEMORY
|
||||
; BX = number of 16-byte paragraphs desired
|
||||
jb short loc_2741
|
||||
push ax
|
||||
push bx
|
||||
call mem_assign
|
||||
xor ax, ax
|
||||
mov mem_MyOwn, 1
|
||||
|
||||
loc_2741:
|
||||
neg ax
|
||||
pop bx
|
||||
retf 2
|
||||
sub_2726 endp
|
||||
|
||||
include libs/master.lib/mem_assign_dos.asm
|
||||
include libs/master.lib/mem_assign.asm
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
@ -20656,7 +20633,7 @@ sub_AFB0 proc far
|
|||
push bp
|
||||
mov bp, sp
|
||||
push 3E80h
|
||||
call sub_2726
|
||||
call mem_assign_dos
|
||||
or ax, ax
|
||||
jz short loc_AFC4
|
||||
mov ax, 1
|
||||
|
|
|
@ -4904,30 +4904,7 @@ loc_2244:
|
|||
retf 4
|
||||
sub_2218 endp
|
||||
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
||||
|
||||
sub_224C proc far
|
||||
push bx
|
||||
mov bx, sp
|
||||
mov bx, ss:[bx+6]
|
||||
mov ah, 48h
|
||||
int 21h ; DOS - 2+ - ALLOCATE MEMORY
|
||||
; BX = number of 16-byte paragraphs desired
|
||||
jb short loc_2267
|
||||
push ax
|
||||
push bx
|
||||
call mem_assign
|
||||
xor ax, ax
|
||||
mov mem_MyOwn, 1
|
||||
|
||||
loc_2267:
|
||||
neg ax
|
||||
pop bx
|
||||
retf 2
|
||||
sub_224C endp
|
||||
|
||||
include libs/master.lib/mem_assign_dos.asm
|
||||
include libs/master.lib/mem_assign.asm
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
@ -28406,7 +28383,7 @@ arg_0 = dword ptr 6
|
|||
push bp
|
||||
mov bp, sp
|
||||
push 4650h
|
||||
call sub_224C
|
||||
call mem_assign_dos
|
||||
or ax, ax
|
||||
jz short loc_ECE6
|
||||
mov ax, 1
|
||||
|
|
|
@ -4219,30 +4219,7 @@ loc_2136:
|
|||
retf 4
|
||||
sub_210A endp
|
||||
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
||||
|
||||
sub_213E proc far
|
||||
push bx
|
||||
mov bx, sp
|
||||
mov bx, ss:[bx+6]
|
||||
mov ah, 48h
|
||||
int 21h ; DOS - 2+ - ALLOCATE MEMORY
|
||||
; BX = number of 16-byte paragraphs desired
|
||||
jb short loc_2159
|
||||
push ax
|
||||
push bx
|
||||
call mem_assign
|
||||
xor ax, ax
|
||||
mov mem_MyOwn, 1
|
||||
|
||||
loc_2159:
|
||||
neg ax
|
||||
pop bx
|
||||
retf 2
|
||||
sub_213E endp
|
||||
|
||||
include libs/master.lib/mem_assign_dos.asm
|
||||
include libs/master.lib/mem_assign.asm
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
@ -24650,7 +24627,7 @@ arg_0 = dword ptr 6
|
|||
push bp
|
||||
mov bp, sp
|
||||
push 4650h
|
||||
call sub_213E
|
||||
call mem_assign_dos
|
||||
or ax, ax
|
||||
jz short loc_CEF6
|
||||
mov ax, 1
|
||||
|
|
27
th03_op.asm
27
th03_op.asm
|
@ -4663,30 +4663,7 @@ loc_2452:
|
|||
retf 4
|
||||
sub_2426 endp
|
||||
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
||||
|
||||
sub_245A proc far
|
||||
push bx
|
||||
mov bx, sp
|
||||
mov bx, ss:[bx+6]
|
||||
mov ah, 48h
|
||||
int 21h ; DOS - 2+ - ALLOCATE MEMORY
|
||||
; BX = number of 16-byte paragraphs desired
|
||||
jb short loc_2475
|
||||
push ax
|
||||
push bx
|
||||
call mem_assign
|
||||
xor ax, ax
|
||||
mov mem_MyOwn, 1
|
||||
|
||||
loc_2475:
|
||||
neg ax
|
||||
pop bx
|
||||
retf 2
|
||||
sub_245A endp
|
||||
|
||||
include libs/master.lib/mem_assign_dos.asm
|
||||
include libs/master.lib/mem_assign.asm
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
@ -23725,7 +23702,7 @@ arg_0 = dword ptr 6
|
|||
push bp
|
||||
mov bp, sp
|
||||
push 55F0h
|
||||
call sub_245A
|
||||
call mem_assign_dos
|
||||
or ax, ax
|
||||
jz short loc_C435
|
||||
mov ax, 1
|
||||
|
|
|
@ -4833,32 +4833,7 @@ loc_24EC:
|
|||
retf 2
|
||||
sub_24C8 endp
|
||||
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
||||
|
||||
sub_2508 proc far
|
||||
push bx
|
||||
mov bx, sp
|
||||
mov bx, ss:[bx+6]
|
||||
mov ah, 48h
|
||||
int 21h ; DOS - 2+ - ALLOCATE MEMORY
|
||||
; BX = number of 16-byte paragraphs desired
|
||||
jb short loc_2523
|
||||
push ax
|
||||
push bx
|
||||
call mem_assign
|
||||
xor ax, ax
|
||||
|
||||
loc_251D:
|
||||
mov mem_MyOwn, 1
|
||||
|
||||
loc_2523:
|
||||
neg ax
|
||||
pop bx
|
||||
retf 2
|
||||
sub_2508 endp
|
||||
|
||||
include libs/master.lib/mem_assign_dos.asm
|
||||
include libs/master.lib/mem_assign.asm
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
@ -36997,7 +36972,7 @@ var_2 = word ptr -2
|
|||
cmp bx, 0Ch
|
||||
ja short loc_12492
|
||||
add bx, bx
|
||||
jmp word ptr cs:(loc_289F - locret_AAF0)[bx]
|
||||
jmp word ptr cs:table_1289F[bx]
|
||||
|
||||
loc_12484:
|
||||
mov word_2CF2C, 7937h
|
||||
|
@ -37074,7 +37049,9 @@ loc_12508:
|
|||
cmp bx, 10h
|
||||
ja loc_127EC
|
||||
add bx, bx
|
||||
jmp word ptr cs:(loc_287D - locret_AAF0)[bx]
|
||||
jmp word ptr cs:table_1287D[bx]
|
||||
|
||||
loc_12522:
|
||||
cmp byte_26719, 2
|
||||
jbe short loc_12567
|
||||
inc byte_2CDD1
|
||||
|
@ -37481,36 +37458,36 @@ sub_12461 endp ; sp-analysis failed
|
|||
|
||||
; ---------------------------------------------------------------------------
|
||||
db 0
|
||||
dw offset loc_251D+5 - offset locret_AAF0
|
||||
dw offset loc_251D+5 - offset locret_AAF0
|
||||
dw offset loc_251D+5 - offset locret_AAF0
|
||||
dw offset loc_251D+5 - offset locret_AAF0
|
||||
dw offset loc_25A4+1 - offset locret_AAF0
|
||||
dw offset loc_25A4+1 - offset locret_AAF0
|
||||
dw offset locret_2609+2 - offset locret_AAF0
|
||||
dw offset locret_2609+2 - offset locret_AAF0
|
||||
dw offset loc_2690+1 - offset locret_AAF0
|
||||
dw offset loc_2690+1 - offset locret_AAF0
|
||||
dw offset locret_2609+2 - offset locret_AAF0
|
||||
dw offset locret_2609+2 - offset locret_AAF0
|
||||
dw offset loc_2690+1 - offset locret_AAF0
|
||||
dw offset loc_2690+1 - offset locret_AAF0
|
||||
dw offset locret_2721+1 - offset locret_AAF0
|
||||
dw offset locret_2721+1 - offset locret_AAF0
|
||||
dw offset loc_27B4+3 - offset locret_AAF0
|
||||
dw offset loc_2481+3 - offset locret_AAF0
|
||||
dw offset loc_2490+2 - offset locret_AAF0
|
||||
dw offset loc_2490+2 - offset locret_AAF0
|
||||
dw offset loc_2490+2 - offset locret_AAF0
|
||||
dw offset loc_2490+2 - offset locret_AAF0
|
||||
dw offset loc_2490+2 - offset locret_AAF0
|
||||
dw offset loc_248C - offset locret_AAF0
|
||||
dw offset loc_2490+2 - offset locret_AAF0
|
||||
dw offset loc_2481+3 - offset locret_AAF0
|
||||
dw offset loc_2490+2 - offset locret_AAF0
|
||||
dw offset loc_248C - offset locret_AAF0
|
||||
dw offset loc_2490+2 - offset locret_AAF0
|
||||
dw offset loc_2481+3 - offset locret_AAF0
|
||||
table_1287D dw loc_12522
|
||||
dw loc_12522
|
||||
dw loc_12522
|
||||
dw loc_12522
|
||||
dw loc_125A5
|
||||
dw loc_125A5
|
||||
dw loc_1260B
|
||||
dw loc_1260B
|
||||
dw loc_12691
|
||||
dw loc_12691
|
||||
dw loc_1260B
|
||||
dw loc_1260B
|
||||
dw loc_12691
|
||||
dw loc_12691
|
||||
dw loc_12722
|
||||
dw loc_12722
|
||||
dw loc_127B7
|
||||
table_1289F dw loc_12484
|
||||
dw loc_12492
|
||||
dw loc_12492
|
||||
dw loc_12492
|
||||
dw loc_12492
|
||||
dw loc_12492
|
||||
dw loc_1248C
|
||||
dw loc_12492
|
||||
dw loc_12484
|
||||
dw loc_12492
|
||||
dw loc_1248C
|
||||
dw loc_12492
|
||||
dw loc_12484
|
||||
; ---------------------------------------------------------------------------
|
||||
enter 2, 0
|
||||
push si
|
||||
|
@ -39478,7 +39455,7 @@ arg_0 = dword ptr 6
|
|||
push bp
|
||||
mov bp, sp
|
||||
push word_24CB2
|
||||
call sub_2508
|
||||
call mem_assign_dos
|
||||
or ax, ax
|
||||
jz short loc_1367D
|
||||
mov ax, 1
|
||||
|
|
|
@ -4088,30 +4088,7 @@ loc_22D8:
|
|||
retf 4
|
||||
sub_22AC endp
|
||||
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
||||
|
||||
sub_22E0 proc far
|
||||
push bx
|
||||
mov bx, sp
|
||||
mov bx, ss:[bx+6]
|
||||
mov ah, 48h
|
||||
int 21h ; DOS - 2+ - ALLOCATE MEMORY
|
||||
; BX = number of 16-byte paragraphs desired
|
||||
jb short loc_22FB
|
||||
push ax
|
||||
push bx
|
||||
call mem_assign
|
||||
xor ax, ax
|
||||
mov mem_MyOwn, 1
|
||||
|
||||
loc_22FB:
|
||||
neg ax
|
||||
pop bx
|
||||
retf 2
|
||||
sub_22E0 endp
|
||||
|
||||
include libs/master.lib/mem_assign_dos.asm
|
||||
include libs/master.lib/mem_assign.asm
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
@ -25301,7 +25278,7 @@ arg_0 = dword ptr 6
|
|||
push bp
|
||||
mov bp, sp
|
||||
push word_10070
|
||||
call sub_22E0
|
||||
call mem_assign_dos
|
||||
or ax, ax
|
||||
jz short loc_D453
|
||||
mov ax, 1
|
||||
|
|
27
th04_op.asm
27
th04_op.asm
|
@ -4590,30 +4590,7 @@ loc_26DA:
|
|||
retf 4
|
||||
sub_26AE endp
|
||||
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
||||
|
||||
sub_26E2 proc far
|
||||
push bx
|
||||
mov bx, sp
|
||||
mov bx, ss:[bx+6]
|
||||
mov ah, 48h
|
||||
int 21h ; DOS - 2+ - ALLOCATE MEMORY
|
||||
; BX = number of 16-byte paragraphs desired
|
||||
jb short loc_26FD
|
||||
push ax
|
||||
push bx
|
||||
call mem_assign
|
||||
xor ax, ax
|
||||
mov mem_MyOwn, 1
|
||||
|
||||
loc_26FD:
|
||||
neg ax
|
||||
pop bx
|
||||
retf 2
|
||||
sub_26E2 endp
|
||||
|
||||
include libs/master.lib/mem_assign_dos.asm
|
||||
include libs/master.lib/mem_assign.asm
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
@ -26888,7 +26865,7 @@ arg_0 = dword ptr 6
|
|||
push bp
|
||||
mov bp, sp
|
||||
push word_11A4E
|
||||
call sub_26E2
|
||||
call mem_assign_dos
|
||||
or ax, ax
|
||||
jz short loc_E109
|
||||
mov ax, 1
|
||||
|
|
|
@ -5052,30 +5052,7 @@ loc_278E:
|
|||
retf 2
|
||||
sub_276A endp
|
||||
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
||||
|
||||
sub_27AA proc far
|
||||
push bx
|
||||
mov bx, sp
|
||||
mov bx, ss:[bx+6]
|
||||
mov ah, 48h
|
||||
int 21h ; DOS - 2+ - ALLOCATE MEMORY
|
||||
; BX = number of 16-byte paragraphs desired
|
||||
jb short loc_27C5
|
||||
push ax
|
||||
push bx
|
||||
call mem_assign
|
||||
xor ax, ax
|
||||
mov mem_MyOwn, 1
|
||||
|
||||
loc_27C5:
|
||||
neg ax
|
||||
pop bx
|
||||
retf 2
|
||||
sub_27AA endp
|
||||
|
||||
include libs/master.lib/mem_assign_dos.asm
|
||||
include libs/master.lib/mem_assign.asm
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
@ -40434,7 +40411,7 @@ arg_0 = dword ptr 6
|
|||
push bp
|
||||
mov bp, sp
|
||||
push word_21216
|
||||
call sub_27AA
|
||||
call mem_assign_dos
|
||||
or ax, ax
|
||||
jz short loc_14F9D
|
||||
mov ax, 1
|
||||
|
|
|
@ -4418,30 +4418,7 @@ loc_24E8:
|
|||
retf 4
|
||||
sub_24BC endp
|
||||
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
||||
|
||||
sub_24F0 proc far
|
||||
push bx
|
||||
mov bx, sp
|
||||
mov bx, ss:[bx+6]
|
||||
mov ah, 48h
|
||||
int 21h ; DOS - 2+ - ALLOCATE MEMORY
|
||||
; BX = number of 16-byte paragraphs desired
|
||||
jb short loc_250B
|
||||
push ax
|
||||
push bx
|
||||
call mem_assign
|
||||
xor ax, ax
|
||||
mov mem_MyOwn, 1
|
||||
|
||||
loc_250B:
|
||||
neg ax
|
||||
pop bx
|
||||
retf 2
|
||||
sub_24F0 endp
|
||||
|
||||
include libs/master.lib/mem_assign_dos.asm
|
||||
include libs/master.lib/mem_assign.asm
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
@ -29149,7 +29126,7 @@ arg_0 = dword ptr 6
|
|||
push bp
|
||||
mov bp, sp
|
||||
push word_107CA
|
||||
call sub_24F0
|
||||
call mem_assign_dos
|
||||
or ax, ax
|
||||
jz short loc_F0CB
|
||||
mov ax, 1
|
||||
|
|
27
th05_op.asm
27
th05_op.asm
|
@ -3937,30 +3937,7 @@ loc_22AA:
|
|||
retf 4
|
||||
sub_227E endp
|
||||
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
||||
|
||||
sub_22B2 proc far
|
||||
push bx
|
||||
mov bx, sp
|
||||
mov bx, ss:[bx+6]
|
||||
mov ah, 48h
|
||||
int 21h ; DOS - 2+ - ALLOCATE MEMORY
|
||||
; BX = number of 16-byte paragraphs desired
|
||||
jb short loc_22CD
|
||||
push ax
|
||||
push bx
|
||||
call mem_assign
|
||||
xor ax, ax
|
||||
mov mem_MyOwn, 1
|
||||
|
||||
loc_22CD:
|
||||
neg ax
|
||||
pop bx
|
||||
retf 2
|
||||
sub_22B2 endp
|
||||
|
||||
include libs/master.lib/mem_assign_dos.asm
|
||||
include libs/master.lib/mem_assign.asm
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
@ -26827,7 +26804,7 @@ arg_0 = dword ptr 6
|
|||
push bp
|
||||
mov bp, sp
|
||||
push word_F9CC
|
||||
call sub_22B2
|
||||
call mem_assign_dos
|
||||
or ax, ax
|
||||
jz short loc_DF27
|
||||
mov ax, 1
|
||||
|
|
Loading…
Reference in New Issue