
		     CP/M program EXEcutor V0.8
			      cpm.exe
		Copyright (C) 1989-2012 k.murakami


OD͂߂

@cpm.exe  MS-DOS œ삷 HD64180/Z80 + CP/M-80 2.2 ̃G~[^łB

@1989NAłɏł CP/M G~[^{[hȂ CP/M p
Jc[ PC-9801 Ŏgp邽߂ɍ쐬̂n܂łB̓ 10Hz
 80286 ł\pIȑxœĂ܂As PC Ȃ{ Z80 Ȃ
yɍ CP/M ܂B

@ȉ̓Ă܂B

@@1) MS-DOS ėp
@@2) DOS ̃R}hC CP/M ̃vO𒼐ڎs
@@3) xccp ɂ CP/M ɓđ\
@@4) V30  8080 G~[V[hgp\
@@5)  PC Ȃ@yɍ

@ V0.7 ȍ~ł͈ȉ̕ύXĂ܂B

@@1) HI-TECH C Ή

	EZ80 `߃oNC
	E BDOS R[sp
	Egq ".COM" ̏ꍇo[W 122hiMP/M) Ɛ\

@@2) MBASIC Ή

	EBIOS Gg[ JP ߂ׂ悤ɕύX

@@2) V30 ̌o@P

	EAAD 0 gp
	E8086  V30 ƌFȂȂi͂jB

@@3) x 486 ȍ~ CPU pɃ`[jO

	EEWX^Ԃ xchg ߂r
	Eꕔ lods ߂𕪉
	E20`60 x

@@4) K A: hCuANZXvOւ̑΍

	EA: hCu[ouȂAANZX C: ɂւ

@@5) ̑

	Egq ".COM" ̃t@Cs\ɂ
	EԂC EXEcuter -> EXEcutorij


PDs

@MS-DOS V3.1 ȏ܂͂̌݊

@ 8086/8, 80186, V30 ł삵܂Ał 80286 ȏ̎gp
܂B܂ V30 ̏ꍇɂ 8080 G~[V[hgpł܂B

@т͈ȉ̂Ƃ

@@a) MS-DOS on PC-9801VX
@@c) DR-DOS on NX91e[Vdb[
@@b) PC-DOS/V on AT ݊@
@@d) OS/2 DOS  on AT ݊@
@@e) Windows 3.1 DOS  on AT ݊@
@@f) Windows 95,98 DOS  on AT ݊@
@@g) Windows NT,2k,XP R}hvvg on AT ݊@
@@h) Linux DOS Emu on AT ݊@


QDg

@܂ACP/M vO MS-DOS ɎĂ܂B̂ƂAgq ".com"  
".cpm" ɂĂ΁ADOS ̎st@CƌF邱ƂȂȂ܂B
@CP/M ̃vOsɂ́A CP/M ̃vOƂA
̌ CP/M ̃vOɗ^p[^܂B

	cpm vO p[^...

@܂ACP/M ̃R}hC̑O "cpm" t悤ȂɂȂ܂B
Ⴆ΁AJgfBNgɂ zsid.cpm g test.com fobO
́A̗lɂ܂B

	cpm zsid test.com

@܂ÃfBNgɂ CP/M vOs邱Ƃł܂B

	cpm b:\cpm\turbo

@ł́A

	cpm

̂悤ɉw肵ȂǂȂ邩ƂƁA^CgƊȒPȎg\
܂B

@Ȃ CPU  V30 ȂA8080 ̖߂gĂȂƂ炩ȃv
O̊gq.cpv ɂĂ݂ĉB V30  8080 G~[V[h
gp邱Ƃɂ葬xS`W{ɂȂ܂Bgq .cpv łĂACPU 
 80186 ȏ̏ꍇ̓\tgEGAEV~[^gp܂B

@CP/M vO̊gqƂĂ͈ȉ̂̂gpł܂B

	.cpm	ʏ CP/M vO
	.cpv	\Ȃ V30 8080 G~[V[hgp
	.com	o[W擾iBDOS No12j 122hiMP/Mjƕԓ

@.com gq́A HI-TECH C ΍Ƃ V0.7 Œǉ܂B

@HI-TECH C ̕W^CCu̓o[W擾AMP/M ܂
 CCP/M łȂȂAǂݏoI[vꂽ FCB N[Y܂B̂ FCB
QAWinNT,2K,XP Ȃǂł͈xǂݏoI[vꂽt@C㏑
łȂȂ܂Bî HI-TECH C ̃RpChCo͓rŎ~܂Ă
܂܂Bǰۂ邽߂ɁAgq .com ̏ꍇ MP/M łƉR
悤ɂ܂BiMP/M ̃t@NVT|[gĂ킯ł͂܂j

@HI-TECH C RpCg HI-TECH C ŃRpCꂽvO͊gq
 .com ̂܂܂ɂĂĂBłȂĂ .com ̂܂܂ɂق
֗ȂƂ܂BAԈႦ MS-DOS ŎsĂ܂
Ȃ悤ɋCĂB

@قƂǂ̃vO .com ̂܂܂œ삷Ǝv܂A삵ȂA
 BDOS R[𔭍sČ듮삷悤łAgq .cpm ɂĂ
B


RDguV[eBO

@ECP/M vOŃt@CI[vłȂ

	CP/M vOsɁuFCB g܂vȂǂ̃bZ[WłāA
	t@C̃I[vɎsꍇ܂B MS-DOS  FCB
	őlȂƂłBiftHg 4j

	FCB ̍ől CONFIG.SYS  fcbs R}hŎw肵܂BႦ΁A
	fcbs=16 Ƃłw肵ĂĂB16 ́AȂ葽߂łA
	FCB QvOւ̑΍łB

	C𔽉fɂ̓VXe̍ċNKvłB Windows NT, 2000,
	XP ł CONFIG.SYS ̑ %SystemRoot%\System32\config.nt 
	C܂B̏ꍇ͍ċN͕Kv܂BR}hvvg
	IAĂъJ DOS vOsΔf܂B

@EWindows NT,2000,XP ŁAt@C㏑łȂȂ

	NT ñR}hvvgł́ADOS vOُȏI̎d
	ȂǂꍇɁAz DOS }Vt@CŗȂ
	邱Ƃ܂B

	̏ꍇ CTRL-ALT-DEL Ń^XN}l[WN NTVDM.EXE 
	IĂB

@EWindows NT,2000,XP ŁAcpm.exe ⑼ DOS vO̕\łȂȂ

	NT ñR}hvvgł DOS vOɎsĂ
	ɂ炸Aʕ\ȂȂ邱Ƃ܂B

	̏ꍇAx DOS vOœ͑҂ԂɂƉ񕜂悤łB
	Ⴆ cpm xccp Ƃăvvg\ꂽԂ exit ŏI
	݂ĂB


SD HD64180 G~[^ɂ

@{vÓAZ80 ̖߂ɉ HD64180 ̊g߂T|[g
܂B AAHALT SLP i/o߂̓T|[gĂ炸As悤ƂƁA

	uundefined op-code executed xxxxv

ƂbZ[WoďI܂B܂AIM0 IM1 IM2 EI DI ͒PȂ NOP ł
ARETI RETN  RET Ɠ܂B

@Z80  HD64180 ł́AR WX^ OP R[htFb`̓xɑ܂{v
Oł͂܂߂ɂĂ܂BɁALD A,R ߂ R WX^Ƃ
闐𔭐Ă܂BR WX^̏l͋N̎猈߂Ă邽
قȂn̗ɂȂ܂B

@ꂩʏɂ͂ȂȂƎv܂AH tO N tO͎ZpZȊO
̖߂ł͐܂BAAAND ߂͉̂悤ȃvOl̂
ɂ̃tONAĂ܂B

	AND	0FH
	DAA
	ADD	A,F0H
	ADC	A,40H

  V0.6 ́Â悤 Z80 ̗LȖ`߂T|[gĂ܂B

	LD	IXH,r	DD 60 ` DD 67  (01100xxx)
	LD	IXL,r	DD 68 ` DD 6F  (01101xxx)
	LD	IYH,r	FD 60 ` FD 67  (01100xxx)
	LD	IYL,r	FD 68 ` FD 6F  (01101xxx)
	LD	r,IXH	DD 44 ` DD 7C  (01xxx100)
	LD	r,IXL	DD 45 ` DD 7D  (01xxx101)
	LD	r,IYH	FD 44 ` FD 7C  (01xxx100)
	LD	r,IYL	FD 45 ` FD 7D  (01xxx101)
	op	A,IXH	DD 84 ` DD BC  (10xxx100)
	op	A,IXL	DD 85 ` DD BD  (10xxx101)
	op	A,IYH	FD 84 ` FD BC  (10xxx100)
	op	A,IYL	FD 85 ` FD BD  (10xxx101)

	r=  B   C   D   E   A		op= ADD ADC SUB SBC AND XOR OR  CP
	xxx 000 001 010 011 111		xxx 000 001 010 011 100 101 110 111


TDV30  8080 G~[V[hɂ

@8080 G~[V[hł INT xN^ 0F1h 0F2h 0F3h ꂼAv
OX^[gEBDOS R[EBIOS R[̂߂ɎgĂ܂B INT 
xN^łɎgpĂꍇɂ́Acpm.asm ̂Ȃ

	V$START	equ	0f1h

ƂsKɏւčăAZuAʂ INT xN^gp悤ɂ
B

@ȂA8080 G~[V[hgpȂA INT xN^
ݒ肵Ƃ͂܂B

  V0.5 ȍ~ł̓vOIAύX INT xN^ɖ߂܂B



UDBDOS R[ɂ

@BDOS R[́A{Iɂ͑Ή MS-DOS ̃VXeR[sȂĂ
łBꕔ̂̂ɂĂ͖߂l̒sȂĂ܂B

@ȉ BDOS R[ MS-DOS ŃT|[gĂȂ߁Auunsupported BDOS 
call occur. xxvƂbZ[Woĉ܂BHL,A  0 Ŗ߂܂B
݂Ȃ BDOS R[ɂĂlłB

	No.7  IO oCg̎o
	No.8  IO oCg̐ݒ
	No.24 OCxNg̎o
	No.28 fBXN̏ݕی
	No.29 R/O xNg̎o
	No.30 t@C̐ݒ

@܂Aȉ BDOS R[ MS-DOS ŃT|[gĂ܂񂪁AKɂ܂
܂B

	No.12 o[Wԍ̎o
		HL=122h Ԃ܂B݂͑Ȃ MP/M 2.2 ̃R[hłB
		iHITEC-C ΍j

	No.27 AP[VxN^̎o
		_~[̃AP[VxN^̃AhXԂ܂B

	No.31 fBXNp[^ubN̎o
		fBXN̎ceʂ擾A_~[̃fBXNp[^
		ubNƃAP[VxN^łグāAfBXN
		p[^ubÑAhXԂ܂B

	No.32 [U[R[h̎o^ݒ
		̌ʂ܂񂪁Aݒ肵[U[R[ho
		܂B


VDBIOS R[ɂ

@ȉ BIOS R[̂݃T|[gĂ܂B

	00h  R[hX^[g
	03h  u[g
		̓vO𐳏I܂B

	06h  R\[Xe[^X̎o
		IOCTL(4406h)ŕW͂fBǂ𒲂ׂĂ܂B
		break<OFF>̏ԂŎgĂB

	09h  R\[̂P
		_CNgER\[ECvbg(07h)gĂ܂B

	0ch  R\[ւ̂Po
		_CNgER\[EIO (06h)gĂ܂B

	0fh  Xgւ̏o
		v^o(05h)gĂ܂B^C ܂B

	12h  p`ւ̏o
		AUX o(04h)gĂ܂B^C ܂B

	15h  [_̓
		AUX (03h)gĂ܂B^C ܂B


WDăAZu

@AZuɂ OPTASM KvłBMAKEFILE QƂĂB
  IvV /Dundoc ȂŃAZu邱ƂŁAZ80 `߂sȂ
悤ɂł܂B


XDQl

	ufAEG~[^E`bd̍쐬v@䏇F
		vZbT@PXWU@R@RV`SW

	uW@bo^lgȂv@EЋˁER{
		C^[tF[X@PXWQ@PQ@PUQ`QPX

	uHD64180 CXgNV|PbgubNv@쏊

	uHD64180 AvP[V}jAv@쏊

	ulr|cnrR.PvO}[Yt@X}jAv@mdb


PODCP/M vO̓ɂ

@CP/M ̏pvÓAyȐ̂ɔ̔ET|[gł؂ĂA̔X
Vɓ肷邱Ƃ͍łBAȉ̃TCgt[ȃvO
_E[h\ɂȂĂ܂B

	The Unofficial CP/M Web site 
	http://www.cpm.z80.de/
		CP/M {, CBASIC, COBOL-80, e FORTH, MAC, PASCAL MT+,
		PL/I 80, PL/M, ZSID, BDS-C, Modula-2, SMALL C Ȃ

	BDS C: An 8080/Z80 C Compiler
	http://www.bdsoft.com/resources/bdsc.html

	HI-TECH Z80 CP/M C Compiler (version 3.09)
	http://www.retroarchive.org/cpm/cdrom/SIMTEL/HITECH-C/
	i{Ƃł̔zz͏I悤łj


	the Walnut Creek CP/M CD-ROM online
	http://www.retroarchive.org/cpm/cdrom/


PPDXCCP ɂ

@XCCP  O.I.i{l̊]ɂ薼邷jɂč쐬ꂽgR\[
ER}hEvZbTłBCCP ɒuē삵X̋@\t܂B
@xccp.cpm  XCCP ɃR}ht@C̃ftHggq .cpm Ƃpb`
Ă̂łAO.I.̋𓾂 cpm.exe ɃohOĂ܂B

@gp@
		cpm xccp

@@\
	ER\[R}hsǂݍ݃vO[hAs
	ER}hiqjs
	E"!"ŋ؂邱ƂɂĂPsɕ̃R}hLqł@
	ESUBMIT t@C̎s@

@R}h

	d:		JghCuύX
	DIR d:		fBNg̕\
	TYPE file	t@C̕\AChJ[hgp\@
	REN file=file	t@CύX
	ERA file	t@C폜
	SAVE n file	t@C TPA ̓eZ[u
	USER n		User No.ύX@
	CONT		ÕR}hĎs
			ivO[hɎsj 
	LGON file	ʏo͂t@CɋL^Jn@
	LOFF			V		I@
	XSUB		 XSUB.COM@@
	EXIT		XCCP I@

	@FCCP ɑ΂Ċgꂽ@\
	@Fcpm.exe ŎgpłȂ@\

@cpm.exe ݂̌̔łł SUBMIT @\g܂B XCCP  FCB ̓
ւă_ANZXt@CTCY̕ύXĂ邩łB

@ȂA O.I. CP/M ֌W̎ƃvOSďĂ܂ŁA
 XCCP ̃\[XvO͎Ă܂B]āAXCCP ֌W̎Ev]ɂ
ł܂Bo[WAbv邱ƂȂł傤B


PQDzz

@ȉ̏Ŗ{vO̎gpƍĔzz܂B

@E
	{vO͖łBzzɓČoƎ萔ȊOĂ
	Ȃ܂B

@Eۏ
	ҁihij͖{vOɂĂȂۏ؂܂B

@EO҂̎gpƔzzWȂ
	O҂̏Ă邩A̎gpyєzzWĂ͂Ȃ
	܂B

@܂Aȉ̏Ŗ{vȌCƏC̔zz܂B

@EC҂ƏCӏ𖾋L邱ƁB
@EIWiƓ̏Ŕzz邱ƁB


PRDzze

	CPM07.TXT	̃t@C
	CPM.EXE 	st@C
	CPM.ASM 	\[Xt@CiCP/MG~[^j
	EM180.ASM	@@@V@@@iHD64180G~[^j
	MSDOS.MAC	CN[ht@C
	MAKEFILE	maket@C
	XCCP.CPM	gR\[ER}hEvZbT@st@C


PSDӎ

  XCCP ̓YtĂ O.I.Ɋӂ܂B

  ܂oO|[g𑗂Ă΂肩AfobOɂ܂ŋ͂Ă
 pnori ƈɊӂ܂B

@uTatsu's MSXǁvTCgł HI-TECH C ɊւMdȏ𒸂܂B
Tatsu  Ken Hasegawaga Ɋӂ܂B܂AQ˂́ûPCv
uOSƌ΃RłICP/MXvł MBASIC 𓮍삳邽߂̏
܂BXZlɊӂ܂B

@{{[ꎁɂ SP lɊւs񍐂Ac]ɂ H,N tO
ւs񍐂𒸂܂BɊӂ܂B

@ꂩ 1996 NɃoO|[g񂹂Ă炵̂łA
OOĂ܂܂B߂ȂBӂĂ܂B


PTD

@1989/04/22	V0.1	J
@1989/05/03	V0.2	R}hCɊւoOC
@1989/08/19	V0.3	V30  8080 G~[Vł𓝍
			EXE t@C̃TCYk
  1989/12/19	V0.4	8086 gp̕sC
			R WX^̏l𗐐
			t@CT[`̕sC
  1994/09/25	V0.5	CPIR, CPDR, LDIR, LDDR ̃oOC (pnori)
			V tOȂoOC
			pDOSւ̑Ή(bZ[W̉pꉻ)
			V30 8080 G~[V[hgpɃxN^
			悤ύX
  1994/10/23	V0.6	SET,RES (IX,IY) ̃oOC ()
			IX,IY ̏,ʂWrbgWX^ƂĈ Z80 
			`߂ɑΉ
@2004/07/21	V0.7	V30 o@P
			op (IXL,IY,IXL,IX) ̃oOC
			xi486ȍ~j
			A: hCu[ouȂ C: ɂւC
			` BDOS R[ŎspiHI-TECH C ΍j
			gq .COM s\ɂC
			Lɂ BDOS No.12  122hiMP/M2.2jԂ
			BIOS Gg[P iMBASIC ΍j
			\̒ԂԈႢC
@2009/04/16		SP lύX
  2012/05/31	V0.8	H,N tO̓P


PUD҂̘A

				NIFTY-Serve	PEH00316	l
				keiji-mu@nifty.com
							@@hi

