mirror of https://github.com/nmlgc/ReC98.git
56 lines
1.0 KiB
NASM
56 lines
1.0 KiB
NASM
|
; master library - PC98 - MSDOS - EMS
|
|||
|
;
|
|||
|
; Description:
|
|||
|
; EMSメモリと主メモリなどの間でデータを転送する
|
|||
|
;
|
|||
|
; Function/Procedures:
|
|||
|
; int ems_movememoryregion( struct const EMS_move_source_dest * block ) ;
|
|||
|
;
|
|||
|
; Parameters:
|
|||
|
; struct .. * block パラメータブロック
|
|||
|
;
|
|||
|
; Returns:
|
|||
|
; 0 ........... success
|
|||
|
; 80h〜 ....... failure(EMS エラーコード)
|
|||
|
;
|
|||
|
; Binding Target:
|
|||
|
; Microsoft-C / Turbo-C / Turbo Pascal
|
|||
|
;
|
|||
|
; Running Target:
|
|||
|
; PC-9801
|
|||
|
;
|
|||
|
; Requiring Resources:
|
|||
|
; CPU: 8086
|
|||
|
; EMS: LIM EMS 4.0
|
|||
|
;
|
|||
|
; Notes:
|
|||
|
; ・NEC の EMSドライバは、このファンクションによって segment B000hの
|
|||
|
; メモリを VRAMでなく設定してしまいます。
|
|||
|
; 実行後、ems_enablepageframe()によって VRAMに戻して下さい。
|
|||
|
;
|
|||
|
; Compiler/Assembler:
|
|||
|
; TASM 3.0
|
|||
|
; OPTASM 1.6
|
|||
|
;
|
|||
|
; Author:
|
|||
|
; 恋塚昭彦
|
|||
|
;
|
|||
|
; Revision History:
|
|||
|
; 92/11/16 Initial
|
|||
|
|
|||
|
func EMS_MOVEMEMORYREGION
|
|||
|
push SI
|
|||
|
mov SI,SP
|
|||
|
|
|||
|
_push DS
|
|||
|
_lds SI,SS:[SI+(RETSIZE+1)*2]
|
|||
|
mov AX,5700h
|
|||
|
int 67h
|
|||
|
mov AL,AH
|
|||
|
xor AH,AH
|
|||
|
|
|||
|
_pop DS
|
|||
|
pop SI
|
|||
|
ret DATASIZE*2
|
|||
|
endfunc
|