freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

word版可編輯-ibmpc匯編語(yǔ)言程序設(shè)計(jì)課后習(xí)題答案第二版沈美明精心整理-資料下載頁(yè)

2025-04-07 06:52本頁(yè)面
  

【正文】 數(shù)據(jù)段的位置從0E000H開始,數(shù)據(jù)段中定義一個(gè)100字節(jié)的數(shù)組,其類型屬性既是字又是字節(jié);(2) 堆棧段從小段開始,段組名為STACK;(3) 代碼段中指定段寄存器,指定主程序從1000H開始,給有關(guān)段寄存器賦值;(4) 程序結(jié)束。答:程序的框架如下:DATA_SEG SEGMENT AT 0E000HARRAY_B LABEL BYTEARRAY_W DW 50 DUP (?)DATA_SEG ENDS ;以上定義數(shù)據(jù)段;STACK_SEG SEGMENT PARA STACK ‘STACK’DW 100H DUP (?)TOS LABEL WORDSTACK_SEG ENDS ;以上定義堆棧段;CODE_SEG SEGMENTMAIN PROC FARASSUME CS: CODE_SEG, DS: DATA_SEG, SS: STACK_SEGORG 1000HSTART: MOV AX, STACK_SEGMOV SS, AX ;給SS賦值MOV SP, OFFSET TOS ;給SP賦值PUSH DS ;設(shè)置返回DOSSUB AX, AXPUSH AXMOV AX, DATA_SEGMOV DS, AX ;給DS賦值┇ ;程序段部分RETMAIN ENDPCODE_SEG ENDS ;以上定義代碼段;END START 寫一個(gè)完整的程序放在代碼段C_SEG中,要求把數(shù)據(jù)段D_SEG中的AUGEND和附加段E_SEG中的ADDEND相加,并把結(jié)果存放在D_SEG 段中的SUM中。其中AUGEND、ADDEND和SUM均為雙精度數(shù),AUGEND賦值為99251,ADDEND賦值為 15962。答:程序如下:D_SEG SEGMENTAUGW LABEL WORDAUGEND DD 99251SUM DD ?D_SEG ENDS ;以上定義數(shù)據(jù)段;E_SEG SEGMENTADDW LABEL WORDADDEND DD 15962E_SEG ENDS ;以上定義附加段;C_SEG SEGMENTMAIN PROC FARASSUME CS: C_SEG, DS: D_SEG, ES: E_SEGSTART: PUSH DS ;設(shè)置返回DOSSUB AX, AXPUSH AXMOV AX, D_SEGMOV DS, AX ;給DS賦值MOV AX, E_SEGMOV ES, AX ;給ES賦值;MOV AX, AUGW ;以下6條指令進(jìn)行加法計(jì)算MOV BX, AUGW+2ADD AX, ES: ADDWADC BX, ES: ADDW+2 ;不考慮有符號(hào)數(shù)溢出MOV WORD PTR SUM, AXMOV WORD PTR [SUM+2], BXRETMAIN ENDPC_SEG ENDS ;以上定義代碼段;END START 請(qǐng)說明表示程序結(jié)束的微操作和結(jié)束程序執(zhí)行的語(yǔ)句之間的差別。它們?cè)谠闯绦蛑袘?yīng)如何表示?答:表示程序結(jié)束的微操作是指示匯編程序MASM結(jié)束匯編的標(biāo)志,在源程序中用END表示;結(jié)束程序執(zhí)行的語(yǔ)句是結(jié)束程序運(yùn)行而返回操作系統(tǒng)的指令,在源程序中有多種表示方法,比如INT 20H或MOV AX, 4C00H INT 21H以及RET等。 試說明下述指令中哪些需要加上PTR操作符:BVAL DB 10H,20HWVAL DW 1000H(1) MOV AL,BVAL ;不需要(2) MOV DL,[BX] ;不需要(3) SUB [BX],2 ;需要,如SUB BYTE PTR [BX],2(4) MOV CL,WVAL ;需要,如MOV CL,BYTE PTR WVAL(5) ADD AL,BVAL+1 ;不需要答:見注釋。第五章 試編寫一個(gè)匯編語(yǔ)言程序,要求對(duì)鍵盤輸入的小寫字母用大寫字母顯示出來。答:程序段如下:BEGIN: MOV AH, 1 ;從鍵盤輸入一個(gè)字符的DOS調(diào)用INT 21HCMP AL, ‘a(chǎn)’ ;輸入字符‘a(chǎn)’嗎?JB STOPCMP AL, ‘z’ ;輸入字符‘z’嗎?JA STOPSUB AL, 20H ;轉(zhuǎn)換為大寫字母,用AND AL, 1101 1111B也可MOV DL, AL ;顯示一個(gè)字符的DOS調(diào)用MOV AH, 2INT 21HJMP BEGINSTOP: RET 編寫程序,從鍵盤接收一個(gè)小寫字母,然后找出它的前導(dǎo)字符和后續(xù)字符,再按順序顯示這三個(gè)字符。答:程序段如下:BEGIN: MOV AH, 1 ;從鍵盤輸入一個(gè)字符的DOS調(diào)用INT 21HCMP AL, ‘a(chǎn)’ ;輸入字符‘a(chǎn)’嗎?JB STOPCMP AL, ‘z’ ;輸入字符‘z’嗎?JA STOPDEC AL ;得到前導(dǎo)字符MOV DL, AL ;準(zhǔn)備顯示三個(gè)字符MOV CX, 3DISPLAY: MOV AH, 2 ;顯示一個(gè)字符的DOS調(diào)用INT 21HINC DLLOOP DISPLAYSTOP: RET 將AX寄存器中的16位數(shù)分成4組,每組4位,然后把這四組數(shù)分別放在AL、BL、CL和DL中。答:程序段如下:DSEG SEGMENTSTORE DB 4 DUP (?)DSEG ENDS┇BEGIN: MOV CL, 4 ;右移四次MOV CH, 4 ;循環(huán)四次LEA BX, STOREA10: MOV DX, AXAND DX, 0FH ;取AX的低四位MOV [BX], DL ;低四位存入STORE中INC BXSHR AX, CL ;右移四次DEC CHJNZ A10 ;循環(huán)四次完了碼?B10: MOV DL, STORE ;四組數(shù)分別放在AL、BL、CL和DL中MOV CL, STORE+1MOV BL, STORE+2MOV AL, STORE+3STOP: RET 試編寫一程序,要求比較兩個(gè)字符串STRING1和STRING2所含字符是否完全相同,若相同則顯示‘MATCH’, 若不相同則顯示‘NO MATCH’。答:程序如下:DSEG SEGMENTSTRING1 DB ‘I am a student.’STRING2 DB ‘I am a student!’YES DB ‘MATCH’, 0DH, 0AH, ‘$’NO DB ‘NO MATCH’, 0DH, 0AH, ‘$’DSEG ENDS;CSEG SEGMENTMAIN PROC FARASSUME CS: CSEG, DS: DSEG, ES: DSEGSTART: PUSH DS ;設(shè)置返回DOSSUB AX, AXPUSH AXMOV AX, DSEGMOV DS, AX ;給DS賦值MOV ES, AX ;給ES賦值;BEGIN: LEA SI, STRING1 ;設(shè)置串比較指令的初值LEA DI, STRING2CLDMOV CX, STRING2 STRING1REPE CMPSB ;串比較JNE DISPNOLEA DX, YES ;顯示MATCHJMP DISPLAYDISPNO: LEA DX, NO ;顯示NO MATCHDISPLAY: MOV AH, 9 ;顯示一個(gè)字符串的DOS調(diào)用INT 21HRETMAIN ENDPCSEG ENDS ;以上定義代碼段;END START 試編寫一程序,要求能從鍵盤接收一個(gè)個(gè)位數(shù)N,然后響鈴N次(響鈴的ASCII碼為07)。答:程序段如下:BEGIN: MOV AH, 1 ;從鍵盤輸入一個(gè)字符的DOS調(diào)用INT 21HSUB AL, ‘0’JB STOP ;輸入字符‘0’嗎?CMP AL, 9 ;輸入字符‘9’嗎?JA STOPCBWMOV CX, AX ;響鈴次數(shù)NJCXZ STOPBELL: MOV DL, 07H ;準(zhǔn)備響鈴MOV AH, 2 ;顯示一個(gè)字符的DOS調(diào)用,實(shí)際為響鈴INT 21HCALL DELAY100ms ;延時(shí)100msLOOP BELLSTOP: RET 編寫程序,將一個(gè)包含有20個(gè)數(shù)據(jù)的數(shù)組M分成兩個(gè)數(shù)組:正數(shù)數(shù)組P和負(fù)數(shù)數(shù)組N,并分別把這兩個(gè)數(shù)組中數(shù)據(jù)的個(gè)數(shù)顯示出來。答:程序如下:DSEG SEGMENTCOUNT EQU 20ARRAY DW 20 DUP (?) ;存放數(shù)組COUNT1 DB 0 ;存放正數(shù)的個(gè)數(shù)ARRAY1 DW 20 DUP (?) ;存放正數(shù)COUNT2 DB 0 ;存放負(fù)數(shù)的個(gè)數(shù)ARRAY2 DW 20 DUP (?) ;存放負(fù)數(shù)ZHEN DB 0DH, 0AH, ‘The positive number is:’, ‘$’ ;正數(shù)的個(gè)數(shù)是:FU DB 0DH, 0AH, ‘The negative number is:’, ‘$’ ;負(fù)數(shù)的個(gè)數(shù)是:CRLF DB 0DH, 0AH, ‘$’DSEG ENDS;CSEG SEGMENTMAIN PROC FARASSUME CS: CSEG, DS: DSEGSTART: PUSH DS ;設(shè)置返回DOSSUB AX, AXPUSH AXMOV AX, DSEGMOV DS, AX ;給DS賦值BEGIN: MOV CX, COUNTLEA BX, ARRAYLEA SI, ARRAY1LEA DI, ARRAY2BEGIN1: MOV AX, [BX]CMP AX, 0 ;是負(fù)數(shù)碼?JS FUSHUMOV [SI], AX ;是正數(shù),存入正數(shù)數(shù)組INC COUNT1 ;正數(shù)個(gè)數(shù)+1ADD SI, 2JMP SHORT NEXTFUSHU: MOV [DI], AX ;是負(fù)數(shù),存入負(fù)數(shù)數(shù)組INC COUNT2 ;負(fù)數(shù)個(gè)數(shù)+1ADD DI, 2NEXT: ADD BX, 2LOOP BEGIN1LEA DX, ZHEN ;顯示正數(shù)個(gè)數(shù)MOV AL, COUNT1CALL DISPLAY ;調(diào)顯示子程序LEA DX, FU ;顯示負(fù)數(shù)個(gè)數(shù)MOV AL, COUNT2CALL DISPLAY ;調(diào)顯示子程序RETMAIN ENDP;DISPLAY PROC NEAR ;顯示子程序MOV AH, 9 ;顯示一個(gè)字符串的DOS調(diào)用INT 21HAAM ;將(AL)中的二進(jìn)制數(shù)轉(zhuǎn)換為二個(gè)非壓縮BCD碼ADD AH, ‘0’ ;變?yōu)?~9的ASCII碼MOV DL, AHMOV AH, 2 ;顯示一個(gè)字符的DOS調(diào)用INT 21HADD AL, ‘0’ ;變?yōu)?~9的ASCII碼MOV DL, ALMOV AH, 2 ;顯示一個(gè)字符的DOS調(diào)用INT 21HLEA DX, CRLF ;顯示回車換行MOV AH, 9 ;顯示一個(gè)字符串的DOS調(diào)用INT 21HRETDISPLAY ENDP ;顯示子程序結(jié)束CSEG ENDS ;以上定義代碼段;END START 試編寫一個(gè)匯編語(yǔ)言程序,求出首地址為DATA的100D字?jǐn)?shù)組中的最小偶數(shù),并把它存放在AX中。答:程序段如下:BEGIN: MOV BX, 0 MOV CX, 100COMPARE: MOV AX, DATA[BX] ;取數(shù)組的第一個(gè)偶數(shù)ADD BX, 2TEST AX, 01H ;是偶數(shù)嗎?LOOPNZ COMPARE ;不是,比較下一個(gè)數(shù)JNZ STOP ;沒有偶數(shù),退出JCXZ STOP ;最后一個(gè)數(shù)是偶數(shù),即為最小偶數(shù),退出COMPARE1: MOV DX, DATA[BX] ;取數(shù)組的下一個(gè)偶數(shù)ADD BX, 2TES
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1