



免費預覽已結束,剩余1頁可下載查看
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
匯編編程:從鍵盤輸入一串字符,分別統計其中的字母(不區分大小寫)、數字字符和其他鍵盤輸入一串字符,統計出其中的數字字符個數,字母字符(不區分大小寫)個數,其他字符個數,并顯示出這三類統計結果(輸入字符串以回車結束),可連續對多個字符串統計,用戶輸入N時退出程序。要求:題目分析(如何實現,以及實現的關鍵技術或步驟)2.要有流程圖3.寫出程序代碼4.寫出上機操作步驟,給出輸入的數據及程序運行結果。; 題目名稱:分類統計字符; 題目來源:/question/131013276.html; 本程序在MASMPlus 1.2集成環境下通過編譯,經過調試,運行正確。Code Segment Assume CS:Code,DS:Code; ; 功能:顯示指定地址(Str_Addr)的字符串; 入口:; Str_Addr字符串地址(要求在數據段); 用法: Output Str_Addr; 用法舉例:Output PromptStrOutput MACRO Str_Addr lea dx,Str_Addr mov ah,9 int 21h EndM; ; 功能:在當前光標位置顯示一個字符; 入口:dl=要顯示的字符 Output_Chr proc Near push ax mov ah,02h int 21h pop ax ret Output_Chr Endp ; ; 功能:顯示、輸出一個回車、換行Output_CTLF proc Near push ax push dx mov ah,02h mov dl,0dh int 21h mov dl,0ah int 21h pop dx pop ax retOutput_CTLF Endp ; ; 功能:把AX中的二進制無符號數轉換成顯式的十進制ASCII碼,并送顯示屏顯示; 入口:AX=二進制數 ; 出口:在當前光標位置顯示轉換后的ASCII碼數字 Unsi_Dec_ASCII Proc Near push dx push bx push di mov bx,10 lea di,Temp_Save5 mov BYTE PTR di,$ dec di cld Divide: xor dx,dx div bx or dl,30h mov di,dl dec di test ax,ax jnz Divide inc di push di pop dx mov ah,9 int 21h pop di pop bx pop dx ret Temp_Save db 6 dup(?)Unsi_Dec_ASCII EndP; ; 功能:鍵盤輸入一個字符,若輸入的是y或n(不分大小寫),則顯示并返回; 入口:無; 出口:若輸入的是y,進位標志置位;若輸入的是n,進位標志復位。Yes_or_No proc Near push dx push axInput_Chr: mov ah,7 ;不帶回顯的鍵盤輸入 int 21h mov dl,al and al,0dfh cmp al,Y jnz $+5 stc jmp $+7 cmp al,N jnz Input_Chr clc mov ah,2 int 21h pop ax pop dx retYes_or_No Endp; Letters dw ? ;字母個數Dights dw ? ;數字個數Others dw ? ;其它字符個數Letters_sum db 13,10,Letters: $Dights_sum db 13,10,Digits : $Others_sum db 13,10,Others : $Prompt_Str db Please input a string:$Prompt_Con db 13,10,13,10,Continue(Y/N)?$Press_Key db 7,13,10,13,10,The complated. Press any key to exit.$ Start: push cs pop ds push cs pop es; ; 從鍵盤上連續輸入一串字符(字符個數不超過80個,該字符串用回車符結束)Input_Str: Output Prompt_Str ;提示輸入一串字符 lea dx,Buffer ;輸入字符串緩沖區地址 mov ah,0ah ;從鍵盤接收字符串 int 21h call Output_CTLF ;輸出一個回車、換行; ; 按字母、數字、其它字符分類統計計數 lea si,Buffer1 ;實際輸入的字符數地址 lodsb ;讀入實際輸入的字符數 xor ah,ah mov cx,ax ;實際輸入的字符數送計數器 jcxz Continue mov Letters,0 ;字母計數單元清零 mov Dights,0 ;數字計數單元清零 mov Others,0 ;其它字符計數單元清零Classify: lodsb ;當前字符AL cmp al,0 ;當前字符9? ja $+8 ;大于,轉去判斷是否字母 inc Dights ;數字計數 jmp Other_Chr4 mov ah,al ;alah,用于判斷是否字母 and ah,0dfh ;屏蔽第5位,按大寫字母處理 cmp ah,A ;當前字符Z? ja Other_Chr ;大于,轉去按其它字符處理 inc Letters ;字母計數 jmp $+6Other_Chr: inc Others ;其它字符計數 loop Classify; ; 顯示分類統計結果 Output Letters_sum mov ax,Letters ;字母個數 call Unsi_Dec_ASCII ;把AX中的二進制無符號數轉換成顯式的十進制ASCII碼,并送顯示屏顯示 Output Dights_sum mov ax,Dights ;數字個數 call Unsi_Dec_ASCII Output Others_sum mov ax,Others ;其它字符個數 call Unsi_Dec_ASCIIContinue: Output Prompt_Con call Yes_or_No jnc Exit_Proc call Output_CTLF call Output_CTLF jmp Input
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 設施設備維護管理制度
- 設計食堂進出管理制度
- 診所人員培訓管理制度
- 診所熬藥日常管理制度
- 試劑耗材節約管理制度
- 財務資金規范管理制度
- 財富管理平臺管理制度
- 貨物搬運裝卸管理制度
- 貨物配送薪酬管理制度
- 貨車安全培訓管理制度
- 【課件】無脊椎動物+第2課時課件-2024-2025學年人教版生物七年級上冊
- 2025年涼山州昭覺縣選聘社區工作者題庫帶答案分析
- 非法傾倒處置固體廢物整治實施方案
- 2025合同范本電子產品購銷合同
- 2025國開《調劑學(本)》形考任務1234答案
- 2025年通信工程與技術考試試卷及答案
- 2025年員工持股平臺合伙協議
- JG/T 100-1999塔式起重機操作使用規程
- 2024-2025學年下學期初中道德與法治七年級期末復習試卷(含答案)
- 防范和打擊非法金融活動競賽試題庫500題(含答案)
- 2025連云港師范高等專科學校輔導員考試試題及答案
評論
0/150
提交評論