VMS Help MACRO, VAX MACRO Assembler, Instructions, MOVTC *Conan The Librarian (sorry for the slow response - running on an old VAX) |
Purpose: to move and translate a character string Format: opcode srclen.rw,srcaddr.ab,fill.rb,tbladdr.ab, dstlen.rw,dstaddr.ab C. Codes: N = {srclen LSS dstlen}, Z = {srclen EQL dstlen}, V = 0, C = {srclen LSSU dstlen} Exceptions: None Opcode: 2E MOVTC Move translated characters Description: The source operand string specified by srclen and srcaddr is translated and replaces the destination string as specified by dstlen and dstaddr. Translation is done by using each byte of src as an index into tbl (a 256 byte array). The selected byte is placed in dst. If the dst is longer than src, dst is filled using fill. If dst is shorter than src, the highest bytes of src are not moved. dst and src may overlap with no ill effects -- but if dst overlaps tbl the result is unpredictable. Notes: After execution: R0 = number of untranslated bytes remaining in the source string; R0 is nonzero only if source string is longer than destination string R1 = address of one byte beyond the last byte in source string that was translated R2 = 0 R3 = address of the translation table R4 = 0 R5 = address of one byte beyond the destination string
|