日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

已知字符串STRING以‘$’为结束标志;统计其中小写字母的个数,结果送到COUNT单元,并把该字符串中的小写字母变成大写字母,其它字符保持不变。要求分别在屏幕上输出原字符串以及修改后的字符串。

發(fā)布時間:2024/3/13 48 豆豆

只為記錄匯編作業(yè)

題目:已知字符串STRING以‘$’為結(jié)束標(biāo)志;統(tǒng)計其中小寫字母的個數(shù),結(jié)果送到COUNT單元,并把該字符串中的小寫字母變成大寫字母,其它字符保持不變。要求分別在屏幕上輸出原字符串以及修改后的字符串。

代碼如下:

;2.已知字符串STRING以‘$’為結(jié)束標(biāo)志;統(tǒng)計其中小寫字母的個數(shù),結(jié)果送到COUNT單元, ;并把該字符串中的小寫字母變成大寫字母,其它字符保持不變。 ;要求分別在屏幕上輸出原字符串以及修改后的字符串。 DATA SEGMENTSTRING DB '1a2a3aABCabc!@#$' ;定義字符串LEN DB $-STRING ;len用來記錄string長度COUNT DB 0 ;count用來記錄小寫字母個數(shù) CRLF DB 0AH,0DH,"$" ;回車換行 DATA ENDS CODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXXOR CX,CX ;CX初始化MOV CL,LEN ;設(shè)置循環(huán)次數(shù)LEA DX,STRING ;使dx指向string初始地址MOV AH,09H ;輸出原字符串INT 21HLEA BX,STRING ;使bx指向string初始地址 X: MOV AL,[BX] ;取bx指向地址所在的字符并放入al中CMP AL,'a' ;字符與小寫a作比較JB NEXT ;小于則跳轉(zhuǎn)next函數(shù)CMP AL,'z' ;字符與小寫z作比較JA NEXT ;大于則跳轉(zhuǎn)next函數(shù)INC COUNT ;使count自增1SUB AL,20H ;使當(dāng)前的小寫字母變成小寫MOV [BX],AL ;把小寫字母變成大寫 NEXT:INC BX ;使bx指向下一個地址LOOP X ;做循環(huán),cx-1 當(dāng)cx=0時則退出循環(huán),執(zhí)行下一條語句LEA DX, CRLF;回車換行 MOV AH, 09H INT 21HLEA DX,STRING ;輸出更新后的字符串MOV AH,09HINT 21HLEA DX, CRLF;回車換行 MOV AH, 09H INT 21H ADD COUNT,30H ;讓count變成ascll碼并且輸出MOV DL,COUNTMOV AH,02HINT 21HMOV AH,4CH ;結(jié)束INT 21H CODE ENDS END START

以下代碼可以輸出10個以上的小寫字母個數(shù)

;2.已知字符串STRING以‘$’為結(jié)束標(biāo)志;統(tǒng)計其中小寫字母的個數(shù),結(jié)果送到COUNT單元, ;并把該字符串中的小寫字母變成大寫字母,其它字符保持不變。 ;要求分別在屏幕上輸出原字符串以及修改后的字符串。 DATA SEGMENTSTRING DB 'aaaaaaaaaaaaaaaaaaaaaaaaaa!@#$' ;定義字符串 26個aLEN DB $-STRING ;len用來記錄string長度COUNT DW 0 ;count用來記錄小寫字母個數(shù) CRLF DB 0AH,0DH,"$" ;回車換行ANS DB 6 DUP(0)TIMES DB 0 DATA ENDS CODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXXOR CX,CX ;CX初始化MOV CL,LEN ;設(shè)置循環(huán)次數(shù)LEA DX,STRING ;使dx指向string初始地址MOV AH,09H ;輸出原字符串INT 21HLEA BX,STRING ;使bx指向string初始地址 X: MOV AL,[BX] ;取bx指向地址所在的字符并放入al中CMP AL,'a' ;字符與小寫a作比較JB NEXT ;小于則跳轉(zhuǎn)next函數(shù)CMP AL,'z' ;字符與小寫z作比較JA NEXT ;大于則跳轉(zhuǎn)next函數(shù)INC COUNT ;使count自增1SUB AL,20H ;使當(dāng)前的小寫字母變成小寫MOV [BX],AL ;把小寫字母變成大寫 NEXT:INC BX ;使bx指向下一個地址LOOP X ;做循環(huán),cx-1 當(dāng)cx=0時則退出循環(huán),執(zhí)行下一條語句LEA DX, CRLF;回車換行 MOV AH, 09H INT 21HLEA DX,STRING ;輸出更新后的字符串MOV AH,09HINT 21HLEA DX, CRLF;回車換行 MOV AH, 09H INT 21H XOR AX,AX ;將count輸出MOV AX,COUNT ;將count放入ax中XOR BX,BX ;bx初始化MOV BX,10 ;將10放入bx中MOV DI,OFFSET ANS ;使di指向ans頭地址F:XOR DX,DX ;dx初始化DIV BX ;ax/bx 因為count是dw類型因此商在AX,余數(shù)在DX,這里的余數(shù)<=9,因此也在DLADD DL,30H ;將dl中的0-9變成ascll碼里的0-9方便輸出MOV [DI],DL ;將dl放入di指向地址的內(nèi)容里INC DI ;di指針+1INC TIMES ;tiems+1,方便后面的倒敘輸出CMP AX,0 ;ax和0作比較,如果ax=0則說明已經(jīng)被除完了JNE F ;如果ax≠0,則跳到f函數(shù)DEC DI ;di指針-1,此時指向的是最高位XOR CX,CX ;cx初始化MOV CL,TIMES ;把times給cl方便循環(huán)輸出 FUNCTION:MOV DL,[DI] ;把dl指向地址的內(nèi)容給dl,并做dos單字符輸出操作MOV AH,2INT 21HDEC DI ;di指針-1LOOP FUNCTION ;cl>0則cl-1并且循環(huán)fuction,否則執(zhí)行下一條語句 MOV AH,4CH ;結(jié)束INT 21H CODE ENDS END START

總結(jié)

以上是生活随笔為你收集整理的已知字符串STRING以‘$’为结束标志;统计其中小写字母的个数,结果送到COUNT单元,并把该字符串中的小写字母变成大写字母,其它字符保持不变。要求分别在屏幕上输出原字符串以及修改后的字符串。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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