如何找到阵列汇编语言最大值? [英] how to find max value in array assembly language?

查看:340
本文介绍了如何找到阵列汇编语言最大值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  0 .org等
。code 32
。文本
数组:.word 10,11,12,13,14
/ *如何使用寄存器和如何找到一个数组的最大数量访问上面数组* /
我们如何能够利用ARM指令* /解决/ *同样的问题


解决方案

  0 .ORG
。code 32
。文本_array:
    .word 10,9,14,13,15
    .skip 512_start:全球的_start    ADR R0,_array
    LDR R5 = 4
    ; LDR R3,= 0
    LDR R1,[R0],#4
    MOV R2,R1循环:
    LDR R1,[R0],#4
    CMP R2,R1
    BLT循环1
    子R5,R5,#1
    CMP r5中,#0
    BEQ叫停
    BGT循环
循环1:
    MOV R2,R1
    子R5,R5,#1
    CMP r5中,#0
    BEQ叫停
    BGT循环停止:乙叫停

.org 0
.code 32
.text
array : .word 10,11,12,13,14
/* how to access above array by using registers and how to find the maximum number of an array*/
/*same problem how can we solve by using ARM Directives*/ 

解决方案

.org 0
.code 32
.text

_array : 
    .word 10,9,14,13,15
    .skip 512

_start : .global _start

    adr r0,_array
    ldr r5,=4
    ;ldr r3,=0
    ldr r1,[r0],#4
    mov r2,r1

loop : 
    ldr r1,[r0],#4
    cmp r2,r1
    blt loop1
    sub r5,r5,#1
    cmp r5,#0
    beq halt
    bgt loop
loop1:
    mov r2,r1
    sub r5,r5,#1
    cmp r5,#0
    beq halt
    bgt loop    

halt: b halt

这篇关于如何找到阵列汇编语言最大值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆