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

正文內(nèi)容

ibm—pc匯編語言程序設計習題參考答案(參考版)

2025-04-10 05:54本頁面
  

【正文】 答:程序段如下: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 。答:程序段如下:BEGIN: MOV AH, 1 ;從鍵盤輸入一個字符的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 ;顯示一個字符的DOS調(diào)用MOV AH, 2INT 21HJMP BEGINSTOP: RET 編寫程序,從鍵盤接收一個小寫字母,然后找出它的前導字符和后續(xù)字符,再按順序顯示這三個字符。 試說明下述指令中哪些需要加上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 ;不需要答:見注釋。答:程序如下: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 ;設置返回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 ;不考慮有符號數(shù)溢出MOV WORD PTR SUM, AXMOV WORD PTR [SUM+2], BXRETMAIN ENDPC_SEG ENDS ;以上定義代碼段;END START 請說明表示程序結束的微操作和結束程序執(zhí)行的語句之間的差別。答:程序的框架如下: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 ;設置返回DOSSUB AX, AXPUSH AXMOV AX, DATA_SEGMOV DS, AX ;給DS賦值┇ ;程序段部分RETMAIN ENDPCODE_SEG ENDS ;以上定義代碼段;END START 寫一個完整的程序放在代碼段C_SEG中,要求把數(shù)據(jù)段D_SEG中的AUGEND和附加段E_SEG中的ADDEND相加,并把結果存放在D_SEG 段中的SUM中。(1) DATA_SEG SEG ;DATA_SEG SEGMENT(偽操作錯)(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答:見注釋。 對于下面的數(shù)據(jù)定義,各條MOV指令單獨執(zhí)行后,有關寄存器的內(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 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答:見注釋。答:(1) MOV AX, OFFSET LNAME(2) MOV SI, WORD PTR CODE_LIST(3) CODE_LENGTH EQU $ CODE_LIST ;此語句必須放在CODE_LIST語句之后 試寫出一個完整的數(shù)據(jù)段DATA_SEG,它把整數(shù)5賦予一個字節(jié),并把整數(shù)1,0,2,5和4放在10字數(shù)組DATA_LIST的頭5個單元中。(2) 用一條指令將CODE_LIST的頭兩個字節(jié)的內(nèi)容放入SI。 有符號定義語句如下:BUFF DB 1, 2, 3, ‘123’EBUFF DB 0L EQU EBUFF BUFF問L的值是多少?答:L=6。(1) FLD1B為字符串變量:‘personal puter’;(2) FLD2B為十進制數(shù)字節(jié)變量:32;(3) FLD3B為十六進制數(shù)字節(jié)變量:20;(4) FLD4B為二進制數(shù)字節(jié)變量:01011001;(5) FLD5B為數(shù)字的ASCII字符字節(jié)變量:32654;(6) FLD6B為10個零的字節(jié)變量;(7) FLD7B為零件名(ASCII碼)及其數(shù)量(十進制數(shù))的表格:PART1 20PART2 50PART3 14(8) FLD1W為十六進制數(shù)字變量:FFF0;(9) FLD2W為二進制數(shù)的字變量:01011001;(10) FLD3W為(7)零件表的地址變量;(11) FLD4W為包括5個十進制數(shù)的字變量:5,6,7,8,9;(12) FLD5W為5個零的字變量;(13) FLD6W為本段中字數(shù)據(jù)變量和字節(jié)數(shù)據(jù)變量之間的地址差。 試列出各種方法,使匯編程序把5150H存入一個存儲器字中(如:DW 5150H)。 畫圖說明下列語句所分配的存儲空間及初始化的數(shù)據(jù)值。 假設下列指令中的所有標識符均為類型屬性為字的變量,請指出下列哪些指令是非法的?它們的錯誤是什么?(1) MOV BP, AL ;錯,寄存器類型不匹配(2) MOV WORD_OP [BX+4*3][DI], SP(3) MOV WORD_OP1, WORD_OP2 ;錯,不能都是存儲器操作數(shù)(4) MOV AX, WORD_OP1[DX] ;錯,DX不能用于存儲器尋址(5) MOV SAVE_WORD, DS(6) MOV SP, SS:DATA_WORD [BX][SI](7) MOV [BX][SI], 2 ;錯,[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答:見注釋。第 四 章. 習 題 指出下列指令的錯誤:(1) MOV AH, BX ;寄存器類型不匹配(2) MOV [BX], [SI] ;不能都是存儲器操作數(shù)(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]已經(jīng)是偏移地址,不能再使用OFFSET(7) MOV CS, AX ;CS不能用作目的寄存器(8) MOV ECX, AX ;兩個操作數(shù)的數(shù)據(jù)類型不同答:見注釋。答:JMP BEGIN原(BP)低字節(jié)原(BP)高字節(jié)存儲器002EH002FH0030H0031H0032H0033H0034H0035H0036H003
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1