You are on page 1of 3

1) Largest element in an array ORG 0000H MOV R0,#40H ; pointer MOV R7,#0AH ; counter MOV 30H,@R0 clr c ; get

first number into 30H LOC3: MOV A,@R0 PUSH 0E0H ;CJNE A,30H,LOC1 SUBB A, 30H JNZ LOC1 LOC1: POP 0E0H JC LOC2 ; if 30H is greater, go to L OC2 MOV 30H,A LOC2: INC R0 DJNZ R7,LOC3 SJMP $ END 2) Multiplication ORG 0x0000 MOV MOV MOV MOV LCALL MOV MOV MOV MOV SJMP MULTIPLY: MOV MOV

MOV

R4,0x30 R5,0x31 R6,0x32 R7,0x33 MULTIPLY 0x34,R4 0x35,R5 36H, R6 37H,R7 $ A,R7 B,R5 MUL MOV XCH B,R4 MUL ADD XCH MOV MUL ADD MOV

;first number ;second number ;R4 R5 * R6 R7 ;16-bit result

AB R0,B A,R7 AB A,R0 A,R6

;R5 * R7

;R4 * R7

MOV 41H,B B,R5 AB ;R5 * R6 A,R6 R6, A MOV A,B ADDC A, 41H MOV R5, A ;RLC A ;MOV 40H, A MOV B, R4 MOV A, 32H MUL AB ADD A, R5 MOV R5, A MOV A, B ADDC A,#0 MOV R4, A

;R4 *R6

RET END 3) Square ORG 0x0000 MOV R4,0x30 MOV R5,0x31 MOV R6,0x30 MOV R7,0x31 LCALL MULTIPLY MOV 0x34,R4 MOV 0x35,R5 MOV 36H, R6 MOV 37H, R7 SJMP $ A,R7 MOV B,R5 MUL MOV XCH MOV B,R4 MUL ADD XCH MOV MUL ADD MOV ;first number ;second number = first number ;16-bit result

MULTIPLY:MOV

AB R0,B A,R7 AB A,R0 A,R6

;R5 * R7

;R4 * R7

MOV 41H,B B,R5 AB ;R5 * R6 A,R6 R6, A MOV A,B ADDC A, 41H MOV R5, A ;RLC A ;MOV 40H, A MOV B, R4 MOV A, 30H MUL AB ADD A, R5 MOV R5, A MOV A, B ADDC A,#0 MOV R4, A RET

;R4 *R6

END 4)MSRIT1 ORG load) MOV MOV bit, 8-bit data, 1 stop bit SETB MOV LOC2: CLR MOVC JZ INC TH1,#0xfa SCON,#0x40 TR1 DPTR,#MYDATA A A,@A+DPTR LOC1 SEND DPTR ;9600 baud rate ;serial mode 1: 1 start ;start Timer1 0x0000 MOV

TMOD,#0x20

;Timer1, mode 2 (auto-re

ACALL

LOC1: SEND: HERE: MYDATA: DB

SJMP LOC2 SJMP $ MOV SBUF,A JNB TI, HERE CLR TI RET 4DH,53H,52H,49H,54H,0AH,0x00 END

5) MSRIT2 ORG 0x0000 MOV R7,#05H MOV TMOD,#0x20 ;Timer1, mode 2 (auto-reload) MOV TH1,#0xFD ;9600 baud rate MOV SCON,#0x40 ;serial mode 1: 1 start bit, 8-bit data, 1 stop bit SETB TR1 ;start Timer1 REP5: MOV DPTR,#MYDATA LOC2: CLR A MOVC A,@A+DPTR JZ LOC1 ACALL SEND INC DPTR SJMP LOC2 LOC1: DJNZ R7,REP5 SJMP $ SEND: MOV SBUF,A HERE: JNB TI, HERE CLR TI RET MYDATA: DB 4DH,53H,52H,49H,54H,0AH,0x00 END

You might also like