首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Arm 7组件中打印3位十六进制数字

在Arm 7组件中打印3位十六进制数字
EN

Stack Overflow用户
提问于 2014-04-10 22:53:21
回答 1查看 360关注 0票数 0

好了,伙计们,我需要你们在这个项目上的帮助。我尝试打印出三位数的十六进制数字,每次增加345。我知道在汇编中,我应该单独打印十六进制数的每一部分。我会做移位"lsr",但我得到了一个错误的数字的第一部分。0后面的第一个数字应该是149 (十进制为345),但我得到的是A59 (十进制为2649)。

下面是我的代码

代码语言:javascript
运行
复制
.globl _start
_start:
    ldr r4,=0x101f1000
    mov r0, #0x00
    lsl r0, #4
    add r0, #0
    mov r5, #0xBB
    lsl r5, #4
    add r5, r5, #8
my_loop:
    cmp r0, r5
    bgt my_exit
    lsr r1, r0, #6
    and r1, r1, #0x0000000f
    cmp r1, #10
    addlt r1, r1, #48
    addge r1, r1, #55
    str r1, [r4]
    lsr r1, r0, #4
    and r1, r1, #0x0000000f
    cmp r1, #10
    addlt r1, r1, #48
    addge r1, r1, #55
    str r1, [r4]
    lsr r1, r0, #0
    and r1, r1, #0x0000000f
    cmp r1, #10
    addlt r1, r1, #48
    addge r1, r1, #55
    str r1, [r4]
    mov r1, #13 
    str r1, [r4]        
    mov r1, #10     
    str r1, [r4]        

    add r0, r0, #99
    add r0, r0, #99
    add r0, r0, #99
    add r0, r0, #48
    b my_loop

my_exit:
EN

回答 1

Stack Overflow用户

发布于 2014-04-10 23:21:04

我刚刚发现我的轮班是不正确的,应该是8位而不是6位。还要感谢@Michael给出了同样的答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22991597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档