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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

汇编语言 循环嵌套 将datasg段中每个单词改为大写字母 改进版

發布時間:2024/2/28 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 汇编语言 循环嵌套 将datasg段中每个单词改为大写字母 改进版 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目要求

將datasg段中每個單詞改為大寫字母

思路

注意用al存放ascii即可
大寫對應的ascii第五位是0,除了第五位以外不變 and al,11011111b
注意循環嵌套的時候 只有一個cx不夠用怎么辦 可以放在dx中臨時存儲 等內循環執行完畢后 再從dx中將cx取出 即可正常嵌套循環

改進:將cx放棧中 這樣使用push pop指令更方便 并且解決寄存器數量有限的問題

運行過程

執行前:所有行都是小寫

執行完一遍外循環:第一行變成大寫

執行完所有外循環:所有行都變成大寫

程序結束

代碼(原始)

;將datasg段中每個單詞改為大寫字母 ;注意用al存放ascii即可 ;;大寫對應的ascii第五位是0,除了第五位以外不變 and al,11011111b assume cs:code,ds:datasgdatasg segmentdb 'ibm 'db 'dec 'db 'dos 'db 'vax ' datasg endscode segment start:;把datasg地址放到ds中mov ax,datasgmov ds,axmov si,0mov cx,6 ;6行 循環6次 s1: ;外循環6mov dx,cx ;用dx暫存cxmov bx,0 ;從第0個字母開始mov cx,3 ;改變3個字母 3次循環 s2: ;內循環mov al,ds:[si+bx] ;取出and al,11011111b ;改成大寫mov ds:[si+bx],al ;放回inc bxloop s2 ;內循環底部mov cx,dx ;把外循環的cx還給它mov ax,si ;借助axadd ax,10h ;借助ax指向下一行mov si,ax ;ds指向下一行loop s1 ;外循環底部mov ax,4c00hint 21h code ends end start

改進后

題目有一點點小的變化:

題目要求

編程,將datasg段中每個單詞的前4個字母改為大寫字母

*本次改進,增加了對棧的使用

運行過程

執行一次外循環后,第一行單詞前三個字母被改為大寫

執行所有外循環后,所有單詞前三個字母被改為大寫,成功~

代碼

還是圖片版代碼看著舒服 有高亮

;編程,將datasg段中每個單詞的前4個字母改為大寫字母 assume cs:codesg,ss:stacksg,ds:datasgstacksg segment stackdw 0,0,0,0,0,0,0,0 stacksg endsdatasg segmentdb '1. display 'db '2. brows 'db '3. replace 'db '4. modify ' datasg endscodesg segment start: ;把datasg地址放到ds中mov ax,datasgmov ds,ax;把stacksg地址放到ss中mov ax,stacksgmov ss,axmov sp,10h ;設置棧頂mov si,0 ;si控制行數;外循環6mov cx,6 ;6行 循環6次 s1: push cx ;cx值存入棧mov bx,3 ;從第3個字符開始;內循環3mov cx,3 ;改變3個字母 3次循環 s2: mov al,ds:[si+bx] ;取出and al,11011111b ;改成大寫mov ds:[si+bx],al ;放回inc bxloop s2 ;內循環底部pop cx ;cx的值pop回去mov ax,si ;借助axadd ax,10h ;借助ax指向下一行mov si,ax ;ds指向下一行loop s1 ;外循環底部mov ax,4c00hint 21h codesg ends end start

總結

以上是生活随笔為你收集整理的汇编语言 循环嵌套 将datasg段中每个单词改为大写字母 改进版的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。