0% found this document useful (0 votes)
30 views16 pages

Armlabprograms1 141004034017 Conversion Gate01

Uploaded by

kamlesh chauhan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views16 pages

Armlabprograms1 141004034017 Conversion Gate01

Uploaded by

kamlesh chauhan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

1 write an ALP for addition two 64 bit numbers .

AREA ADDTIN,CODE

ENTRY

ldr r0,=value1

ldr r1,[r0]

ldr r2,[r0,#4]

ldr r0,=value2

ldr r3,[r0]

ldr r4,[r0,#4]

adds r6,r2,r4

adc r5,r1,r3

ldr r0,=result

str r5,[r0]

str r6,[r0,#4]

swi &11

value1 dcd &BBBBBBBB,&AAAAAAAA

value2 dcd &CCCCCCCC,&FFFFFFFF

result dcd &0


2 write an ALP for addition two 32 bits numbers .

AREA ADDTIN,CODE

ENTRY

ldr r0,=value1

ldr r1,[r0]

ldr r0,=value2

ldr r2,[r0]

adds r3,r2,r1

value1 dcd &BBBBBBBB

value2 dcd &CCCCCCCC

end
;/*Program to find smallest of N numbers*/

AREA arr,code

ENTRY

main

ldr r0,=data1

ldr r3,=0x40000000

ldr r4,=0x05 ;//length of loop

ldr r1,[r0],#04

sub r4,r4,#01

back

ldr r2,[r0]

cmp r1,r2

bls less ;// branch on low

mov r1,r2

less

add r0,r0,#04

sub r4,r4,#01

cmp r4,#00

bne back

str r1,[r3] ;// smallest value stored in memory location

stop b stop

AREA data,code

data1 dcd &64,&05,&96,&10,&65

END
;/*Program to find largest of N numbers*/

AREA arr,code

ENTRY

main

ldr r0,=data1

ldr r3,=0x40000000

ldr r4,=0x05 ;//length of loop

ldr r1,[r0],#04

sub r4,r4,#01

back

ldr r2,[r0]

cmp r1,r2

bhs large ;// branch on low

mov r1,r2

large

add r0,r0,#04

sub r4,r4,#01

cmp r4,#00

bne back

str r1,[r3] ;// smallest value stored in memory location

stop b stop

AREA data,code

data1 dcd &64,&05,&9,&00,&65

END
;/*Program to convert Hex to ascii*/

AREA arr,code

entry

main

ldr r0,=value1

ldr r1,[r0]

mov r2,r1

cmp r1,#0x09

bhi grt

add r1,r1,#0x30 ;//add 30 if data <9

bl nxt1

grt

add r1,r1,#0x37 ;//add 37h if data>9

nxt1

ldr r4,=0x40000000

str r1,[r4]

stop b stop

AREA data,code

value1 dcd &07

END
;/*Program to convert Ascii to hex*/

AREA arr,code

entry

main

ldr r0,=value1

ldr r1,[r0]

mov r2,r1

cmp r1,#0x39

bhi grt

sub r1,r1,#0x30 ;//SUB 30 if data <39

bl nxt1

grt

sub r1,r1,#0x37 ;//SUB 37h if data>39

nxt1

ldr r4,=0x40000000

str r1,[r4]

stop b stop

AREA data,code

value1 dcd &41

END
;/*Progarm to generate N Fibonic numbers*/

AREA arr,code

ENTRY

main

ldr r0,=value

ldr r1,[r0]

ldr r2,=0x40000000 ;/*memory location fibonic series*/

ldr r9,=0x02

ldr r3,=0x00

mov r6,r2

str r3,[r2],#04

add r3,r3,#01

mov r7,r2

str r3,[r2],#04

back

ldr r4,[r6],#04

ldr r5,[r7],#04

add r5,r4,r5

str r5,[r2],#04

add r9,r9,#01

cmp r9,r1

BNE back

stopb stop

AREA data,code
value dcd &0a ;/* here ten fibonic numbers are ganerated*/

END
;//* To find the factorial of a given number using subroutine*//

AREA arr,code

ENTRY

main

ldr r0,=value

bl fact ;// call subroutine fact

ldr r1,=0x40000000

str r5,[r1]

stop b stop

AREA data,code

value dcd &0a

fact

mov r6,r14

ldr r2,[r0]

cmp r2,#00

beq END1

mov r3,r2

loop

sub r2,r2,#01

cmp r2,#00

mulne r3,r2,r3

bne loop

mov r5,r3

bl END2
END1

ldr r5,=0x01

END2

mov PC,r6 ;// return to main program.

END
;//* To find the multiplication of two 32 bit number *//

AREA ADDTIN,CODE

ENTRY

ldr r0,value1

ldr r1,value2

umull r4,r3,r1,r0

value1 dcd &BBBBBBBB

value2 dcd &CCCCCCCC

end

You might also like