From 98cab31fc3659e33aef260efca55bf9f1753164c Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 11 Feb 2019 11:49:19 +0100 Subject: Add source files from Michael --- system/shard-x86-at/7/src/DEVICE.ASM | 92 ++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 system/shard-x86-at/7/src/DEVICE.ASM (limited to 'system/shard-x86-at/7/src/DEVICE.ASM') diff --git a/system/shard-x86-at/7/src/DEVICE.ASM b/system/shard-x86-at/7/src/DEVICE.ASM new file mode 100644 index 0000000..0800a67 --- /dev/null +++ b/system/shard-x86-at/7/src/DEVICE.ASM @@ -0,0 +1,92 @@ +;*************************************************************************** +;*======= Copyright (C) 1985,86 Martin Schoenbeck, Spenge =================* +;* * +;* Macros zur Definition von devicetypecontrolblocks und * +;* bestimmten channelcontrolblock Eintraegen * +;* * +;*************************************************************************** + .xlist + +actualdevice = 0 + +device macro type + if1 + ifdef type + .printx * device type doppelt definiert * + endif + endif +actualdevice = actualdevice+1 +type = actualdevice + + endm + +routine macro code,execut + db code + dw offset execut + endm + +dtcbroutines macro type + ifidn , + buildlabel blockin_,%actualdevice + else + ifidn , + buildlabel blockout_,%actualdevice + else + ifidn , + buildlabel iocontrol_,%actualdevice + else + ifidn , + buildlabel control32_,%actualdevice + else + .printx * unbekannter routinentyp: '&type' in dctbroutine * + endif + endif + endif + endif + endm + +dtcbparams macro output,typ + buildlabel paramstart_,%actualdevice + dw offset output + dbbp blockin_,%actualdevice + dbbp blockout_,%actualdevice + dbbp iocontrol_,%actualdevice + dbbp control32_,%actualdevice +dtcbentry devtype + db typ + endm + +dtcbentry macro entry + xequat entry,%actualdevice + endm + +dwb macro first,second + dw offset first&second + endm + +dbbp macro first,second + db first&second-paramstart_&second + endm + +xequat macro entry,dev +entry = $-paramstart_&dev + endm + +buildlabel macro first,second +first&second: + endm + +startccb macro name,kanal +name: +actccb = $ +ccbentry channel_no + db kanal + endm + +ccbentry macro entry +entry = $-actccb + endm + + .list + + \ No newline at end of file -- cgit v1.2.3