匯編語言循環(huán)結(jié)構(gòu)程序設(shè)計(jì)_第1頁
匯編語言循環(huán)結(jié)構(gòu)程序設(shè)計(jì)_第2頁
匯編語言循環(huán)結(jié)構(gòu)程序設(shè)計(jì)_第3頁
匯編語言循環(huán)結(jié)構(gòu)程序設(shè)計(jì)_第4頁
匯編語言循環(huán)結(jié)構(gòu)程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、實(shí)驗(yàn)五循環(huán)結(jié)構(gòu)程序設(shè)計(jì)1、 實(shí)驗(yàn)?zāi)康氖煜こ绦蚩蚣埽焕斫鈫沃匮h(huán)與多重循環(huán)程序的結(jié)構(gòu)及執(zhí)行過程;掌握循環(huán)控制指令的用法, 會使用數(shù)據(jù)串操作指令編程;熟練掌握循環(huán)結(jié)構(gòu)程序的設(shè)計(jì)方法和利用設(shè)置斷點(diǎn)調(diào)試程序的方法。2、 示例閱讀下面程序框架,并加以注釋DATA_SEG SEGMENT AT 0E000HARRAY_B LABEL BYTEARRAY_W DW 50 DUP (?)DATA_SEG ENDS;以上為定義數(shù)據(jù)段STACK_SEG SEGMENT PARA STACK STACKDW100H DUP (?)TOSLABEL WORDSTACK_SEG ENDS;以上為定義堆棧段CODE_SE

2、GSEGMENTMAIN PROC FARASSUME CS: CODE_SEG, DS: DATA_SEG, SS: STACK_SEGORG 1000HSTART:MOV AX, STACK_SEGMOV SS, AX;給$賦值MOV SP, OFFSET TOS;給SP賦值PUSH DS臨時保存DS的值SUB AX, AXPUSH AXMOV AX, DATA_SEGMOV DS, AX;給 DS 賦值;程序段RETMAIN ENDPCODE_SEGENDS;以上定義代碼段END START3、 實(shí)驗(yàn)題1 編寫程序,從鍵盤接收一個小寫字母,然后找出它的前導(dǎo)字符和后續(xù)字符,再按順序顯示這三

3、個字符。2 試編制一個程序把AX 中的 16 進(jìn)制數(shù)轉(zhuǎn)換為ASCII 碼,并將對應(yīng)的ASCII 碼依次存放到MEM 數(shù)組中的四個字節(jié)中。例如,當(dāng)(AX)=2A49H 時,程序執(zhí)行完后,MEM 中的 4 個字節(jié)內(nèi)容為39H, 34H, 41H, 32H。4、 實(shí)驗(yàn)報(bào)告寫出程序清單、加注釋;記錄執(zhí)行結(jié)果。再按順序顯示1 編寫程序,從鍵盤接收一個小寫字母,然后找出它的前導(dǎo)字符和后續(xù)字符,這三個字符。程序代碼:DATAS SEGMENT;此處輸入數(shù)據(jù)段代碼DATAS ENDSSTACKS SEGMENT;此處輸入堆棧段代碼STACKS ENDSCODES SEGMENTASSUME CS:CODES,

4、DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXMOV AH,07HINT 21HSUB AL,1AL數(shù)-1 ,得到該字母的前導(dǎo)字符MOV DL,ALMOV AH,02H ;將輸入的字符放入AHINT 21HADD AL,1AL數(shù)+1 ,得到原字符MOV DL,ALMOV AH,02HINT 21HADD AL,1;將人1數(shù)再+1 ,得到該字母的后續(xù)字符MOV DL,ALMOV AH,02HINT 21H;此處輸入代碼段代碼MOV AH,4CHINT 21HCODES ENDSEND START運(yùn)行結(jié)果:從鍵盤上輸入小寫字母r,返回qrs三個字符,驗(yàn)證

5、正確qrsPress any 'k&y tc contioLJie從鍵盤上輸入小寫字母 b,得到abc三個字符/ 界 C:J M S O FTMa >mb i n D''J/Temp.exe Press any key tu continue2試編制一個程序把 AX中的16進(jìn)制數(shù)車專換為 ASCII碼,并將對應(yīng)的 ASCII碼依次存放到MEM數(shù)組中的四個字節(jié)中。例如,當(dāng) (AX)=2A49H 時,程序執(zhí)行完后, MEM中的4個字 節(jié)內(nèi)容為 39H, 34H, 41H, 32H。 程序代碼:DATAS SEGMENTMEM DB 4 DUP(?)DATAS

6、ENDS;以上定義數(shù)據(jù)段CODES SEGMENT 代碼段ASSUME CS:CODES,DS:DATASMAIN PROC FARMOV AX,DATAS ;初始化MOV DS,AX ;將2*值賦數(shù)據(jù)段MOV AX,2A49H ;給AX賦值MOV CX,4MOV DI,3L1:PUSH CX Ncx的值壓入棧底保存MOV CL,4 ;設(shè)置循環(huán)次數(shù)=4ROL AX,CL ;不含cf循環(huán)左移4次MOV BX,AXAND BX,0FH ; 取低四位ADD BX,30H ;將其轉(zhuǎn)換為相對的ASCII碼CMP BX,3AH ;比較判斷是否為09JB L2 ;跳轉(zhuǎn)ADD BX,7L2:MOV MEMDI

7、,BL ;轉(zhuǎn)換的 ASCII 碼送入 MEM 中DEC DI ;di 減 1POP CX ;從堆棧彈出cxLOOP L1 ;循環(huán)MOV AH,4CHINT 21HMAIN ENDPCODES ENDS;以上定義代碼段END MAIN運(yùn)行結(jié)果:DOS Bex £l74, Cpu speed:3000 cycles, Frameskip 0, Pr&gran: DEBUG-g =9 Zdnx=4cq號 Bx=uoay DS=Of?70 ES=07SO 0?71:0GZD CDZ1 -d 07?G:O0770:0660 39 34 0779: 001O BS 70 0770:062

8、0 04 D3 0779:0630 83 C3 Q?79:0G40 如 00 R7?D:0fi50 00 0fi 0779:0660 00 90 R770:Qfi7ft 00CX 二 fcTOfcW LX=(®U0 SSG76F 08=0771 IP=GGCD1MT 21二扇加 D14FFFNU UP El 惟 MZ AC PE CY4107C00700 陽90 RA328E8B麗G0用G0AA00D8D8 3D 60 03 0000 B8 83 G& 00 (W OQ0O-G0 ZA-B5 0F-83 4F-5900-0000-004 P9 BGteeIBo §121。吶。 s 7 M Aioia H30AD

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論