[Reduction] #119: mem_assign_dos

Containing, again, fixes for misreferences in TH04.
This commit is contained in:
nmlgc 2014-08-21 23:30:20 +02:00
parent fc0ccd5e2b
commit 969990a819
13 changed files with 99 additions and 334 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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