Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!sdd.hp.com!think.com!snorkelwacker.mit.edu!ira.uka.de!smurf!incom!orfeo!hotb!gunnar From: gunnar@hotb.radig.de (Gunnar Zoetl) Newsgroups: comp.sys.acorn Subject: ErrorV Problems Message-ID: <1991Apr4.215956.735@hotb.radig.de> Date: 4 Apr 91 21:59:56 GMT Organization: Home of the brave Lines: 47 I have a little problem with the following code fragment. It adds a little routine to the error-vector, that sets the system variable Sys$ReturnCode to 42 if an error has occurred. If I use it from within the basic environment with *-commands, all works well, but it does not work within the supervisor mode. I suppose that the cli does not use the OS_GenerateError system call, or is there a fault in the code? Here is the relevant part: .add STMFD R13!,{R0-R2,R14} ADR R1,rout MOV R0,#01 MOV R2,#00 SWI "XOS_AddToVector" LDMFD R13!,{R0-R2,PC} .del STMFD R13!,{R0-R2,R14} ADR R1,rout MOV R0,#01 MOV R2,#00 SWI "XOS_Release" LDMFD R13!,{R0-R2,PC} .rout STMFD R13!,{R0-R4,R14} ADR R0,name ADR R1,value MOV R2,#4 MOV R3,#0 MOV R4,#1 SWI "OS_SetVarVal" LDMFD R13!,{R0-R4,PC}^ .name EQUS "Sys$ReturnCode" EQUB 0 ALIGN .value EQUD 42 Any help appreciated. Gunnar