VMS Help MACRO, VAX MACRO Assembler, Instructions, SUBPx *Conan The Librarian (sorry for the slow response - running on an old VAX) |
Purpose: Subtract one packed decimal string from a second Format: opcode sublen.rw,subaddr.ab, diflen.rw,difaddr.ab ;4 operand opcode sublen.rw,subaddr.ab,minlen.rw, minaddr.ab,diflen.rw,difaddr.ab ;6 operand Operation: {dif string} = {dif string} - {sub string} ;4 operand {dif string} = {min string} - {sub string} ;6 operand C. Codes: N = {{dif string} LSS 0}, V = {decimal overflow}, Z = {{dif string} EQL 0}, C = 0 Exceptions: Reserved operand, decimal overflow Opcode: 25 SUBP4 Subtract packed 4 operand 23 SUBP6 Subtract packed 6 operand Description: sub as specified by subaddr and sublen is subtracted from dif as specified by difaddr and diflen (in 4 operand form) or min as specified by minaddr and minlen (in 6 operand form) and the result is placed in dif. Notes: After execution of SUBP4: R0 = 0 R1 = address of the byte containing the most-significant digit of the subtrahend string R2 = 0 R3 = address of the byte containing the most-significant digit of the difference string After execution of SUBP6: R0 = 0 R1 = address of the byte containing the most-significant digit of the subtrahend string R2 = 0 R3 = address of the byte containing the most-significant digit of the minuend string R4 = 0 R5 = address of the byte containing the most-significant digit of the difference string
|