搜索
bottom↓
回复: 1

请教大虾,帮我看一个小的汇编程序,谢谢了!!!

[复制链接]

出0入0汤圆

发表于 2010-11-14 09:38:14 | 显示全部楼层 |阅读模式
SYS_WRITEC        EQU                &3
                        AREA        STR_OUT,CODE,READONLY
                        ENTRY
START                           MOV                SP,#0xD000
                        MOV                R1,#0xB000
                        ADR                R2,TEXT
                        BL                STROUT
                        MOV                R0,#0x18
                        LDR                R1,=0x20026
                        SWI                0x123456
                       
STROUT               
                        STMFD        SP!,{R0-R3,LR}
CHROUT                LDRB        R3,[R2],#1
                        CMP                R3,#0
                        STR                R3,[R1]
                        MOV                R0,#SYS_WRITEC
                        SWINE        0x123456
                        BNE                CHROUT
                        LDMFD        SP!,{R0-R3,PC}
                       
                        LTORG
TEXT                DCB                "Hello World!",0x0a,0x0d,0x0
                        END
现在我不明白这句 SWINE    0x123456是怎么执行的,这句第一次执行完的结果是在AXD的Console中显示“H“字符,为什么啊?
ps:START段中的SWI 0x123456的作用是什么啊,执行的话的结果是什么啊?

出0入0汤圆

发表于 2010-11-14 15:50:08 | 显示全部楼层
表示R3不为0时执行SWI指令,SWINE = SWI if not equal
SWI 0x123456表示请求编号为0x123456的系统服务,执行后会触发SVC异常
建议学习一下ARM的基础知识
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-10 07:14

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表