వివరణతో సాధారణ 8086 అసెంబ్లీ భాషా కార్యక్రమాలు

సమస్యలను తొలగించడానికి మా పరికరాన్ని ప్రయత్నించండి





అసెంబ్లీ స్థాయి ప్రోగ్రామింగ్ తక్కువ స్థాయికి చాలా ముఖ్యం పొందుపర్చిన వ్యవస్థ హార్డ్వేర్ను మార్చటానికి ప్రాసెసర్ సూచనలను యాక్సెస్ చేయడానికి డిజైన్ ఉపయోగించబడుతుంది. తక్కువ సంఖ్యలో గడియార చక్రాలను వినియోగించే మరియు తక్కువ మెమరీని తీసుకునే సమర్థవంతమైన కోడ్‌ను రూపొందించడానికి ఇది చాలా ప్రాచీనమైన యంత్ర స్థాయి భాష. ఉన్నత-స్థాయి ప్రోగ్రామింగ్ భాష . ప్రోగ్రామర్ ఎంబెడెడ్ హార్డ్‌వేర్ గురించి తెలుసుకోవలసిన ప్రోగ్రామ్‌ను రాయడం పూర్తి హార్డ్‌వేర్ ఆధారిత ప్రోగ్రామింగ్ భాష. ఇక్కడ, మేము అసెంబ్లీ స్థాయి ప్రోగ్రామింగ్ 8086 యొక్క ప్రాథమికాలను అందిస్తున్నాము.

అసెంబ్లీ స్థాయి ప్రోగ్రామింగ్ 8086

అసెంబ్లీ స్థాయి ప్రోగ్రామింగ్ 8086



అసెంబ్లీ స్థాయి ప్రోగ్రామింగ్ 8086

ది అసెంబ్లీ ప్రోగ్రామింగ్ భాష తక్కువ స్థాయి భాష, ఇది జ్ఞాపకశక్తిని ఉపయోగించి అభివృద్ధి చేయబడింది. మైక్రోకంట్రోలర్ లేదా మైక్రోప్రాసెసర్ 0 లేదా 1 వంటి బైనరీ భాషను మాత్రమే అర్థం చేసుకోగలదు, అందువల్ల సమీకరించేవాడు అసెంబ్లీ భాషను బైనరీ భాషగా మారుస్తాడు మరియు పనులను నిర్వహించడానికి జ్ఞాపకశక్తిని నిల్వ చేస్తాడు. ప్రోగ్రామ్ రాయడానికి ముందు ఎంబెడెడ్ డిజైనర్లు కంట్రోలర్ లేదా ప్రాసెసర్ యొక్క నిర్దిష్ట హార్డ్‌వేర్‌పై తగినంత జ్ఞానం కలిగి ఉండాలి, కాబట్టి మొదట మనం 8086 ప్రాసెసర్ యొక్క హార్డ్‌వేర్ తెలుసుకోవాలి.


ప్రాసెసర్ యొక్క హార్డ్వేర్

ప్రాసెసర్ యొక్క హార్డ్వేర్



8086 ప్రాసెసర్ ఆర్కిటెక్చర్

8086 అనేది ప్రాసెసర్, ఇది సీరియల్ బస్, మరియు RAM మరియు ROM, I / O పరికరాలు వంటి అన్ని పరిధీయ పరికరాలకు ప్రాతినిధ్యం వహిస్తుంది మరియు ఇవన్నీ సిస్టమ్ బస్సును ఉపయోగించడం ద్వారా బాహ్యంగా CPU కి అనుసంధానించబడి ఉంటాయి. 8086 మైక్రోప్రాసెసర్ ఉంది CISC ఆధారిత నిర్మాణం , మరియు దీనికి 32 I / O వంటి పెరిఫెరల్స్ ఉన్నాయి, సీరియల్ కమ్యూనికేషన్ , జ్ఞాపకాలు మరియు కౌంటర్లు / టైమర్లు . మైక్రోప్రాసెసర్‌కు ఫంక్షన్లను చదవడానికి మరియు సేవ్ చేయడానికి మెమరీ అవసరమయ్యే ఆపరేషన్లను నిర్వహించడానికి ప్రోగ్రామ్ అవసరం.

8086 ప్రాసెసర్ ఆర్కిటెక్చర్

8086 ప్రాసెసర్ ఆర్కిటెక్చర్

అసెంబ్లీ స్థాయి ప్రోగ్రామింగ్ 8086 మెమరీ రిజిస్టర్లపై ఆధారపడి ఉంటుంది. రిజిస్టర్ యొక్క ప్రధాన భాగం మైక్రోప్రాసెసర్లు మరియు నియంత్రికలు ఇవి డేటాను సేకరించి నిల్వ చేయడానికి వేగవంతమైన మార్గాన్ని అందించే మెమరీలో ఉన్నాయి. గుణకారం, అదనంగా మొదలైనవి చేయడం ద్వారా మేము ప్రాసెసర్ లేదా కంట్రోలర్‌కు డేటాను మార్చాలనుకుంటే, డేటాను ప్రాసెస్ చేయడానికి మరియు నిల్వ చేయడానికి రిజిస్టర్‌లు అవసరమయ్యే మెమరీలో మేము దీన్ని నేరుగా చేయలేము. 8086 మైక్రోప్రాసెసర్‌లో వివిధ రకాల రిజిస్టర్‌లు ఉన్నాయి, వీటి సూచనల ప్రకారం వర్గీకరించవచ్చు

సాధారణ ప్రయోజన రిజిస్టర్లు : 8086 CPU 8-సాధారణ ప్రయోజన రిజిస్టర్లను కలిగి ఉంది మరియు ప్రతి రిజిస్టర్‌కు AX, BX, CX, DX, SI, DI, BP, SP వంటి చిత్రంలో చూపిన విధంగా దాని స్వంత పేరు ఉంది. ఇవన్నీ 16-బిట్ రిజిస్టర్లు, ఇక్కడ నాలుగు రిజిస్టర్లను AX, BX, CX మరియు DX వంటి రెండు భాగాలుగా విభజించారు, వీటిని ప్రధానంగా సంఖ్యలను ఉంచడానికి ఉపయోగిస్తారు.

ప్రత్యేక ప్రయోజన రిజిస్టర్లు : 8086 సిపియులో ఐపి మరియు ఫ్లాగ్ రిజిస్టర్ల వంటి 2- ప్రత్యేక ఫంక్షన్ రిజిస్టర్లు ఉన్నాయి. IP రిజిస్టర్ ప్రస్తుత అమలు సూచనలను సూచిస్తుంది మరియు ఎల్లప్పుడూ CS సెగ్మెంట్ రిజిస్టర్‌తో సేకరించడానికి పనిచేస్తుంది. ఫ్లాగ్ రిజిస్టర్ల యొక్క ప్రధాన విధి యాంత్రిక విధులు పూర్తయిన తర్వాత CPU కార్యకలాపాలను సవరించడం మరియు మేము నేరుగా యాక్సెస్ చేయలేము
సెగ్మెంట్ రిజిస్టర్లు: 8086 సిపియులో సిఎస్, డిఎస్, ఇఎస్, ఎస్ఎస్ వంటి 4- సెగ్మెంట్ రిజిస్టర్లు ఉన్నాయి, ఇవి సెగ్మెంట్ రిజిస్టర్లలో ఏదైనా డేటాను నిల్వ చేయడానికి ప్రధానంగా ఉపయోగించబడతాయి మరియు సెగ్మెంట్ రిజిస్టర్లను ఉపయోగించి మేము మెమరీ బ్లాక్ను యాక్సెస్ చేయవచ్చు.


సాధారణ అసెంబ్లీ భాషా కార్యక్రమాలు 8086

అసెంబ్లీ లాంగ్వేజ్ ప్రోగ్రామింగ్ 8086 వంటి కొన్ని నియమాలు ఉన్నాయి

  • అసెంబ్లీ స్థాయి ప్రోగ్రామింగ్ 8086 కోడ్ పెద్ద అక్షరాలతో వ్రాయబడాలి
  • లేబుల్స్ తప్పనిసరిగా పెద్దప్రేగును అనుసరించాలి, ఉదాహరణకు: లేబుల్:
  • అన్ని లేబుల్స్ మరియు చిహ్నాలు అక్షరంతో ప్రారంభం కావాలి
  • అన్ని వ్యాఖ్యలు చిన్న కేసులో టైప్ చేయబడతాయి
  • ప్రోగ్రామ్ యొక్క చివరి పంక్తి END ఆదేశంతో ముగించాలి

8086 ప్రాసెసర్‌లకు డేటాను యాక్సెస్ చేయడానికి మరో రెండు సూచనలు ఉన్నాయి, అవి వర్డ్ పిటిఆర్ - పదం కోసం (రెండు బైట్లు), బైట్ కోసం బైట్ పిటిఆర్.

ఆప్-కోడ్ మరియు ఒపెరాండ్

ఆప్-కోడ్ మరియు ఒపెరాండ్

ఆప్ కోడ్: ఒకే సూచనను CPU చేత అమలు చేయగల ఆప్-కోడ్ అంటారు. ఇక్కడ ‘MOV’ సూచనను ఆప్-కోడ్ అంటారు.

కార్యకలాపాలు: సింగిల్ పీస్ డేటాను ఒపెరాండ్స్ అని పిలుస్తారు, వీటిని ఆప్-కోడ్ ద్వారా ఆపరేట్ చేయవచ్చు. ఉదాహరణ, వ్యవకలనం ఆపరేషన్ ఒపెరాండ్ చేత తీసివేయబడిన ఒపెరాండ్లచే నిర్వహించబడుతుంది.
సింటాక్స్: SUB బి, సి

8086 మైక్రోప్రాసెసర్ అసెంబ్లీ భాషా కార్యక్రమాలు

కీబోర్డ్ నుండి అక్షరాన్ని చదవడానికి ప్రోగ్రామ్ రాయండి

MOV ah, 1h // కీబోర్డ్ ఇన్పుట్ ఉపప్రోగ్రామ్
INT 21h // అక్షర ఇన్పుట్
// అక్షరం అల్ లో నిల్వ చేయబడుతుంది
ఆల్టో సి నుండి MOV సి, అల్ // కాపీ అక్షరం

అక్షరాన్ని చదవడానికి మరియు ప్రదర్శించడానికి ఒక ప్రోగ్రామ్ రాయండి

MOV ah, 1h // కీబోర్డ్ ఇన్పుట్ ఉపప్రోగ్రామ్
INT 21h // అక్షరాన్ని అల్ లోకి చదవండి
MOV dl, al // కాపీ అక్షరానికి dl
MOV ah, 2h // అక్షర అవుట్పుట్ ఉపప్రోగ్రామ్
INT 21h // ప్రదర్శన పాత్ర dl లో

జనరల్ పర్పస్ రిజిస్టర్లను ఉపయోగించి ఒక ప్రోగ్రామ్ రాయండి

ORG 100 క
MOV AL, VAR1 // VAR1 యొక్క విలువను AL కి తరలించడం ద్వారా తనిఖీ చేయండి.
LEA BX, VAR1 // BX లో VAR1 యొక్క చిరునామాను పొందండి.
MOV BYTE PTR [BX], 44h // VAR1 యొక్క విషయాలను సవరించండి.
MOV AL, VAR1 // VAR1 యొక్క విలువను AL కి తరలించడం ద్వారా తనిఖీ చేయండి.
హక్కు
VAR1 DB 22 క
END

లైబ్రరీ విధులను ఉపయోగించి స్ట్రింగ్ ప్రదర్శించడానికి ఒక ప్రోగ్రామ్ రాయండి

emu8086.inc // మాక్రో డిక్లరేషన్ చేర్చండి
ORG 100 క
ప్రింట్ ‘హలో వరల్డ్!’
గోటాక్సి 10, 5
PUTC 65 // 65 - ఇది ‘A’ కోసం ASCII కోడ్
పియుటిసి ‘బి’
RET // ఆపరేటింగ్ సిస్టమ్‌కు తిరిగి వెళ్ళు.
కంపైలర్ను ఆపడానికి END // ఆదేశం.

అంకగణితం మరియు తర్కం సూచనలు

అంకగణితం మరియు తర్కం యూనిట్ యొక్క 8086 ప్రక్రియలు అదనంగా, విభజన మరియు ఇంక్రిమెంట్ ఆపరేషన్ వంటి మూడు గ్రూపులుగా విభజించబడ్డాయి. అత్యంత అంకగణితం మరియు తర్కం సూచనలు ప్రాసెసర్ స్థితి రిజిస్టర్‌ను ప్రభావితం చేస్తుంది.

అసెంబ్లీ లాంగ్వేజ్ ప్రోగ్రామింగ్ 8086 మెమోనిక్స్ ఆప్-కోడ్ రూపంలో ఉన్నాయి, అవి MOV, MUL, JMP, మరియు మొదలైనవి, వీటిని ఆపరేషన్లు చేయడానికి ఉపయోగిస్తారు. అసెంబ్లీ భాషా ప్రోగ్రామింగ్ 8086 ఉదాహరణలు

అదనంగా
ORG0000 క
MOV DX, # 07H // విలువ 7 ను రిజిస్టర్ AX // కి తరలించండి
MOV AX, # 09H // విలువ 9 ను సంచిత AX // కి తరలించండి
AX ను జోడించండి, 00H // R0 విలువతో CX విలువను జోడించి ఫలితాన్ని AX // లో నిల్వ చేస్తుంది
END
గుణకారం
ORG0000 క
MOV DX, # 04H // విలువ 4 ను రిజిస్టర్ DX // కి తరలించండి
MOV AX, # 08H // విలువ 8 ను సంచిత AX // కి తరలించండి
MUL AX, 06H // గుణించిన ఫలితం సంచిత AX // లో నిల్వ చేయబడుతుంది
END
వ్యవకలనం
ORG 0000 క
MOV DX, # 02H // DX // ను నమోదు చేయడానికి విలువ 2 ని తరలించండి
MOV AX, # 08H // విలువ 8 ను సంచిత AX // కి తరలించండి
SUBB AX, 09H // ఫలిత విలువ సంచిత A X // లో నిల్వ చేయబడుతుంది
END
విభజన
ORG 0000 క
MOV DX, # 08H // DX // ను నమోదు చేయడానికి విలువ 3 ని తరలించండి
MOV AX, # 19H // విలువ 5 ను సంచిత AX // కి తరలించండి
DIV AX, 08H // తుది విలువ సంచిత AX // లో నిల్వ చేయబడుతుంది
END

అందువల్ల, ఇవన్నీ అసెంబ్లీ స్థాయి ప్రోగ్రామింగ్ 8086, 8086 ప్రాసెసర్ ఆర్కిటెక్చర్ 8086 ప్రాసెసర్లు, అంకగణిత మరియు లాజిక్ సూచనల కోసం సాధారణ ఉదాహరణ కార్యక్రమాలు. అంతేకాకుండా, ఈ వ్యాసం లేదా ఎలక్ట్రానిక్స్ ప్రాజెక్టులకు సంబంధించిన ఏవైనా ప్రశ్నలు, మీరు ఈ క్రింది వ్యాఖ్య విభాగంలో వ్యాఖ్యానించడం ద్వారా మమ్మల్ని సంప్రదించవచ్చు.