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

正文內(nèi)容

ibm—pc匯編語言程序設(shè)計(jì)習(xí)題參考答案-wenkub.com

2025-04-04 05:54 本頁面
   

【正文】 答:程序段如下: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中。它們?cè)谠闯绦蛑袘?yīng)如何表示?答:表示程序結(jié)束的微操作是指示匯編程序MASM結(jié)束匯編的標(biāo)志,在源程序中用END表示;結(jié)束程序執(zhí)行的語句是結(jié)束程序運(yùn)行而返回操作系統(tǒng)的指令,在源程序中有多種表示方法,比如INT 20H或MOV AX, 4C00H INT 21H以及RET等。 按下面的要求寫出程序的框架(1) 數(shù)據(jù)段的位置從0E000H開始,數(shù)據(jù)段中定義一個(gè)100字節(jié)的數(shù)組,其類型屬性既是字又是字節(jié);(2) 堆棧段從小段開始,段組名為STACK;(3) 代碼段中指定段寄存器,指定主程序從1000H開始,給有關(guān)段寄存器賦值;(4) 程序結(jié)束。 對(duì)于下面的數(shù)據(jù)定義,三條MOV指令分別匯編成什么?(可用立即數(shù)方式表示)TABLEA DW 10 DUP (?)TABLEB DB 10 DUP (?)TABLEC DB ‘1234’┇MOV AX, LENGTH TABLEA ;匯編成MOV AX, 000AHMOV BL, LENGTH TABLEB ;匯編成MOV BL, 000AHMOV CL, LENGTH TABLEC ;匯編成MOV CL, 0001H答:見注釋。(3) 用一條偽操作使CODE_LENGTH的值等于CODE_LIST域的實(shí)際長度。答:DATASG SEGMENTFLD1B DB ‘personal puter’FLD2B DB 32FLD3B DB 20HFLD4B DB 01011001BFLD5B DB ‘32654’FLD6B DB 10 DUP (0)FLD7B DB ‘PART1’, 20DB ‘PART2’, 50DB ‘PART3’, 14FLD1W DW 0FFF0HFLD2W DW 01011001BFLD3W DW FLD7BFLD4W DW 5, 6, 7, 8, 9FLD5W DW 5 DUP (0)FLD6W DW FLD1WFLD1BDATASG ENDS 假設(shè)程序中的數(shù)據(jù)定義如下:PARTNO DW ?PNAME DB 16 DUP (?)COUNT DD ?PLENTH EQU $PARTNO問PLENTH的值為多少?它表示什么意義?答:PLENTH=22=16H,它表示變量PARTNO、PNAME、COUNT總共占用的存儲(chǔ)單元數(shù)(字節(jié)數(shù))。(1) BYTE_VAR DB ‘BYTE’,12,12H,3 DUP(0,?,2 DUP(1,2),?)(2) WORD_VAR DW 5 DUP(0,1,2),?,5,‘BY’,‘TE’,256H答:答案如下圖所示。 下面哪些指令是非法的?(假設(shè)OP1,OP2是已經(jīng)用DB定義的變量)(1) CMP 15, BX ;錯(cuò),立即數(shù)不能作為目的操作數(shù)(2) CMP OP1, 25(3) CMP OP1, OP2 ;錯(cuò),不能都是存儲(chǔ)器操作數(shù)(4) CMP AX, OP1 ;錯(cuò),類型不匹配,應(yīng)為CMP ax, word ptr op1答:見注釋。 試編寫一程序段,要求在長度為100H字節(jié)的數(shù)組中,找出大于42H的無符號(hào)數(shù)的個(gè)數(shù)并存入字節(jié)單元UP中;找出小于42H的無符號(hào)數(shù)的個(gè)數(shù)并存入字節(jié)單元DOWN中。答:MOV EDI,0 也可為: MOV EDI,ECXADD EDI,ECX ADD EDI,EDXADD EDI,EDX ADD EDI,ESIADD EDI,ESI 請(qǐng)說明IMUL BX,DX,100H指令的操作。MOV ECX,307 F455HBSF EAX,ECX ;(EAX)= 0DBSR EBX,ECX ;(EBX)= 25D答:見注釋。(1) MOV EAX,299FF94HADD EAX,34FFFFH ;(EAX)= 2CEFF93H(2) MOV EBX,40000000SUB EBX,1500000 ;(EBX)= 3EB00000H(3) MOV EAX,39393834HAND EAX,0F0F0F0FH ;(EAX)= 09090804H(4) MOV EDX,9FE35DHXOR EDX,0F0F0F0H ;(EDX)= 6F13ADH答:見注釋。全為0嗎?二位為1嗎?僅一位為1執(zhí)行ROUTINE_3轉(zhuǎn)去執(zhí)行ROUTINE_4NNYY程序開始(AL)←(STATUS)只保留第1,3,5位轉(zhuǎn)去執(zhí)行ROUTINE_2全為1嗎?NY轉(zhuǎn)去執(zhí)行ROUTINE_1執(zhí)行EXIT程序結(jié)束答:程序段如下:MOV AL, STATUSAND AL, 00010101B ;只保留第5位JZ ROUTINE_4 ;3位全為0轉(zhuǎn)ROUTINE_4JPE ROUTINE_2 ;兩位為1轉(zhuǎn)ROUTINE_2CMP AL, 00010101BJZ ROUTINE_1 ;3位全為1轉(zhuǎn)ROUTINE_1ROUTINE_3: ┇ ;僅一位為1執(zhí)行ROUTINE_3JMP EXITROUTINE_1: ┇JMP EXITROUTINE_2: ┇JMP EXITROUTINE_4: ┇EXIT: INT 20H 在下列程序的括號(hào)中分別填入如下指令:(1) LOOP L20(2) LOOPE L20(3) LOOPNE L20試說明在三種情況下,當(dāng)程序執(zhí)行完后,AX、BX、CX、DX四個(gè)寄存器的內(nèi)容分別是什么?TITLE CODESG SEGMENTASSUME CS:CODESG, DS: CODSEG, SS: CODSEGORG 100HBEGIN: MOV AX, 01MOV BX, 02MOV DX, 03MOV CX, 04L20: INC AXADD BX, AXSHR DX, 1( )RETCODESG ENDSEND BEGIN答:(1) (AX)=5H,(BX)=10H,(CX)=0H,(DX)=0H(2) (AX)=2H,(BX)=4H,(CX)=3H,(DX)=1H(3) (AX)=3H,(BX)=7H,(CX)=2H,(DX)=0H 考慮以下的調(diào)用序列:(1) MAIN調(diào)用NEAR的SUBA過程(返回的偏移地址為0400);(2) SUBA調(diào)用NEAR的SUBB過程(返回的偏移地址為0A00);(3) SUBB調(diào)用FAR的SUBC過程(返回的段地址為B200,返回的偏移地址為0100);(4) 從SUBC返回SUBB;(5) SUBB調(diào)用NEAR的SUBD過程(返回的偏移地址為0C00);(6) 從SUBD返回SUBB;(7) 從SUBB返回SUBA;(8) 從SUBA返回MAIN;(9) 從MAIN調(diào)用SUBC(返回的段地址為1000,返回的偏移地址為0600);請(qǐng)畫出每次調(diào)用及返回時(shí)的堆棧狀態(tài)。答:(1) CMP DX, CXJA EXCEED(2) CMP BX, AXJG EXCEED(3) JCXZ ZERO(4) CMP BX, AXJO OVERFLOW(5) CMP BX, AXJLE EQ_SMA(6) CMP DX, CXJBE EQ_SMA 試分析下列程序段:ADD AX, BXJNO L1JNC L2SUB AX, BXJNC L3JNO L4JMP SHORT L5如果AX和BX的內(nèi)容給定如下:AX BX(1) 147BH 80DCH(2) B568H 42C8H(3) 42C8H 608DH (4) D023H 9FD0H(5) 94B7H B568H問該程序分別在上面5種情況下執(zhí)行后,程序轉(zhuǎn)向哪里?答:(1) 轉(zhuǎn)向L1(2) 轉(zhuǎn)向L1(3) 轉(zhuǎn)向L2(4) 轉(zhuǎn)向L5 ;因?yàn)榧臃ㄖ噶詈驛X中已經(jīng)是6FF3H(5) 轉(zhuǎn)向L5 ;因?yàn)榧臃ㄖ噶詈驛X中已經(jīng)是4A14H 指令CMP AX, BX后面跟著一條格式為J… L1的條件轉(zhuǎn)移指令,其中…可以是B、NB、BE、NBE、L、NL、LE、NLE中的任意一個(gè)。(3) 若CX的內(nèi)容等于0,則轉(zhuǎn)去執(zhí)行ZERO。(5) 把STUDENT_NAME移到PRINT_LINE的前30個(gè)字節(jié)中,把STUDENT_ ADDR移到PRINT_LINE的后9個(gè)字節(jié)中?!疌LDMOV DI, SEG STRINGMOV ES, DILEA DI, STRINGREPNE SCASBJNE NEXTDEC DIMOV ES:BYTE PTR [DI], ‘ ’ ;送空格符NEXT: ┇ 假設(shè)數(shù)據(jù)段中數(shù)據(jù)定義如下:STUDENT_NAME DB 30 DUP (?)STUDENT_ADDR DB 9 DUP (?)PRINT_LINE DB 132 DUP (?)分別編寫下列程序段:(1) 用空格符清除PRINT_LINE域。答:(1) MOV CX, 20CLDMOV SI, SEG CONAMEMOV DS, SIMOV ES, SILEA SI, CONAMELEA DI, PRLINEREP MOVSB(2) MOV CX, 20STDMOV SI, SEG CONAMEMOV DS, SIMOV ES, SILEA SI, CONAMEADD SI, 201LEA DI, PRLINEADD DI, 201REP MOVSB(3) MOV AX, WORD PTR CONAME+31(4) MOV WORD PTR PRLINE +5, AX(5) MOV AL, ‘ ’ ;空格的ASCII碼送AL寄存器CLDMOV DI, SEG CONAMEMOV ES, DILEA DI, CONAMEREPNE SCASBJNE NEXTDEC DIMOV BX, DINEXT: ┇ 編寫程序段,把字符串STRING中的‘a(chǎn)mp。(2) 從右到左把CONAME中的字符串傳送到PRLINE。 假定(DX)=0B9H,(CL)=3,(CF)=1,確定下列各條指令單獨(dú)執(zhí)行后DX中的值。執(zhí)行前(BX)=6D16H。雙字長數(shù)在A和A+2單元中,結(jié)果存放在B和B+2單元中。(7) DATAX雙字除以字DATAY (用DIV)。(2) DATAX和DATAY兩個(gè)雙字?jǐn)?shù)據(jù)相加,和存放在從DATAY開始的雙字單元中。(1) 1234H (2) 4321H (3) CFA0H (4) 9D60H答:(1) 和為74D4H;SF=0,ZF=0,CF=0,OF=0(2) 和為A5C1H;SF=1,ZF=0,CF=0,OF=1(3) 和為3240H;SF=0,ZF=0,CF=1,OF=0(4) 和為0000H;SF=0,ZF=1,CF=1,OF=0 求出以下各十六進(jìn)制數(shù)與十六進(jìn)制數(shù)4AE0H的差值,并根據(jù)結(jié)果設(shè)置標(biāo)志位SF、ZF、CF和OF的值。答:堆棧區(qū)和SP的內(nèi)容變化過程示意圖如下左圖所示。(2) 如果BX包含數(shù)據(jù)0在數(shù)組中的位移量,請(qǐng)編寫指令將數(shù)據(jù)0傳送給ZERO單元。(2) JMP WORD PTR [BX] ;(IP)=((DS)*10H+(BX))=0600H,PA=02600H(3) JMP D[BX] ;(IP)=((DS)*10H+(BX)+D)=098AH,PA=0298AH 設(shè)當(dāng)前數(shù)據(jù)段寄存器的內(nèi)容為1B00H,在數(shù)據(jù)段的偏移地址2000H單元內(nèi),含有一個(gè)內(nèi)容為0FF10H和8000H的指針,它們是一個(gè)16位變量的偏移地址和段地址,試寫出把該變量裝入AX的指令序列,并畫圖表示出來。答:(1) ADD DX, BX(2) ADD AL, [BX][SI](3) ADD [BX+0B2H], CX(4) ADD WORD PTR [0524H], 2A59H(5) ADD AL, 0B5H 寫出把首地址為BLOCK的字?jǐn)?shù)組的第6個(gè)字送到DX寄存器的指令。(2) 用寄存器BX和SI的基址變址尋址方式把存儲(chǔ)器中的一個(gè)字節(jié)與AL寄存器的內(nèi)容相加,并把結(jié)果送到AL寄存器中。(15) 偽指令 (N) (一般還要指出操作數(shù)地址),在程序運(yùn)行時(shí)執(zhí)行。(11) 機(jī)器語言 (G) ,如DF位。(7) 控制標(biāo)志 (K) 。(3) 堆棧 (D) 、數(shù)據(jù)等信息的
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1