版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 附:課程設(shè)計(jì)報(bào)告格式</p><p> 《組成原理實(shí)踐》課程設(shè)計(jì)報(bào)告</p><p> 題目:簡單字符串處理系統(tǒng)的實(shí)現(xiàn)</p><p> 完成日期: 2013 年 1 月 6 日</p><p><b> 課程設(shè)計(jì)目的</b></p><p> 1、掌握并鞏
2、固順序、分支、循環(huán)結(jié)構(gòu)以及子程序結(jié)構(gòu)的匯編程序設(shè)計(jì)基本技術(shù)和基本方法。</p><p> 2、理解計(jì)算機(jī)在指令系統(tǒng)級的運(yùn)行原理,熟悉DOS功能子程序的調(diào)用。</p><p> 3、掌握輸入輸出子程序的編寫。</p><p> 4、掌握從鍵盤輸入字符(串)與在顯示屏上顯示字符(串)的基本方法。</p><p><b> 二、課
3、程設(shè)計(jì)內(nèi)容</b></p><p> 輸入一個(gè)字符串,掃描該字符串,按數(shù)字、字母和特殊字符3類,把字符分類輸出到屏幕,同時(shí)輸出各類字符的個(gè)數(shù)。</p><p><b> 三、課程設(shè)計(jì)過程</b></p><p> 1、算法設(shè)計(jì)(畫出算法流程圖)</p><p><b> 2、程序代碼<
4、/b></p><p> ; multi-segment executable file template.</p><p> data segment</p><p> ; add your data here!</p><p> string1 db "please input a string:$"&l
5、t;/p><p> string2 db "sum of chars:$" </p><p> string3 db "sum of digits:$"</p><p> string4 db "sum of others:$"</p><p> chars db 0;字母<
6、;/p><p> digit db 0;數(shù)字</p><p> others db 0;其他</p><p><b> ends</b></p><p> stack segment</p><p> dw 128 dup(0)</p><p><b>
7、; ends</b></p><p> code segment</p><p><b> start:</b></p><p> ; set segment registers:</p><p> mov ax, data</p><p> mov ds, ax</
8、p><p> mov es, ax</p><p> ; add your code here</p><p> lea dx, string1 ;顯示輸入提示信息</p><p> mov ah, 09H ;ah 累加器 09H 屏幕顯示功能</p><p> int 21h ; output s
9、tring at ds:dx</p><p> mov cx,100 ;設(shè)置循環(huán)次數(shù)足夠大</p><p> L1:mov AH,01H ; 中斷調(diào)用,單字符輸入</p><p> int 21h ;輸入符號的ASCII代碼在AL寄存器中</p><p> cmp AL,0DH ;若輸入回車符則結(jié)束</p&
10、gt;<p><b> jz over2</b></p><p> cmp AL,30H ;若<30H(0),others++</p><p><b> jb other</b></p><p> cmp AL,39H ;若>39H,跳轉(zhuǎn)進(jìn)一步比較</p><
11、;p> ja higher1</p><p> jmp digital ;digit++</p><p> higher1:cmp al,41H ;若if<41H(A),others++</p><p><b> jb other</b></p><p> cmp AL,5AH
12、 ;若if>5AH(Z),跳轉(zhuǎn)繼續(xù)比較</p><p> ja higher2</p><p> jmp char ;alphau++</p><p> higher2:cmp AL,61H ;若if<61H(a),others++</p><p><b> jb other</b&g
13、t;</p><p> cmp AL,7AH ;若if>7AH(z),others++</p><p><b> ja other</b></p><p> jmp char ;alphau++</p><p> jmp over ;比較結(jié)束</p><p>
14、; other:inc others ;others++</p><p> jmp over ;比較結(jié)束</p><p> char:inc chars ;alphal++</p><p> jmp over ;比較結(jié)束</p><p> digital:inc digit ;dig
15、it++</p><p> jmp over ;比較結(jié)束</p><p><b> over:nop</b></p><p> loop L1 ;循環(huán),輸入下一字符</p><p> over2:call endline ;回車換行</p><p>
16、; lea dx,string2 ;字符串的輸入char</p><p> mov ah,09h</p><p><b> int 21h</b></p><p><b> xor ax,ax</b></p><p> mov al,chars ;將統(tǒng)計(jì)的字符送ax</p&
17、gt;<p> call display ;調(diào)用輸出兩位字符的子程序</p><p> call endline</p><p> lea dx,string3 ;字符串的輸出digits</p><p> mov ah,09h</p><p><b> int 21h</b></p
18、><p><b> xor ax,ax</b></p><p> mov al,digit ;將統(tǒng)計(jì)的數(shù)字送ax</p><p> call display ;調(diào)用輸出兩位數(shù)字的子程序</p><p> call endline</p><p> lea dx,string4 ;字
19、符串的輸入others</p><p> mov ah,09h</p><p><b> int 21h </b></p><p><b> xor ax,ax</b></p><p> mov al,others ; 將統(tǒng)計(jì)的數(shù)字送ax</p><p> cal
20、l display ;調(diào)用輸出兩位數(shù)字的子程序</p><p> mov ah,4ch</p><p><b> int 21h</b></p><p> endline proc near;控制輸出格式,輸出回車換行子程序</p><p> mov ah,02h</p><p>
21、 mov dl,0ah</p><p> int 21h ;輸出換行符</p><p> mov ah,02h</p><p> mov dl,0dh</p><p> int 21h ;輸出回車符</p><p><b> ret</b></p>&l
22、t;p> endline endp </p><p> display proc near;輸出兩位數(shù)字的子程序(十進(jìn)制)</p><p><b> mov bl,10</b></p><p> div bl ;ax/bl,al=商,ah=余數(shù)</p><p> push ax ;保存ax中
23、的信息</p><p><b> mov dl,al</b></p><p> add dl,30h</p><p> mov ah,02h</p><p> int 21h ;輸出十位數(shù)</p><p> pop ax ;出棧送AX</p><p&
24、gt;<b> mov dl,ah</b></p><p> add dl,30h</p><p> mov ah,02h </p><p> int 21h ;輸出個(gè)位數(shù)</p><p><b> ret</b></p><p> dis
25、play endp; output string at ds:dx</p><p> ; wait for any key.... </p><p><b> mov ah, 1</b></p><p><b> int 21h</b></p><p> mov ax, 4c00h ;
26、 exit to operating system.</p><p> int 21h </p><p><b> ends</b></p><p> end start ; set entry point and stop the assembler.</p><p> 3、系統(tǒng)運(yùn)行結(jié)果截圖</p&
27、gt;<p><b> 四、課程設(shè)計(jì)體會</b></p><p> 通過綜合的編程實(shí)踐,熟悉運(yùn)用指令,熟悉DOS功能子程序的調(diào)用,掌握輸入輸出子程序的編寫,掌握從鍵盤輸入字符(串)與在顯示屏上顯示字符(串)的基本方法。使我在學(xué)習(xí)完《計(jì)算機(jī)組成與結(jié)構(gòu)》理論知識的基礎(chǔ)上,進(jìn)一步地理解計(jì)算機(jī)在指令系統(tǒng)級的運(yùn)行原理,更好地掌握指令的工作原理以及CPU與外設(shè)交互的具體方式。</
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算機(jī)組成原理與匯編語言課程設(shè)計(jì)(學(xué)生成績管理)
- 計(jì)算機(jī)組成原理與匯編語言課程設(shè)計(jì)(字母與進(jìn)制轉(zhuǎn)換系統(tǒng))
- 計(jì)算機(jī)組成原理與匯編語言(組成原理部分)2000級
- 《計(jì)算機(jī)組成原理》課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)--計(jì)算機(jī)組成原理算法實(shí)現(xiàn)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)---模型機(jī)組成設(shè)計(jì)
- 匯編課程設(shè)計(jì)-字符串查找與替換
- c語言課程設(shè)計(jì)--字符串類
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)組成原理-課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)日志
- 計(jì)算機(jī)組成原理與匯編語言程序設(shè)計(jì)課后習(xí)題及解答詳解
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告
評論
0/150
提交評論