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

正文內(nèi)容

ibmpc匯編語言程序設(shè)計(jì)課后習(xí)題答案第二版沉美明(文件)

2025-06-25 13:34 上一頁面

下一頁面
 

【正文】 X)=00002000H,(DS)=0010H,試問下列指令訪問內(nèi)存的物理地址是什么?(1) MOV ECX,[EAX+EBX](2) MOV [EAX+2*EBX],CL(3) MOV DH,[EBX+4*EAX+1000H]答:(1) PA=(DS)*10H+EA=00100H+00001000H+00002000H=00003100H(2) PA=(DS)*10H+EA=00100H+00001000H+2*00002000H=00005100H(3) PA=(DS)*10H+EA=00100H+00002000H+4*00001000H+1000H=00007100H 假設(shè)(EAX)=9823F456H,(ECX)=1F23491H,(BX)=348CH,(SI)=2000H,(DI)=4044H。 請(qǐng)給出下列各指令序列執(zhí)行完后目的寄存器的內(nèi)容。 請(qǐng)給出下列指令序列執(zhí)行完后AX和DX的內(nèi)容。答:(BX)←(DX)*100H 試編寫一程序段,要求把BL中的數(shù)除以CL中的數(shù),并把其商乘以2,最后的結(jié)果存入DX寄存器中。答:JMP BEGINUP DB 0DOWN DB 0TABLE DB 100H DUP (?) ;數(shù)組BEGIN:MOV CX,100HMOV BX,1MOV SI,0MOV DI,0L1:INC BXCMP TABLE[BX],42HJA L2JB L3JMP L4L2:INC SIJMP L4L3:INC DIL4:LOOP L1MOV UP,SIMOV DOWN,DI 請(qǐng)用圖表示ENTER 16,0所生成的堆棧幀的情況。 假設(shè)下列指令中的所有標(biāo)識(shí)符均為類型屬性為字的變量,請(qǐng)指出下列哪些指令是非法的?它們的錯(cuò)誤是什么?(1) MOV BP, AL ;錯(cuò),寄存器類型不匹配(2) MOV WORD_OP [BX+4*3][DI], SP(3) MOV WORD_OP1, WORD_OP2 ;錯(cuò),不能都是存儲(chǔ)器操作數(shù)(4) MOV AX, WORD_OP1[DX] ;錯(cuò),DX不能用于存儲(chǔ)器尋址(5) MOV SAVE_WORD, DS(6) MOV SP, SS:DATA_WORD [BX][SI](7) MOV [BX][SI], 2 ;錯(cuò),[BX][SI]未指出數(shù)據(jù)類型(8) MOV AX, WORD_OP1+WORD_OP2(9) MOV AX, WORD_OP1WORD_OP2+100(10) MOV WORD_OP1, WORD_OP1WORD_OP2答:見注釋。 試列出各種方法,使匯編程序把5150H存入一個(gè)存儲(chǔ)器字中(如:DW 5150H)。 有符號(hào)定義語句如下:BUFF DB 1, 2, 3, ‘123’EBUFF DB 0L EQU EBUFF BUFF問L的值是多少?答:L=6。答:(1) MOV AX, OFFSET LNAME(2) MOV SI, WORD PTR CODE_LIST(3) CODE_LENGTH EQU $ CODE_LIST ;此語句必須放在CODE_LIST語句之后 試寫出一個(gè)完整的數(shù)據(jù)段DATA_SEG,它把整數(shù)5賦予一個(gè)字節(jié),并把整數(shù)1,0,2,5和4放在10字?jǐn)?shù)組DATA_LIST的頭5個(gè)單元中。 對(duì)于下面的數(shù)據(jù)定義,各條MOV指令單獨(dú)執(zhí)行后,有關(guān)寄存器的內(nèi)容是什么?FLDB DB ?TABLEA DW 20 DUP (?)TABLEB DB ‘ABCD’(1) MOV AX, TYPE FLDB ;(AX)=0001H(2) MOV AX, TYPE TABLEA ;(AX)=0002H(3) MOV CX, LENGTH TABLEA ;(CX)=0014H(4) MOV DX, SIZE TABLEA ;(DX)=0028H(5) MOV CX, LENGTH TABLEB ;(CX)=0001H答:見注釋。答:程序的框架如下: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中。 試說明下述指令中哪些需要加上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 ;不需要答:見注釋。答:程序段如下: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’。答:程序段如下: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。答:程序段如下: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ù)顯示出來。答:程序段如下: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è)字符。答:程序如下: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í)行的語句之間的差別。(1) DATA_SEG SEG ;DATA_SEG SEGMENT(偽操作錯(cuò))(2) SEGMENT ‘CODE’ ;SEGNAME SEGMENT ‘CODE’(缺少段名字)(3) MYDATA SEGMENT/DATA ;MYDATA SEGMENT┇ENDS ;MYDATA ENDS(缺少段名字)(4) MAIN_PROC PROC FAR ;刪除END MAIN_PROC也可以┇END MAIN_PROC ;MAIN_PROC ENDP ;上下兩句交換位置MAIN_PROC ENDP ; END MAIN_PROC答:見注釋。答:DATA_SEG SEGMENTNUM DB 5DATA_LIST DW 1, 0, 2, 5, 4, 5 DUP (?)MAX DW ?MIN DW ?DATA_SEG ENDS;CODE_SEG SEGMENTMAIN PROC FARASSUME CS: CODE_SEG, DS: DATA_SEGSTART: PUSH DS ;設(shè)置返回DOSSUB AX, AXPUSH AXMOV AX, DATA_SEG ;給DS賦值MOV DS, AX;MOV CX, 4 ;程序段開始LEA BX, DATA_LISTMOV AX, [BX]MOV MAX, AXMOV MIN, AXROUT1: ADD BX, 2MOV AX, [BX]CMP AX, MAXJNGE ROUT2MOV MAX, AXROUT2: CMP AX, MINJNLE ROUT3MOV MIN, AXROUT3: LOOP ROUT1 ;程序段結(jié)束RETMAIN ENDPCODE_SEG ENDS;END START 給出等值語句如下:ALPHA EQU 100BETA EQU 25GAMMA EQU 2下列表達(dá)式的值是多少?(1) ALPHA * 100 + BETA ;=2729H(2) ALPHA MOD GAMMA + BETA ;=19H(3) (ALPHA +2) * BETA – 2 ;=9F4H(4) (BETA / 3) MOD 5 ;=3H(5) (ALPHA +3) * (BETA MOD GAMMA) ;=67H(6) ALPHA GE GAM
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1