




已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第 32 頁匯編語言程序設(shè)計(jì)實(shí)驗(yàn)網(wǎng)絡(luò)* *匯編語言程序設(shè)計(jì)實(shí)驗(yàn)網(wǎng)絡(luò)* *實(shí)驗(yàn)一 順序與分支程序設(shè)計(jì)一 、實(shí)驗(yàn)?zāi)康?1) 掌握順序程序設(shè)計(jì)方法。2) 掌握分支程序的結(jié)構(gòu)及分支程序的設(shè)計(jì),調(diào)試方法。 2) 學(xué)習(xí)數(shù)據(jù)傳送及算術(shù)和邏輯運(yùn)算指令的用法。 3) 熟悉在pc機(jī)上建立、匯編、連接、調(diào)試和運(yùn)行匯編語言程序的過程。 二、實(shí)驗(yàn)內(nèi)容 1.實(shí)驗(yàn)六 從鍵盤上接收一位十進(jìn)制數(shù)x,計(jì)算y值,并以十六進(jìn)制形式顯示出來,y按下列公式計(jì)算。2.實(shí)驗(yàn)七實(shí)驗(yàn)內(nèi)容:從鍵盤上接收兩個(gè)一位十六進(jìn)制數(shù)x和y,然后再輸入一個(gè)a-d之間的一個(gè)字符,按下列要求計(jì)算。a) 當(dāng)輸入字符為a,則計(jì)算x+y,并以十六進(jìn) 制形式顯示出來b) 當(dāng)輸入字符為b,則計(jì)算|x-y|,并以十六進(jìn)制形式顯示出來c) 當(dāng)輸入字符為c,則計(jì)算x*y,并以十六進(jìn)制形式顯示出來d) 當(dāng)輸入字符為d,則計(jì)算x/y,并以十六進(jìn)制形式顯示出來3、 實(shí)驗(yàn)代碼 實(shí)驗(yàn)六DATE SEGMENT X DB ?DATE ENDS ;數(shù)據(jù)段CODE SEGMENT ASSUME CS:CODE,DS:DATE START:MOV AX,DATE ;代碼段 MOV DS,AX ;初始化ds寄存器 MOV AH,1 INT 21H ;讀文件到緩沖區(qū) CMP AL,33H ;比較指令 JB L0 ;AB CMP AL,36H JA L0 AND AL,0FH ;邏輯與指令 MOV X,AL ;al給x MOV AL,X CMP AL,3H JE L1 ;執(zhí)行L1命令 CMP AL,4H JE L4 ;執(zhí)行L4命令 CMP AL,5H JE L6 ;執(zhí)行L6命令 CMP AL,6H JE L7 ;執(zhí)行L7命令 L1:MUL AL ADD AL,X ;al+x L5:MOV BL,AL MOV CL,4 SHR AL,CL ;移位指令 CMP AL,9 JLE L2 ;轉(zhuǎn)移指令。小于或等于,或者不大于則轉(zhuǎn)移 ADD AL,7 L2:ADD AL,30H ;寄存器al加0x30 MOV DL,AL MOV AH,2 ;把2放入ah里 INT 21H AND BL,0FH ;邏輯與運(yùn)算指令 CMP BL,9 JLE L3 ADD BL,7 ;相加 L3:ADD BL,30H MOV DL,BL MOV AH,2 INT 21H JMP L0 L4:MUL AL SUB AL,X SUB AL,X JMP L5 L6:MUL AL JMP L5 L7:MUL AL SHR AL,1 JMP L5 L0:MOV AH,4CH INT 21HCODE ENDSEND START實(shí)驗(yàn)七DATA SEGMENT X DB 0 Y DB 0 W DB 0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX XOR AX,AX MOV AH,1 INT 21H CMP AL,39H JBE L1 SUB AL,07H L1:SUB AL,30H MOV X,AL MOV AH,1 INT 21H CMP AL,39H JBE L2 SUB AL,07H L2:SUB AL,30H MOV Y,AL MOV AH,1 INT 21H A:CMP AL,41H JNE B XOR AL,AL MOV AL,X ADD AL,Y MOV W,AL JMP L3 B:CMP AL,42H JNE C XOR AL,AL MOV AL,X SUB AL,Y MOV W,AL CMP AL,0 JG L3 NEG AL MOV W,AL JMP L3 C:CMP AL,43H JNE D XOR AL,AL MOV AL,X MUL Y MOV W,AL JMP L3 D:XOR AX,AX MOV AL,X DIV Y MOV W,AL L3:MOV DL,AL MOV CL,4 SHR DL,CL CMP DL,9 JNA L4 ADD DL,07H L4:ADD DL,30H MOV AH,02H INT 21H MOV DL,W AND DL,0FH CMP DL,9 JNA L5 ADD DL,07H L5:ADD DL,30H MOV AH,02H INT 21H MOV AH,4CH INT 21H CODE ENDS END START4、 實(shí)驗(yàn)結(jié)果:實(shí)驗(yàn)六結(jié)果實(shí)驗(yàn)七結(jié)果5、 實(shí)驗(yàn)心得:(1)通過實(shí)驗(yàn)使我知道了和熟悉了匯編程序設(shè)計(jì)的步驟 1.建立數(shù)學(xué)模型 遇到一個(gè)題目,首先要進(jìn)行全面的分析,根據(jù)問題提出的條件,特點(diǎn),找出規(guī)律,找出問題的數(shù)學(xué)模型或者制定解決問題的規(guī)律。 2.繪制程序流程圖 流程圖能夠把比較抽象的問題變得而形象化,并且有助于理清楚思路,便于程序的編制,在程序的易讀性和易維護(hù)性上有很大的幫助。3.合理分配存儲(chǔ)空間和寄存器 匯編語言能夠直接的調(diào)用存儲(chǔ)器和寄存器。程序運(yùn)行時(shí),大兩量的數(shù)據(jù),中間結(jié)果或最后的結(jié)果都存放在存儲(chǔ)器中,且運(yùn)行的程序目標(biāo)代碼在存儲(chǔ)器中,節(jié)約空間是一個(gè)好的程序應(yīng)該注意的問題。 4.編制程序 根據(jù)語法指令編制程序 5.人工檢查 用人工的方式檢查程序是否有錯(cuò),并及時(shí)的改正。6.上機(jī)調(diào)試 只有通過上機(jī)才能驗(yàn)證程序是否正確,經(jīng)過反復(fù)的運(yùn)行調(diào)試,才能得到正確的程序。(2)掌握了分支程序的結(jié)構(gòu)及分支程序的設(shè)計(jì),調(diào)試方法和數(shù)據(jù)傳送及算術(shù)和邏輯運(yùn)算指令的用法。匯編語言程序設(shè)計(jì)實(shí)驗(yàn)網(wǎng)絡(luò)* *實(shí)驗(yàn)二 循環(huán)與子程序程序設(shè)計(jì)一、 實(shí)驗(yàn)?zāi)康?) 加深對(duì)循環(huán)結(jié)構(gòu)的理解。 2)掌握循環(huán)程序的設(shè)計(jì)方法。3)學(xué)習(xí)子程序的定義和調(diào)用方法。 4)掌握子程序、子程序的嵌套、遞歸子程序的結(jié)構(gòu)。 5) 掌握子程序設(shè)計(jì)、編制及調(diào)試。 6) 熟練掌握DEBUG的常用命令,學(xué)會(huì)用DEBUG調(diào)試程序。二、 實(shí)驗(yàn)內(nèi)容1)編制在屏幕上顯示九九乘法表的程序。2)編制在屏幕上顯示用*組成的三角形的程序。3、 實(shí)驗(yàn)代碼實(shí)驗(yàn)一DATA SEGMENTS2 DB ?S1 DB ?X DB 1Y DB 1S DB 0AHFCH=2AHFDH=3DHFKG=20HFHH=0AHFHC=0DHDATA ENDSSTACK1 SEGMENT STACKDB 20H DUP(0)STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1START:MOV AX,DATAMOV DS,AXMOV CL,9LL1:PUSH CX ;將CL壓入堆棧段MOV CL,YLL2:CALL L1 ;調(diào)用子程序L1INC XLOOP LL2MOV X,1INC YMOV DL,FHH ;輸出換行和回車MOV AH,2INT 21HMOV DL,FHCMOV AH,2INT 21HPOP CX ;從堆棧段中取出CLLOOP LL1MOV AH,4CH ;程序結(jié)束INT 21HL1 PROC ;計(jì)算X*Y=Z并且輸出X*Y=Z的子程序MOV DL,XADD DL,30H MOV AH,2INT 21HMOV DL,FCHMOV AH,2INT 21HMOV DL,YADD DL,30HMOV AH,2INT 21HMOV DL,FDH MOV AH,2INT 21HMOV AL,XMUL YDIV SMOV S1,AHADD AL,30HMOV DL,ALMOV AH,2INT 21HADD S1,30HMOV DL,S1MOV AH,2INT 21HMOV DL,FKG ;輸出空格MOV AH,2INT 21HRETL1 ENDP ;子程序結(jié)束CODE ENDSEND START實(shí)驗(yàn)二DATA SEGMENTN DB ?FCH=2AHFDH=3DHFKG=20HFHH=0AHFHC=0DHDATA ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AH,1 ;輸入一位16進(jìn)制數(shù)確定輸出行數(shù) INT 21H CMP AL,39H JBE L1 SUB AL,07HL1:SUB AL,30H MOV N,ALXOR BX,BXMOV DL,FCHMOV CL,NMOV DL,FHH ;輸出換行和回車MOV AH,2INT 21HMOV DL,FHCMOV AH,2INT 21HLOP:PUSH CXINC BLMOV CL,BLMOV DL,FCHLOP2:MOV AH,02HINT 21HLOOP LOP2POP CXMOV DL,0AHMOV AH,02HINT 21HMOV DL,FHCMOV AH,02HINT 21HCMP BL,9JZ L2LOOP LOPL2:MOV AH,4CH ;程序結(jié)束INT 21HCODES ENDSEND START4、 實(shí)驗(yàn)結(jié)果:實(shí)驗(yàn)一結(jié)果實(shí)驗(yàn)二結(jié)果5、 實(shí)驗(yàn)心得5、 循環(huán)程序由初始化部分、循環(huán)部分、調(diào)整部分、控制部分組成1兩種方式,一種是先判斷在執(zhí)行,另一種是先執(zhí)行再判斷。2兩種控制循環(huán)的方式 a計(jì)數(shù)控制循環(huán)一般使用LOOP指令,要先將循環(huán)的次數(shù)放入CX中,在多重循環(huán)的計(jì)數(shù)控制中要注保存和復(fù)原上一次循環(huán)的斷點(diǎn)信息,在保留和復(fù)原時(shí)可以使用堆棧進(jìn)行處理。自認(rèn)為可以理解為一根盤繞了確定的圈數(shù)的繩子,又進(jìn)入的頭,又出去的尾。 b條件控制循環(huán)一般使用JMP指令使程序跳到這一段的開頭,用CMP在循環(huán)中進(jìn)行比較判斷,再根據(jù)程序要求,選擇適當(dāng)?shù)霓D(zhuǎn)移條件,跳出循環(huán)。自認(rèn)為可以理解為一圓形的導(dǎo)軌,并在導(dǎo)軌上設(shè)置一個(gè)初口,在符合條件時(shí)就在導(dǎo)軌上脫離,否則,將會(huì)在導(dǎo)軌上一直的轉(zhuǎn)下去。3再循環(huán)中可以同時(shí)使用兩者,當(dāng)即已知循環(huán)的次數(shù)限制范圍,但又要求在符合條件時(shí)結(jié)束循環(huán)是,就要同時(shí)使用兩者。6、 子程序的使用大大的簡化了程序設(shè)計(jì)的思路,在完成一個(gè)程序時(shí),可以簡單的把一個(gè)程序劃分為幾個(gè)完整的幾部分,使每一部分獨(dú)立的完成特定的一部分和計(jì)算任務(wù)。子程序的使用還可以大大的減小程序的體積,在一程序中,如果需要多次反復(fù)的是用某一段代碼的話,就可以將這段代碼設(shè)定為子程序,以后想使用時(shí),只要一CALL再一RET就OK啦。我認(rèn)為使用子程序的關(guān)鍵在于明白子程序的機(jī)理,明白子程序是如何保存和恢復(fù)斷點(diǎn)的信息的,只有真正的理解了這一點(diǎn)才能更好地利用好子程序。子程序的參數(shù)傳遞的方式有很多種,但是在堆棧段傳遞參數(shù)時(shí),應(yīng)該注意使用帶立即數(shù)的返回的方式,在利用寄存器BP訪問堆棧段來取得參數(shù)。匯編語言程序設(shè)計(jì)實(shí)驗(yàn)網(wǎng)絡(luò)* *實(shí)驗(yàn)三 算術(shù)運(yùn)算與代碼轉(zhuǎn)換程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?1)掌握算術(shù)運(yùn)算程序的設(shè)計(jì)方法。2)掌握代碼轉(zhuǎn)換程序的設(shè)計(jì)方法。 3)進(jìn)一步掌握各種程序結(jié)構(gòu)。 4)熟練掌握和使用用DEBUG調(diào)試程序。 二、實(shí)驗(yàn)內(nèi)容1)編制兩個(gè)多字節(jié)整數(shù)加法和減法程序,并將結(jié)果按十六進(jìn)制形式顯示在屏幕上。2)編寫程序計(jì)算從鍵盤輸入兩個(gè)不超過四位的十進(jìn)制數(shù)的和、差、積、商,并以十進(jìn)制形式輸出。3)編寫程序把從鍵盤輸入的以回車為結(jié)束符的字符串中的空格去掉并按相反的順序輸出。三 實(shí)驗(yàn)代碼、實(shí)驗(yàn)1DATA SEGMENTNUM1 DB 22H,33H,44H,55H,66H,77HNUM1L DB 6HNUM2 DB 22H,22H,22H,22HNUM2L DB 4HOUTCOME1 DB 10H DUP(0)OUTCOME2 DB 10H DUP(0)N DB 0HDATA ENDSSTACK1 SEGMENT PARA STACKDW 20H DUP(0)STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1START:MOV AX,DATAMOV DS,AXMOV CH,0MOV SI,OFFSET NUM1MOV DI,OFFSET NUM2MOV AH,NUM1LMOV AL,NUM2LCMP AH,ALJAE CHAXCHG SI,DIXCHG AH,ALCHA:SUB AH,ALMOV CL,ALCLCMOV BX,OFFSET OUTCOME1LOP1:MOV AL,DIPUSH CXMOV CL,SIADC CL,ALMOV BX,CLINC BXINC SIINC DIPOP CXLOOP LOP1MOV CL,AHJCXZ LOP3LOP2:PUSH CXMOV CL, BYTE PTR SIADC CL,0MOV BX,CLPOP CXINC BXINC SILOOP LOP2LOP3:MOV CH,0MOV SI,OFFSET NUM1MOV DI,OFFSET NUM2MOV AH,NUM1LMOV AL,NUM2LCMP AH,ALJAE CHA1XCHG SI,DIXCHG AH,ALCHA1:SUB AH,ALMOV CL,ALCLCMOV BX,OFFSET OUTCOME2LOP11:MOV AL,DIPUSH CXMOV CL,SISBB CL,ALMOV BX,CLINC BXINC SIINC DIPOP CXLOOP LOP11MOV CL,AHJCXZ LOP7LOP21:PUSH CXMOV CL, BYTE PTR SISBB CL,0MOV BX,CLPOP CXINC BXINC SILOOP LOP21LOP7:MOV DI,OFFSET OUTCOME1ADD DI,10HMOV CX,11HLOP4: MOV DL,DIDEC DICMP N,0HJNE LOP5CMP DL,0HJE LOP9LOP5:PUSH DXPUSH CXMOV CL,4HSHR DL,CLPOP CXCMP DL,9HJBE LOP6ADD DL,7HLOP6:ADD DL,30HMOV AH,2INT 21HMOV N,1HPOP DXAND DX,0FHCMP DL,9HJBE LOP8ADD DL,7HLOP8:ADD DL,30HMOV AH,2INT 21HMOV DL,HMOV AH,2INT 21HLOP9:LOOP LOP4MOV N,0MOV DI,OFFSET OUTCOME2ADD DI,10HMOV CX,11HLOP14: MOV DL,DIDEC DICMP N,0HJNE LOP15CMP DL,0HJE LOP19LOP15:PUSH DXPUSH CXMOV CL,4HSHR DL,CLPOP CXCMP DL,9HJBE LOP16ADD DL,7HLOP16:ADD DL,30HMOV AH,2INT 21HMOV N,1HPOP DXAND DX,0FHCMP DL,9HJBE LOP18ADD DL,7HLOP18:ADD DL,30HMOV AH,2INT 21HMOV DL,HMOV AH,2INT 21HLOP19:LOOP LOP14MOV AH,4CHINT 21HCODE ENDSEND START實(shí)驗(yàn)2DATA SEGMENTTISHI1 DB Please enter the first number:,$TISHI2 DB Please enter the second number:,$JIA DB +,$JIAN DB -,$CHENG DB *,$CHU DB /,$DENG DB =,$YU DB .,$A DB 10B DW 10C DW 10000F DW 0HNUM1 DW 0HNUM2 DW 0HN DB 0HN1 DB 4HDATA ENDSSTACK1 SEGMENT STACKDW 30H DUP(0)STACK1 ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DX,OFFSET TISHI1MOV AH,09HINT 21HLOOP2:MOV AX,NUM1MUL BMOV BX,AXMOV AH,1INT 21HCMP AL,0DHJE LOP1MOV NUM1,BXMOV AH,0SUB AL,30HADD NUM1,AXJMP LOOP2LOP1:MOV DL,0AH ;輸出換行和回車MOV AH,2INT 21HMOV DL,0DHMOV AH,2INT 21HMOV DX,OFFSET TISHI2MOV AH,09HINT 21HLOOP1:MOV AX,NUM2MUL BMOV BX,AXMOV AH,1INT 21HCMP AL,0DHJE LOP3MOV NUM2,BXMOV AH,0SUB AL,30HADD NUM2,AXJMP LOOP1LOP3:MOV DL,0AH ;輸出換行和回車MOV AH,2INT 21HMOV DL,0DHMOV AH,2INT 21HMOV N,0MOV DX,NUM1MOV F,DX LOP6:MOV DX,0HMOV AX,FDIV BPUSH DXINC NCMP AX,0HJE LOP7MOV F,AXJMP LOP6LOP7:MOV CL,NMOV CH,0LOP16:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOP16MOV DX,NUM2MOV F,DXMOV N,0MOV DX,OFFSET JIAMOV AH,09HINT 21H LOOOP6:MOV DX,0HMOV AX,FDIV BPUSH DXINC NCMP AX,0HJE LOOOP7MOV F,AXJMP LOOOP6LOOOP7:MOV CL,NMOV CH,0LOOOP16:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOOOP16MOV DX,OFFSET DENGMOV AH,09HINT 21HMOV N,0LOOP3:MOV AX,NUM1ADD AX,NUM2MOV F,AXLOOP4:MOV DX,0HMOV AX,FDIV BPUSH DXINC NCMP AX,0HJE LOOP5MOV F,AXJMP LOOP4LOOP5:MOV CL,NMOV CH,0LOOP0:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOOP0MOV DL,0AH ;輸出換行和回車MOV AH,2INT 21HMOV DL,0DHMOV AH,2INT 21HMOV N,0MOV DX,NUM1MOV F,DX LOP61:MOV DX,0HMOV AX,FDIV BPUSH DXINC NCMP AX,0HJE LOP71MOV F,AXJMP LOP61LOP71:MOV CL,NMOV CH,0LOP161:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOP161MOV DX,NUM2MOV F,DXMOV N,0MOV DX,OFFSET JIANMOV AH,09HINT 21H LOOOP61:MOV DX,0HMOV AX,FDIV BPUSH DXINC NCMP AX,0HJE LOOOP71MOV F,AXJMP LOOOP61LOOOP71:MOV CL,NMOV CH,0LOOOP161:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOOOP161MOV DX,OFFSET DENGMOV AH,09HINT 21HMOV N,0MOV N,0MOV AX,NUM1SUB AX,NUM2MOV F,AXAND AX,10000000BCMP AX,10000000BJNE LOOP6NEG FLOOP6:MOV DX,0MOV AX,FDIV BPUSH DXINC NCMP AX,0HJE LOOP7MOV F,AXJMP LOOP6LOOP7:MOV CL,NMOV CH,0LOOP16:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOOP16MOV DL,0AH ;輸出換行和回車MOV AH,2INT 21HMOV DL,0DHMOV AH,2INT 21HMOV N,0MOV DX,NUM1MOV F,DX LOP62:MOV DX,0HMOV AX,FDIV BPUSH DXINC NCMP AX,0HJE LOP72MOV F,AXJMP LOP62LOP72:MOV CL,NMOV CH,0LOP162:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOP162MOV DX,NUM2MOV F,DXMOV N,0MOV DX,OFFSET CHENGMOV AH,09HINT 21H LOOOP62:MOV DX,0HMOV AX,FDIV BPUSH DXINC NCMP AX,0HJE LOOOP72MOV F,AXJMP LOOOP62LOOOP72:MOV CL,NMOV CH,0LOOOP162:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOOOP162MOV DX,OFFSET DENGMOV AH,09HINT 21HMOV N,0MOV AX,NUM1MUL NUM2DIV CPUSH DXMOV F,AXMOV N,0LOOP8:MOV DX,0MOV AX,FDIV B PUSH DXINC NCMP AX,0HJE LOOP9MOV F,AXJMP LOOP8LOOP9:MOV CL,NMOV CH,0LOOP17:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOOP17MOV N,0POP FLOOP10:MOV DX,0HMOV AX,FDIV BPUSH DXINC NCMP AX,0HJE LOOP11MOV F,AXJMP LOOP10LOOP11:MOV AL,NCMP AL,4HJE LOOP20MOV AL,4HSUB AL,NMOV CL,ALMOV CH,0LOOP19:MOV DX,0MOV AH,2INT 21HLOOP LOOP19LOOP20:MOV CL,NMOV CH,0LOOP18:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOOP18MOV DL,0AH ;輸出換行和回車MOV AH,2INT 21HMOV DL,0DHMOV AH,2INT 21HMOV N,0MOV DX,NUM1MOV F,DX LOP64:MOV DX,0HMOV AX,FDIV BPUSH DXINC NCMP AX,0HJE LOP74MOV F,AXJMP LOP64LOP74:MOV CL,NMOV CH,0LOP164:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOP164MOV DX,NUM2MOV F,DXMOV N,0MOV DX,OFFSET chuMOV AH,09HINT 21H LOOOP64:MOV DX,0HMOV AX,FDIV BPUSH DXINC NCMP AX,0HJE LOOOP74MOV F,AXJMP LOOOP64LOOOP74:MOV CL,NMOV CH,0LOOOP164:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOOOP164MOV DX,OFFSET DENGMOV AH,09HINT 21HMOV N,0MOV AX,NUM1MOV DX,0DIV NUM2PUSH DXMOV F,AXMOV N,0LOOP15:MOV DX,0MOV AX,FDIV BPUSH DXINC NCMP AX,0HJE LOOP12MOV F,AXJMP LOOP15LOOP12:MOV CL,NMOV CH,0LOOP21:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOOP21MOV DX,OFFSET YUMOV AH,09HINT 21HPOP FMOV N,0LOOP13:MOV DX,0MOV AX,FDIV BPUSH DXINC NCMP AX,0HJE LOOP14MOV F,AXJMP LOOP13LOOP14:MOV CL,NMOV CH,0HLOOP22:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOOP22MOV AH,4CHINT 21HCODES ENDSEND START實(shí)驗(yàn)3DATA SEGMENTLENG DW 0HDATA ENDSSTACK1 SEGMENT PARA STACKDW 30H DUP(0)STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1START:MOV AX,DATAMOV DS,AXLOOP1:MOV AH,1INT 21HCMP AL,20HJE LOOP1INC LENGMOV AH,0PUSH AXCMP AL,0DHJNE LOOP1MOV DL,0AH ;輸出換行和回車MOV AH,2INT 21HMOV DL,0DHMOV AH,2INT 21HPOP DXDEC LENGMOV CX,LENGLOOP2:POP DXMOV AH,2INT 21HLOOP LOOP2MOV AH,4CHINT 21HCODE ENDSEND START四 實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)1結(jié)果實(shí)驗(yàn)2結(jié)果實(shí)驗(yàn)3結(jié)果五 實(shí)驗(yàn)心得1. 計(jì)算機(jī)中處理的信息不全是數(shù),有時(shí)需要處理字符或字符串,因此,計(jì)算機(jī)中必須能表示字符。這些字符在計(jì)算機(jī)中用二進(jìn)制表示,最常用的是ask值表示1當(dāng)我們利用指令MOV AH,1HINT 21H輸入數(shù)字時(shí),所得到存放在AL中的并不數(shù)字本身,而是相對(duì)應(yīng)的ask值,因此,在輸入后需要對(duì)字符進(jìn)行深加工后才能夠使用,有時(shí)還需要通過判斷來決定對(duì)字符串的處理方式。2當(dāng)程序運(yùn)行得到結(jié)果時(shí),我們?cè)谳敵鼋Y(jié)果時(shí),依然要得到相對(duì)應(yīng)的ask值之后才能輸出,在轉(zhuǎn)換為相對(duì)應(yīng)的ask值時(shí),依然要通過判斷來決定處理的方式,例如,在以十六進(jìn)制輸出結(jié)果時(shí),就要判斷是加上30H還是加上37H。然后將ask值放DL中,再利用MOV AH,2HINT 21H輸出。3.將輸入的一段字符串反序輸出時(shí),我認(rèn)為堆棧是最好的選擇,因?yàn)槎褩J窍冗M(jìn)后出的原則,所以最先輸入的最后輸出。匯編語言程序設(shè)計(jì)實(shí)驗(yàn)網(wǎng)絡(luò)* *實(shí)驗(yàn)五 輸入輸出程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?1) 掌握輸入輸出程序的編寫方法。 2) 熟悉系統(tǒng)功能調(diào)用的方法。 3) 熟悉動(dòng)畫程序的編寫方法。 二、實(shí)驗(yàn)內(nèi)容 1)編制字母下落一行的子程序,調(diào)用該子程序使字母從屏幕頂部下落到底部。2)編寫程序?qū)⑵聊环指畛筛駹?,每一格涂上不同顏色,格?shù)從鍵盤輸入。三、實(shí)驗(yàn)代碼實(shí)驗(yàn)一DATA SEGMENTTIMER DW 18COLOR DB 00000100BSTR1 DB NICE TO MEET YOU!DATA ENDSSTACK1 SEGMENT STACKDW 100 DUP(?)STACK1 ENDSCODE SEGMENTASSUME DS:DATA,CS:CODE,SS:STACK1,ES:DATASTART:MOV AX,DATAMOV DS,AXMOV ES,AXMOV AH,0FHINT 10HPUSH AX MOV AL,03HMOV AH,00HINT 10HMOV AH,13HMOV AL,00HMOV BL,COLORMOV BP,OFFSET STR1MOV DH,10MOV DL,20MOV CX,5INT 10HMOV CX,25LOP1:PUSH CXCALL DOWN1MOV AH,1 MOV CX,0 MOV DX,0 INT 1AHDELAY: MOV AH,0 INT 1AH CMP DX,TIME
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 別墅果樹出售合同范本
- 勘查標(biāo)準(zhǔn)合同范本
- 上海古董拍賣合同范本
- 信托轉(zhuǎn)讓合同范本
- 單位與單位入股合同范本
- 鄉(xiāng)村道路跨寬施工合同范本
- 加工企業(yè)入股合同范本
- 單位施工合同范例
- 包裝盒印刷廠合同范本
- 隱蔽驗(yàn)收合同范本
- T-CSPSTC 111-2022 表層混凝土低滲透高密實(shí)化施工技術(shù)規(guī)程
- 食品經(jīng)營安全管理制度目錄
- 南通大學(xué)開題報(bào)告模版
- 醫(yī)院急救中心勞務(wù)外包采購項(xiàng)目評(píng)標(biāo)辦法(評(píng)分細(xì)則表)
- JTG H12-2015 公路隧道養(yǎng)護(hù)技術(shù)規(guī)范
- 2024天津工業(yè)職業(yè)學(xué)院教師招聘考試筆試試題
- QCT1067.5-2023汽車電線束和電器設(shè)備用連接器第5部分:設(shè)備連接器(插座)的型式和尺寸
- 石灰石開采項(xiàng)目可行性分析報(bào)告
- 2024年高考?xì)v史總復(fù)習(xí)中外歷史大事年表
- 追求理解的教學(xué)設(shè)計(jì)
- 《研學(xué)旅行課程設(shè)計(jì)》課件-1研學(xué)課程資源選擇
評(píng)論
0/150
提交評(píng)論