[go: up one dir, main page]

0% found this document useful (0 votes)
1K views21 pages

MPMC Lab Programs

The document provides example assembly language programs (ALPs) to perform various arithmetic operations on 8-bit and 16-bit numbers, including addition, subtraction, multiplication, and division. The ALPs demonstrate how to load operands from memory addresses into registers, perform the arithmetic operations, and store results back to memory addresses. Interrupts are used to invoke breakpoints after each ALP for debugging purposes.

Uploaded by

Ravi Santhosh
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views21 pages

MPMC Lab Programs

The document provides example assembly language programs (ALPs) to perform various arithmetic operations on 8-bit and 16-bit numbers, including addition, subtraction, multiplication, and division. The ALPs demonstrate how to load operands from memory addresses into registers, perform the arithmetic operations, and store results back to memory addresses. Interrupts are used to invoke breakpoints after each ALP for debugging purposes.

Uploaded by

Ravi Santhosh
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 21

EEE DEPARTMENT 8086 programs for MPMC LAB 8owtfonoitiddamrofrepotmargorpegaugnalylbmessanaetirW)1-.

srebmuntib0532,ISVOMdna repotsriffosserddasi0532; 0572,IDVOMdnarepodnocesfosserddasi0572; ]IS[,LAVOMretsigerLAotnideipocsidnarepotsrif; ]ID[,LBVOMretsigerLBotnideipocsidnarepodnoces; LB,LADDAsdnarepoowtfonoitidda; 00,HAVOMnoitiddafoyrracgnirotsrofderaelcsiretsigerHA; YRRACONCNJlebal YRRACON otpmujneht0sigalfFCfi; HACNIHAtnemercniesle; ,]IS[VOMXAderotssiHAniyrracdnaLAnimusgnivahXA; 30TNIkaerbgnikovni;-.tpurretnitniop61owtfonoitiddamrofrepotPLAnaetirW)2-.srebmun tibISVOM0532, ISotdnarepotsriffosserdda; IDVOM0572, IDotdnarepodnocesfosserdda; ]IS[,XAVOMretsigerXAotnideipocdnarepo; XBVOM[, ]IDretsigerXBotnideipocdnarepo; LDVOM00, yrracerotsotderaelcsiretsigerLD; XADDAXB, retsigerXBdnaXAfonoitidda; YRRACONCNJal YRRACON otpmujneht0siFCfi;lebLDCNIretsigerLDtnemercniesle; ISVOM:YRRACON0003, yrracdnamuserotsotsserdda; ]IS[VOMXA, yromemotXAmrofdeipocsimus; 20,ISDDAyrracerotsotdrowtxenotsserddaesaercni; LD,]IS[VOMyromemotLDmorfyrracerots; 30TNIkaerbgnikovni;-.tpurretnitniop23owtfonoitiddamrofrepotPLAaetirW)3-61gnivlov nisrebmuntib-.noitiddatib0532,ISVOMISotdnarepotsriffosserdda; 0572,IDVOMIDotdnarepodnocesfosserdda; ]IS[,XAVOM23fodrowrewol;-XAotdnarepotsriftib]ID[,XBVOM23fodrowrewol; -XBotdnarep odnocestib20,ISDDAdnarepotsriffosserddadrowrehgihotstniopIS; 20,IDDDAdnarepodnocesfosserddadrowrehgihotstniopID; IS[,XCVOM] 23fodrowrehgih; -XCotdnarepotsriftib]ID[,XDVOM23fodrowrehgih; -XDotdn arepotsriftib0003,ISVOM:YRRACONyrracdnamustluserehterotsotsserdda;

EEE DEPARTMENT MOV ADD MOV MOV ADC JNC INC SI,3000 ;address for the result. AX,BX ;lower word addition [SI],AX ;storing the 16 bit sum AL,00 ;clearing for carry CX,DX ;higher word addition with carry L1 ;if no-carry jump to label L1 AL ; else increment AL

L1: ADD SI,02 ;higher word result address XC,]IS[VOMtluserdrowrehgih; 20,ISDDAyrracrofsserddaotstniopIS; LA,]IS[VOMyromemotLAmrofyrrac; 30TNIkaerbgnikovni; -.tpurretnitniopitlummrofrepotPLAaetirW)4-46owtfonoitiddaety b-nitib61gnivlov-.noitiddatib0532,ISVOMdnarepotsriffosserdda; 0572,IDVOMdnarepodnocesfosserdda; 0003,PBVOMtluserehtfosserdda; CLCgalfyrracehtraelc; 40,LCVOMrebmunehtnihtiwdrowfoon; ]IS[,XAVOM:PUdnarepotsrifehtmrofdrow; ]ID[,XBVOMdnarepodnocesehtmorfdrowXB,XACDAsdrowowtfonoitidda; XA,]PB[VOMtluserehttaderotssimus; ISCNIISCNIdnarepotsriffodrowtxenotstniopIS; IDCNIIDCNIdnarepodnocesfodrowtxenotstniopID; PBCNIPBCNItluserfodrowtxenotstniopPB; PUPOOL0LCfiPUlebalotpmujdnaLCtnemerced; PBCEDPBtnemerced; 00,LAVOMyrracrofLAraelc; 1LCNJ1Llebalotpmuj0=FCfi; LACNILAtnemercni; LA,]PB[VOM:1Lyrracehterots; 30TNIkaerbgnikovni;-tpurretnitniop8owtfonoitcartbusmrofrepotPLAaetirW)5-srebmunt ib0532,ISVOMdnarepotsriffosserddasi0532; 0572,IDVOMnarepodnocesfosserddasi0572;d ]IS[,LAVOMretsigerLAotnideipocsidnarepotsrif; ]ID[,LBVOMretsigerLBotnideipocsidnarepodnoces; LB,LABUSsdnarepoowtfonoitcartbus; 00,HAVOMnoitcartbusfoworrobgnirotsrofderaelcsiretsigerHA; YRRACONCNJlebal YRRACON otpmujneht0sigalfFCfi;

EEE DEPARTMENT INC AH ;else increment AH NOCARRY: MOV SI,3000 ;address to store the result difference and borrow MOV [SI],AX ;AX having difference in AL and borrow in AH is stored INT 03 ;invoking break-point interrupt. 6) Write an ALP to perform subtraction of two 16-bit numbers. MOV SI,2350 ;address of first operand to SI 0572,IDVOMIDotdnarepodnocesfosserdda; ]IS[,XAVOMretsigerXAotnideipocdnarepo; ]ID[,XBVOMretsigerXBotnideipocdnarepo; 00,LDVOMyrracerotsotderaelcsiretsigerLD; XB,XABUSdnaXAfonoitcartbus;retsigerXBYRRACONCNJlebal YRRACON otpmujneht0siFCfi; LDCNIretsigerLDtnemercniesle; 0003,ISVOM:YRRACONworrobdnaecnereffiderotsotsserdda; XA,]IS[VOMyromemotXAmrofdeipocsiecnereffid; 20,ISDDAworroberotsotdrowtxenotsserddaesaercni; LD,]IS[VOMyromemotLDmorfworroberots; 30TNIkaerbgnikovni;-.tpurretnitniop23owtfonoitcartbusmrofrepotPLAaetirW)7-61gniv lovnisrebmuntib-.noitiddatib0532,ISVOMISotdnarepotsriffosserdda; 0572,IDVOMIDotdnarepodnocesfosserdda; ]IS[,XAVOM23fodrowrewol;-XAotdnarepotsriftib]ID[,XBVOM23fodrowrewol; -XBotdnarep odnocestib20,ISDDAdnarepotsriffosserddadrowrehgihotstniopIS; 20,IDDDA;dnarepodnocesfosserddadrowrehgihotstniopID]IS[,XCVOMwrehgih; 23fodro-XC otdnarepotsriftib]ID[,XDVOM23fodrowrehgih; -XDotdnarepotsriftibISVOM0003, .tluse rehtrofsserdda; XABUSXB, noitcartbusdrowrewol; ]IS[VOMXA, ecnereffidtib61ehtgnirots; LAVOM00, worrobrofgniraelc; XCBBSXD, ;worrobhtiwnoitcartbusdrowrehgih1LCNJonfi;-1LlebalotpmujyrracLACNILAtne mercniesle; ISDDA:1L20, sserddatluserdrowrehgih; ]IS[VOMXC, tluserdrowrehgih; ISDDA20, worrobrofsserddaotstniopIS; ]IS[VOMLA, yromemotLAmrofyrrac; 30TNIkaerbgnikovni; -.tpurretnitniopitlummrofrepotPLAaetirW)8-46owtfonoitcartbus etyb-61gnivlovnitib-.noitcartbustib0532,ISVOMdnarepotsriffosserdda;

EEE DEPARTMENT MOV MOV CLC MOV UP: MOV SBB MOV DI,2750 ;address of second operand BP,3000 ;address of the result ;clear the carry flag CL,04 ;no of word within the number MOV AX,[SI] ;word form the first operand BX,[DI] ;word from the second operand AX,BX ;subtraction of two words [BP],AX ;difference is stored at the result

ISCNIISCNIdnarepotsriffodrowtxenotstniopIS; IDCNIIDCNIdnarepodnocesfodrowtxenotstniopID; PBCNIPBCNItluserfodrowtxenotstniopPB; PUPOOL0LCfiPUlebalotpmujdnaLCtnemerced; PBCEDPBtnemerced; 00,LAVOMworrobrofLAraelc; 1LCNJ1Llebalotpmuj0=FCfi; LACNILAtnemercni; LA,]PB[VOM:1Lworrobehterots; 30TNIkaerbgnikovni;-tpurretnitniop8trevnocotPLAaetirW)9-.rebmunDCBdekcapnuotrebm unDCBdekcaptib0002,ISVOM]IS[,LAVOMLA,LBVOMF0,LADNA40,LCVOMLC,LBRHSLB,HAVOM0003,I SVOMXA,]IS[VOM30TNI8owtfonoitiddamrofrepotPLAaetirW)01-.srebmundekcapDCBtib0532, ISVOM0572,IDVOM]IS[,LAVOM]ID[,LBVOMLB,LADDAAAD00,HAVOM1LCNJHACNI0003,ISVOM:1LXA, ]IS[VOM30TNI

EEE DEPARTMENT 11) Write a ALP to perform subtraction of two 8-bit BCD packed numbers. MOV MOV MOV MOV SUB DAS SI,2350 DI,2750 AL,[SI] BL,[DI] AL,BL

00,HAVOM1LCNJHACNI0003,ISVOM:1LXA,]IS[VOM30TNI8nevigatrevnocotPLAaetirW)21-.edoc IICSAtnelaviuqestiotrebmunDCBdekcaptib0532,ISVOM]IS[,LAVOMLA,LBVOMF0,LADNA40,LCV OMLC,LBRHSLB,HAVOM0303,XARO0003,ISVOMXA,]IS[VOM30TNI61nevigatrevnocotPLAaetirW)3 1-.edocDCBtnelaviuqestiotedocIICSAtib0532,ISVOM]IS[,XAVOMF0F0,XADNA40,LCVOMLC,HA LHSHA,LADDA0003,IDVOMLA,]ID[VOM30TNI8nevigatrevnocotPLAaetirW)41-.rebmunlamiceda xehtnelaviuqestiotDCBtib0532,ISVOM]IS[,LAVOMLA,LBVOMF0,LBDNA40,LCVOM

EEE DEPARTMENT SHR MOV MUL ADD MOV MOV INT AL,CL CL,0A CL AL,BL SI,3000 [SI],AL 03

8nevigatrevnocotPLAaetirW)51-.rebmunDCBtnelaviuqestiotrebmunlamicedaxehtib0532,I SVOM]IS[,LAVOM00,HAVOMA0,LCVOMLCVID00,LADDAAADLA,LBVOMHA,LAVOM00,LADDAAAD90,LBPM CITAJ40,LCVOMLC,LBLHSLB,LADDA00,HAVOMDEPMJ40,LCVOM:ITLC,LALHSLA,HAVOMLB,LAVOM40, LCVOMLC,XALOR0003,ISVOMXA,]IS[VOM30TNI8owtfonoitiddaIICSAmrofrepotPLAaetirW)61-s rebmunIICSAtib0532,ISVOM0572,IDVOM]IS[,LAVOM]ID[,LBVOMLB,LADDAAAA00,HAVOM1LCNJ

EEE DEPARTMENT INC AH L1: MOV MOV INT OR AH,30 SI,3000 [SI],AX 03

17) Write a ALP to perform ASCII subtraction of two 8-bit ASCII numbers 0532,ISVOM0572,IDVOM]IS[,LAVOM]ID[,LBVOMLB,LABUSSAA00,HAVOM1LCNJHACNI03,HARO:1L0 003,ISVOMXA,]IS[VOM30TNI8owtfonoitacilpitlumIICSAmrofrepotPLAaetirW)81-srebmunII CSAtib0532,ISVOM0572,IDVOM]IS[,LAVOM]ID[,LBVOMF0,LADNAF0,LBDNA00,HAVOMLBLUMMAA03 03,XARO0003,ISVOMXA,]IS[VOM30TNI.etybIICSAybdrowIICSAnevigafonoisividIICSAmrofre potPLAaetirW)910532,ISVOM0572,IDVOM]ID[,LCVOMF0,LCDNA]IS[,XAVOMF0F0,XADNADAALCVI D0303,XARO

EEE DEPARTMENT MOV [SI],AX INT 03 20) Write a ALP to perform unsigned multiplication of two 8-bit numbers MOV SI,2350 MOV DI,2750 MOV AL,[SI] MOV BL,[DI] MUL BL MOV SI,3000 MOV [SI],AX INT 03 21) Write a ALP to perform signed multiplication of two 8-bit numbers MOV SI,2350 MOV DI,2750 MOV AL,[SI] MOV BL,[DI] IMUL BL MOV SI,3000 MOV [SI],AX INT 03 22) Write a ALP to perform unsigned multiplication of two 16-bit numbers MOV SI,2350 MOV DI,2750 MOV AX,[SI] MOV BX,[DI] MUL BX MOV SI,3000 MOV [SI],AX

ADD SI,02 MOV [SI],DX INT 03 23) Write a ALP to perform signed multiplication of two 16-bit numbers MOV SI,2350 MOV DI,2750 MOV AX,[SI] MOV BX,[DI] IMUL BX MOV SI,3000 MOV [SI],AX ADD SI,02 MOV [SI],DX INT 03

EEE DEPARTMENT 24) Write a ALP to perform unsigned division of a word by byte MOV SI,2350 MOV DI,2750 MOV AX,[SI] MOV BL,[DI] DIV BL MOV SI,3000 MOV [SI],AX INT 03 25) Write a ALP to perform unsigned division of a double word by word MOV SI,2350 MOV DI,2750 MOV BX,[DI] MOV AX,[SI] ADD SI,02 MOV DX,[SI] DIV BX MOV SI,3000 MOV [SI],AX ADD SI,02 MOV [SI],DX INT 03 26) Write a ALP to perform signed division of a word by byte MOV SI,2350 MOV DI,2750 MOV AX,[SI] MOV BL,[DI] IDIV BL

MOV SI,3000 MOV [SI],AX INT 03 27) Write a ALP to perform signed division of a double word by word MOV SI,2350 MOV DI,2750 MOV BX,[DI] MOV AX,[SI] ADD SI,02 MOV DX,[SI] IDIV BX MOV SI,3000 MOV [SI],AX ADD SI,02 MOV [SI],DX INT 03

EEE DEPARTMENT 28) Write a ALP to find the number of 1 unt no of 0's change JNC MOV MOV MOV to JC). SI,2350 AX,[SI] CL,00 bit in a given word. (IF question is to co

UP: SHL AX,01 JNC TI INC CL 0000,XAPMC:ITPUZNJ0003,ISVOMLC,]IS[VOM30TNI8fosrebmun01foyarraanisrebmunevitisop forebmunehtdnifotPLAaetirW)92-ezistib0532,ISVOMA0,LCVOM00,LDVOM]IS[,LAVOM:PU10,L ALORITCJLDCNIISCNI:ITLCCEDPUZNJ0003,ISVOMLD,]IS[VOM30TNI.rehtootnoitacolnevigamo rfgnirtsetybaevomotPLAaetirW)030004,ISVOM0005,IDVOM8000,XCVOMDLCPERBSVOM30TNIreh tootnoitacolnevigamorfgnirtsdrowaevomotPLAaetirW)130004,ISVOM0005,IDVOM4000,XCVO MDLCPERWSVOM30TNI

EEE DEPARTMENT 32) MOV MOV MOV Write a ALP to reverse a given byte string SI,4000 DI,5007 CX,0008

L1: CLD LODSB STD STOSB 1LPOOL30TNIgnirtsdrownevigaesreverotPLAaetirW)330004,ISVOMF005,IDVOM8000,XCVOMDL C:1LWSDOLDTSWSOTS1LPOOL30TNIgnirtsetybehtfohtgnelehtdnifotPLAaetirW)430003,ISVOM 00,LAVOM0000,XCVOMDLCBSDOL:1T00,LAPMC2TEJXCCNI1TPMJ0004,ISVOM:2TXC,]IS[VOM30TNIP LAaetirW)53.mehtgnomagnirtsretaergehtdnifdnagnirtsetybowterapmocot0003,ISVOM0004 ,IDVOMA000,XCVOM00,LBVOMDLCEPERBSPMC1TAJNEZJ

EEE DEPARTMENT INC BL T1: INC BL EN: MOV SI,5000 MOV [SI],BL INT 03 36) Write a ALP to arrange a unsigned byte string in their ascending order MOV CL,05 0003,ISVOM:TS50,LDVOM]IS[,LAVOM:PU10]IS[,LAPMC1TEBJ10]IS[,LAGHCXLA,]IS[VOMISCNI: 1TLDCEDPUZNJLCCEDTSZNJ30TNIredrognidnecsedriehtnignirtsetybdengisnuaegnarraotPLA aetirW)7350,LCVOM0003,ISVOM:TS50,LDVOM]IS[,LAVOM:PU10]IS[,LAPMC1TEAJ10]IS[,LAGHC XLA,]IS[VOMISCNI:1TLDCEDPUZNJLCCEDTSZNJ30TNIredrognidnecsariehtnignirtsetybdengi saegnarraotPLAaetirW)8350,LCVOM0003,ISVOM:TS50,LDVOM]IS[,LAVOM:PU10]IS[,LAPMC1TE LJ10]IS[,LAGHCXLA,]IS[VOM

EEE DEPARTMENT T1: DEC JNZ DEC JNZ INT INC SI DL UP CL ST 03

39) Write a ALP to arrange a signed byte string in their descending order 50,LCVOM0003,ISVOM:TS50,LDVOM]IS[,LAVOM:PU10]IS[,LAPMC1TEGJ10]IS[,LAGHCXLA,]IS[V OMISCNI:1TLDCEDPUZNJLCCEDTSZNJ30TNIredrognidnecsariehtnignirtsDROWdengisnuaegnar raotPLAaetirW)0450,LCVOM0003,ISVOM:TS50,LDVOM]IS[,XAVOM:PU20]IS[,XAPMC1TEBJ20]IS [,XAGHCXXA,]IS[VOM20,ISDDA:1TLDCEDPUZNJLCCEDTSZNJ30TNIegnarraotPLAaetirW)14redro gnidnecsedriehtnignirtsDROWdengisnua 50,LCVOM0003,ISVOM:TS50,LDVOM]IS[,XAVOM:PU20]IS[,XAPMC1TEAJ20]IS[,XAGHCX

EEE DEPARTMENT MOV [SI],AX T1: DEC JNZ DEC JNZ INT ADD SI,02 DL UP CL ST 03

redrognidnecsariehtnignirtsDROWdengisaegnarraotPLAaetirW)2450,LCVOM0003,ISVOM:TS 50,LDVOM]IS[,XAVOM:PU20]IS[,XAPMC1TELJ20]IS[,XAGHCXXA,]IS[VOM20,ISDDA:1TLDCEDPUZ NJLCCEDTSZNJ30TNI)34redrognidnecsedriehtnignirtsDROWdengisaegnarraotPLAaetirW50, LCVOM0003,ISVOM:TS50,LDVOM]IS[,XAVOM:PU20]IS[,XAPMC1TEGJ20]IS[,XAGHCXXA,]IS[VOM2 0,ISDDA:1TLDCEDPUZNJLCCEDTSZNJ30TNI.noitisopnevigatagnirtsetybevigaotnignirtsbus etybevigatresniotPLAaetirW)440003,ISVOM0004,IDVOMGNIRTSFOHTGNEL;70,LBVOMGNIRTSBU SFOHTGEL;40,HBVOMTRESNIOTNOITISOP;50,HDVOM00,HCVOM

EEE DEPARTMENT DEC DH MOV CL,DH CLD REP MOVSB MOV AX,SI MOV SI,5000 MOV CL,BH DLCPERBSVOMXA,ISVOMLB,LCVOMHD,LCBUSDLCPERBSVOM30TNI.gnirtsafonoitisopnevigamorfs etybforebmunnevigaeteledotPLAaetirW)540003,ISVOMIS,IDVOMGNIRTSFOHTGEL;70,LBVOMET ELEDOTETYBFOON;20,HBVOMNOITELEDTRATSOTEREHWNOITISOP;40,HDVOMHDCED0000,XCVOMHD,LC VOMXC,IDDDAHB,LCDDAXC,ISDDALB,LAVOMLC,LABUSLA,LCVOMDLCPERBSVOMISCNI00,]IS[VOM30T NIneercsno htlaewsiegdelwonk gnirtsehtyalpsidotecivresSODgnisuMSAMrofPLAaetirW)64ATA D:SD,EDOC:SCEMUSSATNEMGESATAD $ , htlaewsiegdelwonk BDGSMSDNEATADTNEMGESEDOC

EEE DEPARTMENT START: MOV AX,DATA MOV DS,AX MOV DX,OFFSET MSG MOV AH,09H INT 21H MOV AH,4CH INT 21H CODE ENDS

TRATSDNEohcehtiwdraobyekmorfsretcarahcfognirtsadaerotecivresSODgnisuMSAMrofPLAae tirW)74 % saretcarahctsalhtiwATAD:SD,EDOC:SCEMUSSATNEMGESATAD BDGSM $ , :%saretcarahctsalht wgnirtsaretne)0(PUDH04BDRTSSDNEATADTNEMGESEDOCATAD,XAVOM:TRATSXA,SDVOMH90,HAVOMG SMTESFFO,XDVOMH12TNIH10,HAVOMRTSTESFFO,ISVOMISCEDH12TNI:PUISCNILA,]IS[VOM % ,LAPMCPU ZNJHC4,HAVOMH12TNISDNEEDOCTRATSDNEtuohtiwdraobyekmorfsretcarahcfognirtsadaerotec ivresSODgnisuMSAMrofPLAaetirW)84 % saretcarahctsalhtiwohceATAD:SD,EDOC:SCEMUSSATNEMG ESATAD $ , :%saretcarahctsalhtiwgnirtsaretne BDGSM)0(PUDH04BDRTSSDNEATADTNEMGESEDOCATAD, XAVOM:TRATS

EEE DEPARTMENT MOV MOV MOV INT MOV MOV DEC DS,AX AH,09H DX,OFFSET MSG 21H AH,08H SI,OFFSET STR SI

UP: INT 21H ISCNILA,]IS[VOM % ,LAPMCPUZNJHC4,HAVOMH12TNISDNEEDOCTRATSDNEevawralugnairtaetarenegd na5528hguorhtretrevnocgolanaotlatigidaecafretniotPLAaetirW)946EFF0,XDVOM08,LAVOM LA,XDTUO0EFF0,XDVOM00,LAVOMFF00,XCVOM:YCTXNLA,XDTUO:PMRPULACNILCCEDPMRPUZNJFF00, XCVOMLACED:PMRNDLA,XDTUOLCCEDPMRNDZNJYCTXNPMJ30TNIevawerauqsaetarenegdna5528hguo rhtretrevnocgolanaotlatigidaecafretniotPLAaetirW)056EFF0,XDVOM08,LAVOMLA,XDTUO0E FF0,XDVOM00,LAVOMFF00,XCVOM:PULA,XDTUOLCCED:YCHYCHZNJ

EEE DEPARTMENT XOR AL,0FF ;you can also use NOT AL JMP UP INT 03 51) Write a ALP to interface a stepper motor through 8255 and rotate continuousl y in clock wise direction MOV AL,80 MOV DX,0FFE6 OUT DX,AL MOV AL,11 MOV DX,0FFE0 AGAIN: OUT DX,AL MOV CX,0FFF BACK: LOOP BACK ROR AL,01 JMP AGAIN INT 03 52) Write a ALP to interface a stepper motor through 8255 and rotate continuousl y in ANTI-clockwise direction MOV AL,80 MOV DX,0FFE6 OUT DX,AL MOV AL,11 MOV DX,0FFE0 AGAIN: OUT DX,AL MOV CX,0FFF BACK: LOOP BACK ROL AL,01 JMP AGAIN INT 03

You might also like