Offset (computer science)
ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನದಲ್ಲಿ, ಒಂದು ಶ್ರೇಣಿಯಲ್ಲಿ ಅಥವಾ ಇತರ ದತ್ತಾಂಶ ರಚನೆಯ ವಸ್ತುವಿನೊಳಗಿನ ಆಫ್ಸೆಟ್ ಎಂದರೆ ವಸ್ತುವಿನ ಆರಂಭ ಮತ್ತು ನಿರ್ದಿಷ್ಟ ಅಂಶ ಅಥವಾ ಬಿಂದುವಿನ ನಡುವಿನ ಅಂತರವನ್ನು (ಸ್ಥಳಾಂತರ) ಸೂಚಿಸುವ ಒಂದು ಪೂರ್ಣಾಂಕವಾಗಿದೆ, ಬಹುಶಃ ಅದೇ ವಸ್ತುವಿನೊಳಗೆ. ವಸ್ತುವಿನ ಎಲ್ಲಾ ಅಂಶಗಳು ಒಂದೇ ಗಾತ್ರದಲ್ಲಿದ್ದರೆ (ಸಾಮಾನ್ಯವಾಗಿ ಬೈಟ್ಗಳು ಅಥವಾ ಪದಗಳಲ್ಲಿ ನೀಡಿದರೆ) ಮಾತ್ರ ಅಂತರದ ಪರಿಕಲ್ಪನೆಯು ಮಾನ್ಯವಾಗಿರುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಎ ಎಂಬುದು "ಎಬಿಸಿಡಿಎಫ್" ಅನ್ನು ಹೊಂದಿರುವ ಅಕ್ಷರಗಳ ಶ್ರೇಣಿಯಾಗಿದ್ದರೆ, 'ಡಿ' ಅಕ್ಷರವನ್ನು ಹೊಂದಿರುವ ನಾಲ್ಕನೇ ಅಂಶವು ಎ ನ ಆರಂಭದಿಂದ ಮೂರು ಅಂಶಗಳ ಆಫ್ಸೆಟ್ ಅನ್ನು ಹೊಂದಿರುತ್ತದೆ. ಕಂಪ್ಯೂಟರ್ ಎಂಜಿನಿಯರಿಂಗ್ ಮತ್ತು ಕೆಳಮಟ್ಟದ ಪ್ರೋಗ್ರಾಮಿಂಗ್ಗಳಲ್ಲಿ (ಅಸೆಂಬ್ಲಿ ಭಾಷೆಯಂತಹವು), ಆಫ್ಸೆಟ್ ಸಾಮಾನ್ಯವಾಗಿ ಒಂದು ನಿರ್ದಿಷ್ಟ ಸಂಪೂರ್ಣ ವಿಳಾಸವನ್ನು ಪಡೆಯಲು ಮೂಲ ವಿಳಾಸಕ್ಕೆ ಸೇರಿಸಲಾದ ವಿಳಾಸ ಸ್ಥಳಗಳ ಸಂಖ್ಯೆಯನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಆಫ್ಸೆಟ್ನ ಈ (ಮೂಲ) ಅರ್ಥದಲ್ಲಿ, ಆಫ್ಸೆಟ್ನ ಗಾತ್ರವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲು ಮೂಲ ವಿಳಾಸ ಘಟಕವನ್ನು, ಸಾಮಾನ್ಯವಾಗಿ 8-ಬಿಟ್ ಬೈಟ್ ಅನ್ನು ಮಾತ್ರ ಬಳಸಲಾಗುತ್ತದೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ ಆಫ್ಸೆಟ್ ಅನ್ನು ಕೆಲವೊಮ್ಮೆ ಸಾಪೇಕ್ಷ ವಿಳಾಸ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಐಬಿಎಂ ಸಿಸ್ಟಮ್/360 ಸೂಚನೆಗಳಲ್ಲಿ, ಕೆಲವು ಸೂಚನೆಗಳೊಳಗೆ ಹುದುಗಿರುವ 12-ಬಿಟ್ ಆಫ್ಸೆಟ್ 0 ಮತ್ತು 4096 ಬೈಟ್ಗಳ ವ್ಯಾಪ್ತಿಯನ್ನು ಒದಗಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಒಂದು ಬೇಷರತ್ತಾದ ಶಾಖೆಯ ಸೂಚನೆಯೊಳಗೆ (X '47F0FXX'), XXX 12-ಬಿಟ್ ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಆಫ್ಸೆಟ್ ಬೈಟ್ ಆಫ್ಸೆಟ್ ಅನ್ನು ಬೇಸ್ ರಿಜಿಸ್ಟರ್ (15) ನಿಂದ ಶಾಖೆಗೆ ಒದಗಿಸುತ್ತದೆ. ಬೆಸ ಆಫ್ಸೆಟ್ ಪ್ರೋಗ್ರಾಂ ಚೆಕ್ಗೆ ಕಾರಣವಾಗುತ್ತದೆ (ಬೇಸ್ ರಿಜಿಸ್ಟರ್ ಸ್ವತಃ ಬೆಸ ವಿಳಾಸವನ್ನು ಹೊಂದಿಲ್ಲದಿದ್ದರೆ)-ಏಕೆಂದರೆ ಪ್ರೋಗ್ರಾಂ ಅಥವಾ ಹಾರ್ಡ್ವೇರ್ ಅಡಚಣೆಯಿಲ್ಲದೆ ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸೂಚನೆಗಳನ್ನು ಅರ್ಧ-ಪದದ ಗಡಿಗಳಲ್ಲಿ ಜೋಡಿಸಬೇಕಾಗಿತ್ತು. ಹಿಂದಿನ ಉದಾಹರಣೆಯು ವಿಭಾಗದ ಸ್ವರೂಪದಲ್ಲಿ ಮೆಮೊರಿ ಸ್ಥಳಕ್ಕೆ ವಿಳಾಸ ಮಾಡುವ ಪರೋಕ್ಷ ಮಾರ್ಗವನ್ನು ವಿವರಿಸುತ್ತದೆಃ ಆಫ್ಸೆಟ್. ಉದಾಹರಣೆಗೆ, ನಾವು ಮೆಮೊರಿ ಸ್ಥಳ 0xF867 ಅನ್ನು ಉಲ್ಲೇಖಿಸಲು ಬಯಸುತ್ತೇವೆ ಎಂದು ಭಾವಿಸಿ. ಇದನ್ನು ಸಾಧಿಸುವ ಒಂದು ಮಾರ್ಗವೆಂದರೆ ಮೊದಲು 0xF000 ಎಂಬ ಆರಂಭಿಕ ವಿಳಾಸದೊಂದಿಗೆ ವಿಭಾಗವನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುವುದು ಮತ್ತು ನಂತರ 0x0867 ರ ಆಫ್ಸೆಟ್ ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುವುದು. ಇದಲ್ಲದೆ, ಅಂತಿಮ ಸಂಪೂರ್ಣ ಮೆಮೊರಿ ವಿಳಾಸವನ್ನು ತಲುಪಲು ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ವಿಭಾಗವನ್ನು ಬದಲಾಯಿಸಲು ಸಹ ನಮಗೆ ಅವಕಾಶವಿದೆ. ಇಲ್ಲಿ ಗಮನಿಸಬೇಕಾದ ಒಂದು ವಿಷಯವೆಂದರೆ ನಾವು ನಮ್ಮ ಅಂತಿಮ ಸಂಪೂರ್ಣ ವಿಳಾಸವನ್ನು ಅನೇಕ ರೀತಿಯಲ್ಲಿ ತಲುಪಬಹುದು. ಆಫ್ಸೆಟ್ ಯಾವಾಗಲೂ ಮಾಡ್ಯೂಲ್ನ ಮೂಲ ವಿಳಾಸಕ್ಕೆ ಸಂಬಂಧಿಸುವುದಿಲ್ಲ, ಉದಾಹರಣೆಗೆಃ ನೀವು ವರ್ಗವನ್ನು (ಜಿಯುಐ) ಹೊಂದಿದ್ದರೆ ಮತ್ತು ನೀವು ಈ ವರ್ಗದ "ಬಣ್ಣ" ಗುಣಲಕ್ಷಣವನ್ನು ಹಿಂಪಡೆಯಲು ಬಯಸಿದರೆ, ಆಫ್ಸೆಟ್ 0x0100 ಆಗಿರಬಹುದು, ಆದರೆ ಈ ಆಫ್ಸೆಟ್ ಅನ್ನು ವರ್ಗದ ಆಫ್ಸೆಟ್ಗೆ ಸೇರಿಸಬೇಕಾಗುತ್ತದೆಯೇ ಹೊರತು ಮೂಲ ವಿಳಾಸಕ್ಕೆ ಅಲ್ಲ. ವರ್ಗದ ಆಫ್ಸೆಟ್ 0xFF881 ಆಗಿದ್ದರೆ ಮತ್ತು ಮೂಲ ವಿಳಾಸ 0x0A100 ಆಗಿದ್ದರೆ, "ಬಣ್ಣ" ಗುಣಲಕ್ಷಣವನ್ನು ಹಿಂಪಡೆಯಲು ಎರಡೂ ಆಫ್ಸೆಟ್ಗಳನ್ನು ಮೂಲ ವಿಳಾಸಕ್ಕೆ ಸೇರಿಸಲಾಗುತ್ತದೆ. 0x0A100 (ಬೇಸ್) + 0xFF881 (ಕ್ಲಾಸ್) + 0x0100 (ಆಟ್ರಿಬ್ಯೂಟ್). ಅಂತಿಮವಾಗಿ ಗುಣಲಕ್ಷಣದ ವಿಳಾಸವು 0x109A81 ಆಗಿರುತ್ತದೆ. ಒಟ್ಟಿಗೆ ಸೇರಿಸಲಾದ ಆಫ್ಸೆಟ್ಗಳ ಸಂಗ್ರಹವನ್ನು ಕಂಪ್ಯೂಟರ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಅರೆ ಇಂಡೆಕ್ಸ್ ಕಂಪ್ಯೂಟರ್ ಮೆಮೊರಿಯನ್ನು ಸಹ ನೋಡಿ