欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
分類統計字符個數 匯編語言
[打印本頁]
作者:
zy6011
時間:
2018-1-13 12:57
標題:
分類統計字符個數 匯編語言
DATAS SEGMENT
STRING1 DB'Please input a string:
;輸入提示信息
STRING2 DB'Number of letter:
;各類字符提示信息
STRING3 DB'Number of digits:
STRING4 DB'Number of others:
STRING5 DB'Number of upperletter:
STRING6 DB'Number of lowerletter:
LETTER DB 0 ;字母
UPPERLETTER DB 0;大寫字母
LOWERLETTER DB 0;小寫字母
DIGIT DB 0 ;數字
OTHERS DB 0 ;其他
DATAS ENDS
STACKS SEGMENT PARA STACK 'STACK';此處輸入堆棧段代碼
DB 256 DUP(?)
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
start: MOV AX,DATAS
MOV DS,AX
LEA DX,STRING1 ;顯示輸入提示信息Please input a string,LEA取指功能實現。
MOV AH,09H ;09H為字符串輸出
INT 21H ;中斷調用,INT 21H 中斷為DOS中斷
MOV CX,80 ;設置循環次數足夠大,CX用來保存循環指令
L1: MOV AH,01H ;中斷調用,單字符輸入,01H帶回顯的鍵盤輸入,
INT 21H ;輸入符號的ASCII代碼在AL寄存器中。
CMP AL,0DH ;若輸入回車符則結束,CMP比較指令。如果為數字:30H---39H
JZ OVER2 ;JZ條件轉移指令,根據ZF進位轉移
CMP AL,30H ;若<30H(0),OTHERS++
JB OTHER ;JB條件轉移指令,為低于不高于指令。
CMP AL,39H ;若>39H(9),跳轉進一步比較
JA ONE ;JA條件轉移指令。為高于/不低于指令。
JMP DIGITAL ;DIGIT++,JMP無條件轉移指令,
ONE: CMP AL,41H ;若IF<41H(A),OTHERS++ 如果為大寫字母“A-Z”字符:41H---5AH
JB OTHER
CMP AL,5AH ;若IF>5AH(Z),跳轉繼續比較
JA TWO
JMP CHAR1 ;檢測為大寫字母,字母和大寫字母數加一
TWO: CMP AL,61H ;若IF<61H(a),OTHERS++ 如果為小寫字母字符“a-z”字符:61H--7AH
JB OTHER
CMP AL,7AH
JA OTHER
JMP CHAR2 ;檢測為小寫字母,字母和小寫字母數加一
JMP OVER ;比較結束
OTHER: INC OTHERS
JMP OVER
CHAR1: INC LETTER ;字母
INC UPPERLETTER ;大寫字母
JMP OVER ;比較結束
CHAR2: INC LETTER ;字母
INC LOWERLETTER ;小寫字母
JMP OVER ;結束比較
DIGITAL:INC DIGIT ;DIGIT++
JMP OVER ;比較結束
JMP OVER ;比較結束
OVER: NOP
LOOP L1 ;循環,輸入下一字符
OVER2: CALL HUANHUANG ;回車換行
LEA DX,STRING2 ;字符串的輸出Number of letter
MOV AH,09H ;09H為字符串輸出
INT 21H ;中斷調用,INT 21H 中斷為DOS中斷
XOR AX,AX
MOV AL,LETTER ;將統計的數字送 AX
CALL OUTPUT ;調用輸出兩位數字的子程序
CALL HUANHUANG ;回車換行
LEA DX,STRING5 ;字符串的輸出Number of upperletter
MOV AH,09H ;09H為字符串輸出
INT 21H
XOR AX,AX
MOV AL,UPPERLETTER ;將統計的數字送AX
CALL OUTPUT ;調用輸出兩位數字的子程序
CALL HUANHUANG ;回車換行
LEA DX,STRING6 ;字符串的輸出Number of lowerletter:
MOV AH,09H ;09H為字符串輸出
INT 21H
XOR AX,AX
MOV AL,LOWERLETTER ;將統計的數字送AX
CALL OUTPUT ;調用輸出兩位數字的子程序
CALL HUANHUANG ;回車換行
LEA DX,STRING3 ;字符串的輸出為Number of digits:
MOV AH,09H ;09H為字符串輸出
INT 21H
XOR AX,AX
MOV AL,DIGIT ;將統計的數字送AX
CALL OUTPUT ;調用輸出兩位數字的子程序
CALL HUANHUANG ;回車換行
LEA DX,STRING4 ;字符串的輸出Number of others
MOV AH,09H ;09H為字符串輸出
INT 21H
XOR AX,AX
MOV AL,OTHERS ;將統計的數字送AX
CALL OUTPUT ;調用輸出兩位數字的子程序
MOV AH,4CH ;4CH帶返回碼結束
INT 21H
HUANHUANG PROC NEAR ;控制輸出格式,輸出回車換行子程序
MOV AH,02H
MOV DL,0AH ;0AH鍵盤輸入至緩沖區
INT 21H ;輸出換行符
MOV AH,02H
MOV DL,0DH ;0DH鍵盤復位。
INT 21H ;輸出回車符
RET
HUANHUANG ENDP
OUTPUT PROC NEAR ;輸出兩位數字的子程序(輸出兩位數字為十進制)
MOV BL,10
DIV BL ;AX/BL,AL=商,AH=余數
PUSH AX ;保存AX中的信息
MOV DL,AL
ADD DL,30H ;十進制轉為ASCAII碼
MOV AH,02H ;顯示一個字符
INT 21H ;輸出十位數
POP AX ;出棧送AX
MOV DL,AH
ADD DL,30H
MOV AH,02H ;顯示一個字符
INT 21H ;輸出個位數
RET
OUTPUT ENDP
CODES ENDS
END START
復制代碼
作者:
zy6011
時間:
2018-1-13 15:08
附件見下面
基于8086的波形發生器設計與proteus電路仿真_魏鳳旗.pdf
2018-1-13 15:07 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
628.67 KB, 下載次數: 4, 下載積分: 黑幣 -5
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1