最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ARM匯編解決階乘及大小寫(xiě)轉(zhuǎn)換的問(wèn)題

 更新時(shí)間:2021年11月13日 13:40:39   作者:~逍遙子~  
這篇文章主要介紹了ARM匯編解決階乘及大小寫(xiě)轉(zhuǎn)換,包括ARM匯編大小寫(xiě)轉(zhuǎn)換以及存入內(nèi)存的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),需要的朋友可以參考下

環(huán)境以及硬件

一、硬件仿真基于 SAMSUNG's S3C44B0X 16/32-bit RISC microprocessor 芯片,仿真器為 J-LINK

二、編寫(xiě)指令軟件為 Integrated Development Environment ,軟件仿真為 ARMulate.dll

三、需要基于ARM7硬件平臺(tái)的C語(yǔ)言啟動(dòng)代碼,用于分配中斷向量表,初始化ISR地址,初始化堆??臻g,初始化應(yīng)用程序執(zhí)行環(huán)境,配置存儲(chǔ)器系統(tǒng),設(shè)定時(shí)鐘周期,呼叫主應(yīng)用程序。

四、這里僅有關(guān)鍵算法代碼

ARM匯編求一個(gè)數(shù)的階乘

題目:R1寄存器內(nèi)數(shù)據(jù)的階乘運(yùn)算,結(jié)果存放在R0

mov r1,#6          ;將立即數(shù) 6 送至 R1,即為‘6'的階乘,可以更改
 mov r0,r1          ;將 R1 的值給R0
loop              ;定義一個(gè)循環(huán)體標(biāo)簽
 subs r1,r1,#1      ;將 R1-R1 的給R1
 mul r0,r0,r1       ;將 R0*R1 的值給R0
 cmp r1,#1          ;將 R1 與 1 做比較
 BNE loop           ;上面的值不相等則跳轉(zhuǎn)至 loop

ARM匯編大小寫(xiě)轉(zhuǎn)換以及存入內(nèi)存

題目:將內(nèi)存地址0XC100000開(kāi)始處的字符串"Welcome to CSUST!"中對(duì)應(yīng)的小寫(xiě)字母轉(zhuǎn)換成大寫(xiě),大寫(xiě)變換成小寫(xiě)。

說(shuō)明:此算法存在局限性,只能轉(zhuǎn)換不包含ASSIC碼值大于‘127'和在‘91~96'之間的字符串

STRING_WELCOME
	DCB "Welcome to CSUST!\n\0"   ;聲明一個(gè)字符串
	
STRING
	LDR r0,=STRING_WELCOME        ;取得字符串的首地址
	mov r1,#0x0c100000	      ;將#0x0c100000給 R1,目的為將R1指向目標(biāo)地址
STRING2
	LDRB r2,[r0]		      ;取出一個(gè)字符給 R2
	
	cmp r2,#97		      ;將 R2 與 97(即‘a(chǎn)') 作比較
	BGE BIGWORD		      ;大于或等于 97 則跳轉(zhuǎn)至 BIGWORD 子程序
	
	cmp r2,#65		      ;將 R2 與 65(即‘A') 作比較
	BGE SMALLWORD		      ;大于或等于 65 則跳轉(zhuǎn)至 SMALLWORD 子程序
	B MYLOOP		      ;跳轉(zhuǎn)至MYLOOP,存字符
	
BIGWORD				      ;大寫(xiě)轉(zhuǎn)小寫(xiě)子程序
	sub r2,r2,#32		      ;大寫(xiě)字母的assci碼-32 即可轉(zhuǎn)換為小寫(xiě)
	B MYLOOP		      ;跳轉(zhuǎn)至 MYLOOP,存字符
	
SMALLWORD			      ;小寫(xiě)轉(zhuǎn)大寫(xiě)子程序
	add r2,r2,#32		      ;小寫(xiě)字母的assci碼+32 即可轉(zhuǎn)換為大寫(xiě)
	
MYLOOP				      ;存字符子程序
	STRB r2,[r1]		      ;存入R1指定的內(nèi)容
	add r0,r0,#1		      ;R0=R0+1
	add r1,r1,#1		      ;R1=R1+1
	CMP r2,#'\0'		      ;將R2與‘\0'作比較,目的是判斷是否已經(jīng)取完了字符串
	BNE STRING2		      ;上一個(gè)比較不相等則跳轉(zhuǎn)至 STRING2 繼續(xù)取字符

ASSIC碼表

說(shuō)明

1、程序均為原創(chuàng),不一定為最好的解法,歡迎留言或者私信交流;

2、需要開(kāi)發(fā)環(huán)境或者其他資料的也歡迎留言或者私信;

3、若有侵犯?jìng)€(gè)人或團(tuán)體的權(quán)益請(qǐng)及時(shí)聯(lián)系我;

4、本文為原創(chuàng),轉(zhuǎn)載或引用請(qǐng)注明出處

到此這篇關(guān)于ARM匯編解決階乘及大小寫(xiě)轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)ARM匯編大小寫(xiě)轉(zhuǎn)換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 匯編語(yǔ)言之寄存器詳解

    匯編語(yǔ)言之寄存器詳解

    這篇文章主要介紹了匯編語(yǔ)言之寄存器詳解,需要的朋友可以參考下
    2020-01-01
  • 匯編 JMP使用詳解

    匯編 JMP使用詳解

    這篇文章主要介紹了匯編 JMP使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 匯編指令-狀態(tài)寄存器、cmp、test、jz等指令詳細(xì)說(shuō)明

    匯編指令-狀態(tài)寄存器、cmp、test、jz等指令詳細(xì)說(shuō)明

    這篇文章主要介紹了匯編指令-狀態(tài)寄存器、cmp、test、jz等指令詳細(xì)說(shuō)明,需要的朋友可以參考下
    2020-01-01
  • 匯編語(yǔ)言DOSBox及debug.exe在Windows64下環(huán)境搭建

    匯編語(yǔ)言DOSBox及debug.exe在Windows64下環(huán)境搭建

    這篇文章主要為大家介紹了匯編語(yǔ)言環(huán)境的搭建DOSBox及debug.exe在Windows64下安裝配置過(guò)程,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • Debug的基本使用()

    Debug的基本使用()

    Debug是一個(gè)通過(guò)操作系統(tǒng)(os)對(duì)cpu寄存器進(jìn)行訪(fǎng)問(wèn)用于學(xué)習(xí)匯編的程序,但是如今的win10(64位)已經(jīng)不支持cmd打開(kāi)debug,但是我們可以通過(guò)DOSBOX模擬器對(duì)其進(jìn)行訪(fǎng)問(wèn)
    2023-08-08
  • 匯編實(shí)現(xiàn)簡(jiǎn)單選擇排序的方法示例

    匯編實(shí)現(xiàn)簡(jiǎn)單選擇排序的方法示例

    這篇文章主要介紹了匯編實(shí)現(xiàn)簡(jiǎn)單選擇排序的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 淺析ARMv8匯編指令adrp和adr

    淺析ARMv8匯編指令adrp和adr

    這篇文章給大家介紹ARMv8匯編指令adrp和adr的相關(guān)知識(shí),暫時(shí)不介紹alpha生成的指令,因此先來(lái)主要分析一下,arm架構(gòu)之所以少生成匯編指令的原因——adrp指令,感興趣的朋友跟隨小編一起看看吧
    2021-12-12
  • 匯編語(yǔ)言Debug命令詳解教程

    匯編語(yǔ)言Debug命令詳解教程

    這篇文章主要為大家介紹了匯編語(yǔ)言Debug命令的教程,文中對(duì)Debug的命令進(jìn)行了全面的講解有需要的朋友可以借鑒參考共同學(xué)習(xí)下,希望能夠有所幫助
    2021-11-11
  • 匯編語(yǔ)言指令大全 X86和X87匯編指令大全(帶注釋)

    匯編語(yǔ)言指令大全 X86和X87匯編指令大全(帶注釋)

    匯編指令集太多,如果不用就會(huì)忘記,所以將i處理器官方的指令集大全寫(xiě)到博客上,有需要的人可以參考一下
    2021-10-10
  • 匯編語(yǔ)言 跳轉(zhuǎn)指令與C語(yǔ)言的條件分支

    匯編語(yǔ)言 跳轉(zhuǎn)指令與C語(yǔ)言的條件分支

    這篇文章主要介紹了匯編語(yǔ)言 跳轉(zhuǎn)指令與C語(yǔ)言的條件分支,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03

最新評(píng)論

无锡市| 乌鲁木齐市| 宜良县| 双流县| 正阳县| 司法| 城固县| 图片| 凤台县| 钟山县| 吕梁市| 丹寨县| 石河子市| 宿州市| 垦利县| 临邑县| 广水市| 宁强县| 正宁县| 杭锦旗| 霸州市| 霍山县| 清水河县| 长子县| 康乐县| 得荣县| 柳州市| 颍上县| 高阳县| 静宁县| 达尔| 苍溪县| 临清市| 陈巴尔虎旗| 扬中市| 龙井市| 汝城县| 双鸭山市| 南靖县| 霞浦县| 泾川县|