日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

汇编语言之大小写转换问题

發(fā)布時(shí)間:2025/3/15 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 汇编语言之大小写转换问题 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

打開記事本——》alt+右邊的小鍵盤(可以查看ASCII對應(yīng)的字符)
eg:打開記事本——》按住alt鍵,并在右邊小鍵盤打97,松開alt,可以看到出現(xiàn)a——》得知97對應(yīng)的字符為a

上圖中綠色的橫行和縱行組成對應(yīng)字符的十六進(jìn)制

通過對比大寫字母的ASCII碼的值比小寫字母小20H : ASCII(a)-20H=ASCII(A)
通過觀察還可以得出大小寫的差距字體現(xiàn)在二進(jìn)制的第五位

案例:編寫一段代碼,將datasg中第一個(gè)字符串全轉(zhuǎn)化為大寫,第二個(gè)字符串全轉(zhuǎn)化為小寫

assume cs:codesg,ds:datasg datasg segmentdb 'BaSiC' ;將第一個(gè)字符串全部轉(zhuǎn)換為大寫;注意單引號(表明數(shù)據(jù)是以字符的形式給出的)define bytedb 'iNfOrMaTiOn';將第二個(gè)字符串全部轉(zhuǎn)換為小寫 datasg endscodesg segment start: mov ax,datasgmov ds,ax ;設(shè)置ds指向datasg段mov bx,0 ;設(shè)置(bx)=0,ds:bx指向 'BaSiC'的第一個(gè)字母mov cx,5 ;設(shè)置循環(huán)次數(shù)5,因?yàn)?'BaSiC'有五個(gè)字母upLetter:mov al,ds:[bx] ;將ASCII碼從ds:bx所指向的單元中取出and al,11011111B ;將al中的ASCII的第5位為0,變成大寫字母mov ds:[bx],al ;將轉(zhuǎn)變后的ASCII碼寫回原單元inc bx ;bx+1,ds:bx指向下一個(gè)字母loop upLettermov bx,5 ;設(shè)置bx=5,ds:bx指向 'iNfOrMaTiOn'的第一個(gè)字母mov cx,11 ;循環(huán)11次,因?yàn)?'iNfOrMaTiOn'有11個(gè)字母downLetter:mov al,ds:[bx]or al,00100000B ;將al中的ASCII碼的第五位置變成1,變?yōu)樾懽帜竚ov [bx],alinc bxloop downLettermov ax,ac00hint 21hcodesg ends end start

總結(jié)

以上是生活随笔為你收集整理的汇编语言之大小写转换问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。