diff options
author | Ben Burwell <ben@benburwell.com> | 2015-04-01 20:26:26 -0400 |
---|---|---|
committer | Ben Burwell <ben@benburwell.com> | 2015-04-01 20:26:26 -0400 |
commit | e282a861d5868868940b449681f2ee5da3e439e8 (patch) | |
tree | dc1fb0b3708d717e6c3695fffc77d5df7a0934a8 /proc4.asm | |
parent | e781fb26fdd422ea72c3a0eeba817e4faa5f663b (diff) |
as of 2013-10-292013-10-29
Diffstat (limited to 'proc4.asm')
-rw-r--r-- | proc4.asm | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/proc4.asm b/proc4.asm new file mode 100644 index 0000000..1043ff9 --- /dev/null +++ b/proc4.asm @@ -0,0 +1,63 @@ +;*************************************************************************
+;
+; MPX-PC Test Process
+; Name: PROC4
+; Description: Test process
+; Module: 4
+;
+;************************************************************************
+
+
+ CON EQU 01H
+ PRT EQU 02H
+ WRITE EQU 01H
+
+ CR EQU 0DH
+ LF EQU 0AH
+
+ STACK SEGMENT STACK
+ DB 32 DUP ('STACK ') ; 256 BYTES
+ STACK ENDS
+
+ DATA SEGMENT
+ MSG1 DB 'Proc4 dispatched. ',CR,LF,'$'
+ BUF DB 243 dup(?)
+ LEN DW 20
+ DATA ENDS
+
+ CODE SEGMENT
+ ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK
+
+ MAIN PROC FAR
+ START: MOV AX,DATA ; SET UP DATA SEGMENT
+ MOV DS,AX
+ MOV ES,AX ; SET UP EXTRA SEGMENT
+
+ ; Set up stack for dummy sys_call
+
+ MOV DX,OFFSET LEN
+ PUSH DX ; LOAD LENGTH PARM
+ MOV DX,OFFSET MSG1
+ PUSH DX ; LOAD MESSAGE ADDRESS
+ MOV DX,WRITE
+ PUSH DX ; LOAD OPERATION TYPE
+ MOV DX,PRT
+ PUSH DX ; LOAD OPERATION NUMBER
+ MOV DX,0AAH
+ PUSH DX ; PUSH EXTRA BYTE TO MAINTAIN
+ MOV DX,0ABH ; COMPATIBILITY WITH C ROUTINES
+ PUSH DX
+
+ LOOP: MOV DX,OFFSET MSG1
+ MOV AH,09H ; PRINT STRING
+ INT 21H
+
+ MOV CX,0 ; RUN ONLY ONCE
+ INT 60H ; INT TO DISP
+ JMP LOOP
+
+ MAIN ENDP
+ CODE ENDS
+ END START
+
+
|