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

正文內容

word版可編輯-ibmpc匯編語言程序設計課后習題答案第二版沈美明精心整理(存儲版)

2025-05-07 06:52上一頁面

下一頁面
  

【正文】 AL, 49SAL AL, 1 ;(AL)=(49*2)=9EHMOV AL, 53SAR AL, 1 ;(AL)=(53/2)= 1AHMOV AL, 49SAR AL, 1 ;(AL)=(49/2)=0E7H 試分析下面的程序段完成什么功能?MOV CL, 04SHL DX, CLMOV BL, AHSHL AX, CLSHR BL, CLOR DL, BL答:本程序段將 ((DX),(AX)) 的雙字同時左移4位,即將此雙字乘以10H (16)。(5) 檢查CONAME字符串中有無空格字符,如有則把第一個空格字符的地址傳送給BX寄存器。(4) 如果STUDENT_NAME域中全是空格符時,填入‘*’。(6) 若DX的內容低于等于CX的內容,則轉EQ_SMA。 請給出下列各指令序列執(zhí)行完后目的寄存器的內容。 請編寫一程序段,要求把ECX、EDX和ESI的內容相加,其和存入EDI寄存器中(不考慮溢出)。第四章首頁入門學習程序員計算機考研計算機電子書下載硬件知識網絡知識專業(yè)課程答案下載視頻教程下載第四章作者:佚名 來源:網絡 指出下列指令的錯誤: (1) MOV AH, BX ;寄存器類型不匹配(2) MOV [BX], [SI] ;不能都是存儲器操作數(3) MOV AX, [SI][DI] ;[SI]和[DI]不能一起使用(4) MOV MYDAT [BX][SI], ES:AX ;AX寄存器不能使用段超越(5) MOV BYTE PTR [BX], 1000 ;1000超過了一個字節(jié)的范圍(6) MOV BX, OFFSET MYDAT [SI] ;MYDAT [SI]已經是偏移地址,不能再使用OFFSET(7) MOV CS, AX ;CS不能用作目的寄存器(8) MOV ECX, AX ;兩個操作數的數據類型不同答:見注釋。(1) FLD1B為字符串變量:‘personal puter’;(2) FLD2B為十進制數字節(jié)變量:32;(3) FLD3B為十六進制數字節(jié)變量:20;(4) FLD4B為二進制數字節(jié)變量:01011001;(5) FLD5B為數字的ASCII字符字節(jié)變量:32654;(6) FLD6B為10個零的字節(jié)變量;(7) FLD7B為零件名(ASCII碼)及其數量(十進制數)的表格:PART1 20PART2 50PART3 14(8) FLD1W為十六進制數字變量:FFF0;(9) FLD2W為二進制數的字變量:01011001;(10) FLD3W為(7)零件表的地址變量;(11) FLD4W為包括5個十進制數的字變量:5,6,7,8,9;(12) FLD5W為5個零的字變量;(13) FLD6W為本段中字數據變量和字節(jié)數據變量之間的地址差。答: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 ;設置返回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 ;程序段結束RETMAIN ENDPCODE_SEG ENDS;END START 給出等值語句如下:ALPHA EQU 100BETA EQU 25GAMMA EQU 2下列表達式的值是多少?(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 GAMMA ;=0FFFFH(7) BETA AND 7 ;=01H(8) GAMMA OR 3 ;=03H答:見注釋。答:程序如下:D_SEG SEGMENTAUGW LABEL WORDAUGEND DD 99251SUM DD ?D_SEG ENDS ;以上定義數據段;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 ;設置返回DOSSUB AX, AXPUSH AXMOV AX, D_SEGMOV DS, AX ;給DS賦值MOV AX, E_SEGMOV ES, AX ;給ES賦值;MOV AX, AUGW ;以下6條指令進行加法計算MOV BX, AUGW+2ADD AX, ES: ADDWADC BX, ES: ADDW+2 ;不考慮有符號數溢出MOV WORD PTR SUM, AXMOV WORD PTR [SUM+2], BXRETMAIN ENDPC_SEG ENDS ;以上定義代碼段;END START 請說明表示程序結束的微操作和結束程序執(zhí)行的語句之間的差別。答:程序段如下:BEGIN: MOV AH, 1 ;從鍵盤輸入一個字符的DOS調用INT 21HSUB AL, ‘0’JB STOP ;輸入字符‘0’嗎?CMP AL, 9 ;輸入字符‘9’嗎?JA STOPCBWMOV CX, AX ;響鈴次數NJCXZ STOPBELL: MOV DL, 07H ;準備響鈴MOV AH, 2 ;顯示一個字符的DOS調用,實際為響鈴INT 21HCALL DELAY100ms ;延時100msLOOP BELLSTOP: RET 編寫程序,將一個包含有20個數據的數組M分成兩個數組:正數數組P和負數數組N,并分別把這兩個數組中數據的個數顯示出來。答:程序段如下: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 ;四組數分別放在AL、BL、CL和DL中MOV CL, STORE+1MOV BL, STORE+2MOV AL, STORE+3STOP: RET 試編寫一程序,要求比較兩個字符串STRING1和STRING2所含字符是否完全相同,若相同則顯示‘MATCH’, 若不相同則顯示‘NO MATCH’。答:程序的框架如下:DATA_SEG SEGMENT AT 0E000HARRAY_B LABEL BYTEARRAY_W DW 50 DUP (?)DATA_SEG ENDS ;以上定義數據段;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 ;設置返回DOSSUB AX, AXPUSH AXMOV AX, DATA_SEGMOV DS, AX ;給DS賦值┇ ;程序段部分RETMAIN ENDPCODE_SEG ENDS ;以上定義代碼段;END START 寫一個完整的程序放在代碼段C_SEG中,要求把數據段D_SEG中的AUGEND和附加段E_SEG中的ADDEND相加,并把結果存放在D_SEG 段中的SUM中。答:(1) MOV AX, OFFSET LNAME(2) MOV SI, WORD PTR CODE_LIST(3) CODE_LENGTH EQU $ CODE_LIST ;此語句必須放在CODE_LIST語句之后 試寫出一個完整的數據段DATA_SEG,它把整數5賦予一個字節(jié),并把整數1,0,2,5和4放在10字數組DATA_LIST的頭5個單元中。 試列出各種方法,使匯編程序把5150H存入一個存儲器字中(如:DW 5150H)。答:JMP BEGINUP DB 0DOWN DB 0TABLE DB 100H DUP (?) ;數組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 請用圖表示ENTER 16,0所生成的堆棧幀的情況。 請給出下列指令序列執(zhí)行完后AX和DX的內容。答:每次調用及返回時的堆棧狀態(tài)圖如下所示: 假設(EAX)=00001000H,(EBX)=00002000H,(DS)=0010H,試問下列指令訪問內存的物理地址是什么?(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 假設(EAX)=9823F456H,(ECX)=1F23491H,(BX)=348CH,(SI)=2000H,(DI)=4044H。(4) BX與AX的內容相比較是否產生溢出?若溢出則轉OVERFLOW。(2) 在STUDENT_ADDR中查找第一個‘’。(3) 把CONAME中的第3和第4個字節(jié)裝入AX。MOV CL, 7SHR BX, CL答:(BX)=00DAH。答:(1) MOV AX, DATAXADD DATAY, AXMOV AX, DATAX+2ADD DATAY+2, AX(2) MOV AX, DATAXADD DATAY, AXMOV AX, DATAX+2ADC DATAY+2, AXMOV DATAY+4, 0 ;用于存放進位位ADC DATAY+4, 0(3) DATAX和DATAY兩個字數據之和加1,結果存入BX寄存器。(1) 1234H (2) 5D90H (3) 9090H (4) EA04H答:(1) 差為C754H;SF=1,ZF=0,CF=1,OF=0(2) 差為12B0H;SF=0,ZF=0,CF=0,OF=0(3) 差為45B0H;SF=0,ZF=0,CF=0,OF=1(4) 差為9F24H;SF=1,Z
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1