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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

汇编语言 字母的大小写转换

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

大小寫轉換問題

A 41H 0100 0001B or 0010 0000B 轉換為小寫 B 42H 0100 0010B C 43H 0100 0011B D 44H 0100 0100Ba 61H 0110 0001B and 1101 1111B 轉換為大寫 b 62H 0110 0010B c 63H 0110 0011B d 64H 0110 0100B

方法一:

assume cs:codedata segmentdb 'ABcDEF' ; 將ABcDEF全部轉換為小寫db 'abCdef' ; 將abCdef全部轉換為大寫 data endsstack segment stackdw 0, 0, 0, 0, 0, 0, 0, 0dw 0, 0, 0, 0, 0, 0, 0, 0dw 0, 0, 0, 0, 0, 0, 0, 0dw 0, 0, 0, 0, 0, 0, 0, 0 stack endscode segmentstart: mov ax, datamov ds, axmov bx, 0mov ax, datamov es, axmov cx, 6downLetter: mov dl, ds:[bx]or dl, 00100000B mov es:[bx], dlinc bxloop downLettermov cx, 6mov bx, 6UpLetter: mov dl, ds:[bx]and dl, 11011111Bmov es:[bx], dlinc bxloop UpLettermov ax, 4C00Hint 21Hcode ends end start

方法二:

assume cs:codedata segmentdb 'ABcDEF' ;單引號db 'abCdef' data endsstack segment stackdw 0, 0, 0, 0, 0, 0, 0, 0dw 0, 0, 0, 0, 0, 0, 0, 0dw 0, 0, 0, 0, 0, 0, 0, 0dw 0, 0, 0, 0, 0, 0, 0, 0 stack endscode segmentstart: mov ax, datamov ds, axmov bx, 0mov ax, datamov es, axmov cx, 6setLetter: mov dl, ds:[bx]or dl, 00100000B mov es:[bx], dlmov dl, ds:[bx + 6]and dl, 11011111Bmov es:[bx + 6], dlinc bxloop setLettermov ax, 4C00Hint 21Hcode endsend start

代碼執(zhí)行結果:

data 段中每個單詞的頭一個字母改為大寫

assume cs:code, ds:datadata segment db '1. file 'db '2. edit 'db '3. search 'db '4. view 'db '5. options 'db '6. help 'data endscode segmentstart: mov ax, datamov ds, axmov es, axmov bx, 0mov si, 3mov cx, 6upLetter: mov dl, ds:[bx + si]and dl, 11011111Bmov es:[bx + si], dladd bx, 16loop upLettermov ax, 4C00Hint 21 code endsend start

代碼執(zhí)行結果:

data 段中每個單詞都改為大寫

assume cs:code, ds:datadata segment db '1. ibm 'db '2. dec 'db '3. dos 'db '4. vax 'data endsstack segmentdw 0, 0, 0, 0, 0, 0, 0, 0dw 0, 0, 0, 0, 0, 0, 0, 0 stack endscode segmentstart: mov ax, stackmov ss, axmov sp, 32mov ax, datamov ds, axmov es, axmov cx, 4mov bx, 0mov si, 3upLetter: push cxpush simov cx, 3upRow: mov dl, ds:[bx + si]and dl, 11011111Bmov es:[bx + si], dlinc siloop upRowpop sipop cxadd bx, 16loop upLettermov ax, 4C00Hint 21 code endsend start

代碼執(zhí)行結果:

data 段中每個單詞前4個字母都改為大寫

assume cs:code, ds:datadata segment db '1. display 'db '2. brows 'db '3. replace 'db '4. modify 'data endsstack segmentdw 0, 0, 0, 0, 0, 0, 0, 0dw 0, 0, 0, 0, 0, 0, 0, 0 stack endscode segmentstart: mov ax, stackmov ss, axmov sp, 32mov ax, datamov ds, axmov es, axmov cx, 4mov bx, 0mov si, 3upRow: push cxpush simov cx, 4upCol: mov dl, ds:[bx + si]and dl, 11011111Bmov es:[bx + si], dlinc siloop upColpop sipop cxadd bx, 16loop upRowmov ax, 4C00Hint 21 code endsend start

總結

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

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