我是靠谱客的博主 迷人歌曲,最近开发中收集的这篇文章主要介绍关于如何将汇编语言字符串进行运算(含16进制),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在汇编语言中,将字符串进行运算,包含16进制

需要注意的是首先要将读取的ASCII码进行转换,使其能够成为进行运算的有效数字,在对于16进制的时候还需要检查其是否为字母

我们这里假设的是一空白(null)作为终止符

具体代码如下

SUB     R1, R1, #1

MOV     R0, #0
MOV     R2, #0      //目前的
MOV     R3, #0      //上一个操作字符
MOV     R4, #0      //目前操作字符

READNEXTDEC:

ADD     R1, R1, #1
LDRB    R2, [R1]

CMP     R2, #120        //寻找16进制
BEQ     READNEXTHEX

CMP     R2, #0
BEQ     APPLYOPERATOR   
CMP     R2, #42         //进行乘法运算
BEQ     APPLYOPERATOR       
CMP     R2, #43         //进行加法运算
BEQ     APPLYOPERATOR
CMP     R2, #45         //进行减法运算
BEQ     APPLYOPERATOR

SUB     R2, #48

MOV     R10, #10
MUL     R4, R4, R10
ADD     R4, R4, R2

B       READNEXTDEC

READNEXTHEX:

ADD     R1, R1, #1
LDRB    R2, [R1]

CMP     R2, #120
BEQ     READNEXTHEX

CMP     R2, #0
BEQ     APPLYOPERATOR   
CMP     R2, #42         //进行乘法运算
BEQ     APPLYOPERATOR       
CMP     R2, #43         //进行加法运算
BEQ     APPLYOPERATOR
CMP     R2, #45         //进行乘法运算
BEQ     APPLYOPERATOR
CMP     R2, #120        //遇见X进入16进制程序
BEQ     READNEXTHEX

CMP     R2, #65         //如果是字母
BGE     READTHISHEX

SUB     R2, #48         //ASCII码进行实际数字的转换

MOV     R10, #10
MUL     R4, R4, R10
ADD     R4, R4, R2

B       READNEXTDEC

READTHISHEX:

SUB     R2, #55

MOV     R10, #10
MUL     R4, R4, R10
ADD     R4, R4, R2

B       READNEXTHEX

APPLYOPERATOR:

CMP     R3, #0
BEQ     ADD         //遇见终止符
CMP     R3, #4
BEQ     ADD
CMP     R3, #5
BEQ     SUB
CMP     R3, #6
BEQ     MUL

ADD:

ADD     R0, R0, R4
B       STORENEXTOPERATOR

SUB:

SUB     R0, R0, R4
B       STORENEXTOPERATOR

MUL:

MUL     R0, R0, R4
B       STORENEXTOPERATOR

STORENEXTOPERATOR:

MOV     R4, #0

CMP     R2, #0      //遇见终止符
BEQ     End_Main
CMP     R2, #43     //进行加法运算
BEQ     SETADD
CMP     R2, #45     //进行剑法运算
BEQ     SETSUB
CMP     R2, #42     //进行乘法运算
BEQ     SETMUL
CMP     R2, #120    //在遇见‘x’的时候,表示进行16进制操作
BEQ     READNEXTHEX

SETADD:

MOV     R3, #4
B       READNEXTDEC

SETSUB:

MOV     R3, #5
B       READNEXTDEC

SETMUL:

MOV     R3, #6
B       READNEXTDEC

最后

以上就是迷人歌曲为你收集整理的关于如何将汇编语言字符串进行运算(含16进制)的全部内容,希望文章能够帮你解决关于如何将汇编语言字符串进行运算(含16进制)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部