有答案的匯編習(xí)題_第1頁
有答案的匯編習(xí)題_第2頁
有答案的匯編習(xí)題_第3頁
有答案的匯編習(xí)題_第4頁
有答案的匯編習(xí)題_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1.計(jì)算機(jī)系統(tǒng)概述 習(xí)題1、簡述計(jì)算機(jī)系統(tǒng)的構(gòu)成。 (1.1) 2、試述 匯編 語言的特點(diǎn)。 (1.1)3、將下列十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)和十六進(jìn)制數(shù)。(1.2.1)(1)369 (2) 10000 ( 3)4095 (4) 327674、將下列二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù)和十進(jìn)制數(shù)。(1.2.1)(1)101101 (2)10000000 (3)1111111111111111 ( 4) 111111115、將下列十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)和十進(jìn)制數(shù)。(1.2.1)(1) FA (2)5B (3)FFFE (4)12346、試分別判斷下列各組數(shù)據(jù)中哪個(gè)數(shù)據(jù)最大?哪個(gè)最???(1.2.1)( 1) A=

2、0.101B B=0.101D C=0.101H( 2) A=1011B B=1011D C=1011H7、將下列十進(jìn)制數(shù)轉(zhuǎn)換為 BCD 碼。(122)(1 ) 12 ( 2 ) 24 ( 3 ) 68 ( 4 ) 127(5 ) 128 ( 6 ) 255 ( 7 ) 1234 ( 8 ) 2458&將下列 BCD 碼轉(zhuǎn)換為十進(jìn)制數(shù)。(1.2.2)(1)1001,0001(2) 1000,1001(3) 0011,0110 (4) 1001,0000(5) 0000,1000 (6) 1001,0111,(7) 1000,0001(8) 0000,000109、 請寫出下列字符串的 ASCI

3、I 碼值。 (1.2.2)For example,This is a number 3692.10、 下列各數(shù)為用十六進(jìn)制表示的8 位二進(jìn)制數(shù), 它們所表示的十進(jìn)制數(shù)及被看作字符的ASCII 碼時(shí)的字符是什么? (1.2.2)1 ) 4F ( 2) 2B ( 3) 73 ( 4) 598 位 二進(jìn)制數(shù),說明當(dāng)它們分別被看作是無符號數(shù)或用補(bǔ)碼表示的帶符號(1.2.3)1 ) D8 ( 2) FF12、 現(xiàn)有一個(gè)二進(jìn)制數(shù)10110110, 若將該數(shù)分別看作是無符號數(shù), 原碼表示的帶符號數(shù),11、下列各數(shù)為十六進(jìn)制表示的數(shù)時(shí),所表示的十進(jìn)制數(shù)是什么?補(bǔ)碼表示的帶符 號數(shù),它對應(yīng)的十進(jìn)制數(shù)的真值分別是

4、多少? (1.2.3)13、 將下列十進(jìn)制數(shù)分別用 8位二進(jìn)制數(shù)的原碼、反碼和補(bǔ)碼表示。 (1.2.3)( 1 ) 0( 2 )- 127( 3 ) 127( 4 )- 57(5) 126(6) 126 (7) 6814、計(jì)算機(jī)中有一個(gè) 0110,0001 編碼,如果把它認(rèn)為是無符號數(shù),它是十進(jìn)制的什么數(shù)?如果認(rèn)為它是BCD 碼,則表示什么數(shù)?又如果它是某個(gè)ASCII 碼,則代表哪個(gè)字符?(1.2.3)15、 完成下列無符號二進(jìn)制數(shù)的運(yùn)算。(1.2.4)( 1 ) 11,1010+1011,0111( 2) 1,0010,0011,0100+1010,1111(3)1010,1011,1100

5、,1101-1111,1110(4) 111,1010,1011*110,111116、下列各數(shù)均為十進(jìn)制數(shù), 請用 8 位二進(jìn)制補(bǔ)碼計(jì)算下列各題, 并用十六進(jìn)制數(shù)表示其結(jié)果。(1.2.4)( 1 )( -85 ) +76( 2) 85+( -76 )( 3) 85-76( 4) 85- ( -76 )(5)( -85) -76(6) -85- (-76)17、 完成下列二進(jìn)制數(shù)的運(yùn)算。(1.2.4)(1 ) 1011,1000/1001( 2 ) 1011A1001(3) 1011V1001(4)1011(5) 1011 100118、簡述 Intel 80X86 系列 CPU 體系結(jié)構(gòu)發(fā)展

6、。(1.3)19、 簡述 PC 機(jī)最低 1MB 主存空間的使用情況。(1.4)20、列出 8086 寄存器時(shí)所用的 DEBUGS 令是什么? (1.4)第二章 8086 指令系統(tǒng) 習(xí)題1、 簡述標(biāo)志寄存器各個(gè)位的含義。(2.1)2、 簡述 8086 機(jī)器代碼格式。(2.2 )3、 分別指出下列指令中源 操作數(shù)和目的操作數(shù)的尋址方式。(2.2)1) MOV SI,100(2) MOV CX,DATASI(3) MOV SI,AX (4) PUSHF4、假定 DS=2000H,SS=1500H,SI=00A0H,BX=0100H,BP=0010H 數(shù)據(jù)變量 VAL 的偏移地址為 0050H,請指出

7、下列指令中源 操作數(shù)字段是什么尋址方式?它的物理地址是多少? (2.2)8、計(jì)算下列 4 條指令中 操作 數(shù)的地址并指出執(zhí)行結(jié)果。 (2.3)(1)MOV 1BX+SI,AX(2)MOV 2BP+SI,BX(3)MOV 3BX+DI,CX1) MOV AX,100H(2)MOV AX,100H(3) MOV AX,BP(4)5、試分別說明下列各指令中源MOV AX,VALBXSI操作數(shù)和目的 操作數(shù)使用的尋址方式。 (2.2)1)AND AX,0FFH (2)AND BL,0FFH (3) MOV DS,AXMOV DS:0FFH,CL (6) SUB BPSI,AH OR DX,-35BXD

8、I(9)PUSH DS6、給定(BX)=637DH (SI)=2A9BH 位移量 D=7237H,試確定下列各種尋址方式下的有效地址是什么?(1)直接尋址(2)使用 BX 的寄存器尋址(3)使用 BX 的間接尋址5)基址變址尋址(6)相對基址變址尋址4)(7)CMP SI,CX(5)ADC AX,0ABH(8)(2.2)(4)使用 BX 的寄存器相對尋址7、指出下列指令中的錯(cuò)誤。(2.3)1)MOV AH,BX (2)MOV BX,SI3)MOV AX,SIDI4) MOV BYTE PTRBX,1000(5)MOV CS,AX(4)MOV 4BP+DI,DX假定執(zhí)行前: (DS)=1000H

9、, (SS)=2000H, (BX)=300H, (BP)=400H, (SI)=50H, (DI)=60H,(AX)=12H, (CX)=13H, (DX)=15H.9、指出下列指令的功能。(2.3)MOV BX,OFFSET TABMOV AL,4XLAT TAB10、 分別指出下列各條指令的功能。(2.3)MOV SI,OFFSET NUMLEA SI,NUMMOV AX,SILEA AX,SILEA DI,4SILEA POIN,BUFMOV POIN,OFFSET BUF11、 編指令實(shí)現(xiàn)兩個(gè)雙精度數(shù) SUB1 和 SUB2 的減法運(yùn)算,相減后結(jié)果保存在 DSUB 和DSUB+2 勺

10、單元中。(2.4)12、 若 AL=0B4H,BL=11H,指令 MUL BL 和指令 IMUL BL 分別執(zhí)行后,它們的結(jié)果為何值?OF、CF 為何值?(2.4)13、寫出完成下述功能的程序段。 (2.4)(1)傳送 25H 到 AL 寄存器。(2)將 AL 內(nèi)容乘以 2。(3)傳送 15H 到 BL 寄存器。(4)AL 的內(nèi)容乘以 BL 的內(nèi)容。問最后結(jié)果 AX=?14、寫出實(shí)現(xiàn) 4001H/4 的運(yùn)算的程序段。 (2.4)15、 下述程序段執(zhí)行完后,AX 和 SI 中的內(nèi)容各為多少? (2.4)MOV AL, -7CBWMOV SI, AX16、 閱讀下列程序,寫出此程序所完成的運(yùn)算算式

11、。已知符號常量A, B,C分別表示數(shù)值常量 a,b,c o (2.4)MOV AX, AIMUL BMOV CX, AXMOV BX, DXMOV AX, CCWDADD AX, CXADC DX, BXSUB AX, 70SBB DX, 0IDIV AMOV D, AXMOV D+2, DX17、 編寫程序段實(shí)現(xiàn)字節(jié)非壓縮的BCD 碼53 除以字節(jié)非壓縮的 BCD 碼3,要求商置于字節(jié)單元 C 中,余數(shù) 置于字節(jié)單元 R 中。(2.4)18、女口(BCD1)=1834,(BCD2)=2789,要求執(zhí)行(BCD3)v-(BCD1)+(BCD2),BCD1 和 BCD2均為用壓縮的 BCD 碼表

12、 示的十進(jìn)制數(shù),由于它們都是 4 位數(shù),所以每個(gè)數(shù)占有 2 個(gè)字節(jié),高位數(shù)占有高位字節(jié),其存放方式為(BCD1)=34, (BCD1+1)=18(BCD2)=89, (BCD2+1)=27 。 (2.4)19、 分析下面程序段中第三條語句執(zhí)行后,AL 中的內(nèi)容是多少? (2.5)A EQU B6HMOV AL, 0ABHAND AL, A AND 0FDH20、對給定字節(jié)數(shù)據(jù),用指令序列實(shí)現(xiàn)下述要求:(1)屏蔽 0BFH 的 0、1 位;(2)將 43H 的第 5 位置 1;(3)測試 40H 的第 0,1,2,3,5,7, 位是否為 0;(4)測試 AL 寄存器中字節(jié)數(shù)的第 2 位是否為 1

13、,如為 1 則轉(zhuǎn) NEXT 執(zhí)行;(5)將 11H 的第 0、1 兩位變反;(6)測試 AL 寄存器內(nèi)容是否與 04FFH 相等,若相等則轉(zhuǎn) NEXT 執(zhí)行。(2.5)21、 將 S1 為起始地址的 30 個(gè)字符依次傳送到同數(shù)據(jù)段的以S2為起始地址的一段字節(jié)存儲單元中。(2.6)22、有一段程序如下: (2.6)MOV CX,10LEA SI,FIRSTLEA DI,SECONDCLDREP MOVSB(1)這個(gè)程序段完成什么 操作?(2)REP 和 MOVSB 哪部分先執(zhí)行?(3)MOVS 第 一次執(zhí)行時(shí),要完成什么動(dòng)作?(4)REP 第 一次執(zhí)行時(shí),要完成什么工作?23、 用其它指令完成和

14、下列指令一樣的功能。(2.6)(1)REP MOVSB (2) REP STOSB24、 閱讀下列程序段,指出它所完成的運(yùn)算。(2.7)CMP AX, 0JGE EXITNEG AXEXIT:25、 分析下面兩條語句的功能。(2.7)CMP AX, 0JNE T26、編程序段計(jì)算 S=2+4+6+200.(2.7)27、 比較 AX,BX,CX 中帶符號數(shù)的大小,并將最大數(shù)放在AX 中。試編寫此程序段。(2.7)28、 編寫程序段將 DATA 中的 100 個(gè)字節(jié)數(shù)據(jù)的位置顛倒過來。(2.7)29、 試編寫一程序段,求符號函數(shù)SNG(X)的值。(2.7)30、 有一串 L 個(gè)字符的字符串存儲于

15、首地址為ASCII_STR 的存儲區(qū)中。如要求在字符串中查找空格(ASCII 碼為 20H)字符,找到則繼續(xù)執(zhí)行,如未找到則轉(zhuǎn)到 NOT_FOUN 去執(zhí)行,編制實(shí)現(xiàn)這一要求的程序。(2.7)第三章 匯編 語言程序格式 習(xí)題1.簡述 匯編 語言程序的兩種格式。( 3.1 )2.簡述匯編語言程序的命令行開發(fā)過程。 (3.1 )3.簡述匯編語言程序的集成化開發(fā)過程(PWB。( 3.1 )4.下面兩條語句有何區(qū)別: (3.2.1)X1 EQU1000HX2 =1000H5.指令A(yù)ND AX,OPD1 AND OPD2中,OPD1 和 OPD2 是兩個(gè)已賦值的變量,問兩個(gè) AND 操作分別在什么時(shí)間進(jìn)行

16、?有什么區(qū)別?(3.2.1)6.下列程序完成什么工作? (3.2.2)DATX1 DB 300 DUP(?)DATX2 DB 100 DUP(?)MOV CX,100MOV BX,200MOV SI,0MOV DI,0NEXT: MOV AL,DATX1BXSIMOV DATX2DI,ALINC SIINC DILOOP NEXT7.變量 DATAX 和變量 DATAY 勺定義如下:(322)DATAX DW 0148HDW 2316HDATAY DW 0237HDW 4052H按下述要求 寫 出指令序列:(1)DATAX和DATAY中的兩個(gè)字?jǐn)?shù)據(jù)相加,和存放在DATAY 及DATAY+2 中

17、(2)DATAX 雙字除以字 DATAY8.下列指令序列有何錯(cuò)誤?請改正,并指出 AX,AL 的內(nèi)容。( 3.2.2 ) OPER1 DB 1,2OPER2 DW 1234H,5678HMOV AX,OPER1+1MOV AL,OPER29.單條執(zhí)行如下程序,每一步有關(guān)寄存器的內(nèi)容是什么? (3.2.2)CODESEGMENTADB1,2,3BDB5 DUP(4)CDW5,6,7DDBHelloASSUME CS:CODE,DS:CODEGO:MOV AX,CODEMOV DS,AXMOV AX,CMOV BX,LENGTH CMOV BX,SIZE CMOV BX,TYPE CMOV BX,

18、OFFSET CMOV AL,LENGTH BMOV AL,LENGTH DMOV AL,LENGTH AMOV AL,SIZE DMOV AL,SIZE BMOV AH,4CHINT 21HCODE ENDSEND GO10.試列出幾種方法 使匯編程序把 5150H 存入一個(gè)存儲器字中。(322)11.下面的語句中有數(shù)據(jù) 0102H 的字存儲單元有多少? (3.2.2)DB 10H DUP(1,2 DUP(2)12.如要求把首地址為 BLOCK 的字?jǐn)?shù)組的第 6 個(gè)字傳送到 DX 寄存器,可用什么指令?13.下述程序段執(zhí)行后,寄存器 AX 和 BX 的內(nèi)容分別是多少? (3.2.2)NUM

19、EQU 945HALPH=35*27MOV AX,ALPH LE NUMMOV BX,ALPH GT NUM14.下述程序段執(zhí)行后,寄存器 BX 和 CX 的內(nèi)容分別是多少? (3.2.2)NUM1=20*20NUM2 EQU 400HREL1 DW NUM1 LE NUM2REL2 DB NUM1 NE NUM2,NUM1 EQ NUM2MOV BX,REL1MOV CX,WORD PTR REL215.對于下面的數(shù)據(jù)定義,三條 MOVt 令分別匯編成什么?(可用立即數(shù)方式表示)TABLEA DW 10 DUP(?)TABLEB DB 10 DUP(?)TABLEC DB 1234MOV A

20、X,LENGTH TABLEAMOV BL,LENGTH TABLEBMOV CL,LENGTH TABLEC16.程序在數(shù)據(jù)段中定義的數(shù)組如下: (3.2.3)NAMES DB TOMDB 20DB ROSEDB 30DB KATEDB 25請指出下列指令是否正確?為什么?(1)MOV BX,OFFSET NAMESMOV AL,BX+5(2)MOV AX,NAMES(3)MOV AX,WORD PTR NAMES+1(4)MOV BX,6MOV SI,5MOV AX,NAMESBXSI(5)MOV BX,6*2MOV SI,5MOV AX,OFFSET NAMESBXSIINC AX(6)

21、MOV BX,6MOV SI,5LEA DI,NAMESBXSIMOV AL,DI17.假設(shè)數(shù)據(jù)段 DSEG 中的符號及數(shù)據(jù)定義如下,試寫出此數(shù)據(jù)段匯編后各行語句的初始地址及其內(nèi) 容。 (3.2.3)DSEG SEGMENTJOE=100 SAM=JOE+20S_F DB /XYZ/,0DH,0AHB_F DB 101B,19,a.RADIX 16BLK DB 11 DUP( )EVENW_F1 DW 12,13D,11010B,333,SAM .RADIX 10W_F2 DW 15LEN EQU $-S_FDSEG ENDS18.寫出以下數(shù)據(jù)段中每個(gè)符號所對應(yīng)的值。 (3.2.3)DATAR

22、EA SEGMENTMAX EQU 0FFFHVALONE EQU MAX MOD 10HVALTWO EQU VALONE*2BUFSIZ EQU (VALTWO GT 10H)AND 10H)+10H BUFFER DB BUFSIZ DUP(?)BUFEND EQU BUFFER+BUFSIZ-1 DATAREA ENDS19.用段偽操作定義一個(gè)數(shù)據(jù)段 DATA_SEG 要求段界起始與字邊界,連接時(shí),該段將與同名邏輯段連 接成一個(gè)物理段,類別為DATA。(323)20.假設(shè)程序中的數(shù)據(jù)定義如下: (3.2.3)LNAME DB 30 DUP(?)ADDRESS DB 30 DUP(?)C

23、ITY DB 15 DUP(?) CODE_LIST DB 1,7,8,3,2(1)用一條 MOV 旨令將 LNAME 勺偏移地址放入 AX.(2)用一條指令將 CODE_LIST 的頭兩個(gè)字節(jié)的內(nèi)容放入 SI.(3)寫一條偽操作使 CODE_LENG 啲值等于 CODE_LIST 域的實(shí)際長度。21.給出等值語句如下:ALPHA EQU 100BETA EQU 25GAMMA EQU 2 下列表達(dá)式的值是多少? (3.2.3)(1)ALPHA*100+BETA(2)ALPHA MOD GAMMA+BETA(3)(ALPHA+2)*BETA-2(4)(BETA/3) MOD 5(5)(ALPH

24、A+3)*(BETA MOD GAMMA)(6)ALPHA GE GAMMA(7)BETA AND 7(8)GAMMA OR 322.對于下列指令 寫出匯編 后的結(jié)果。 (3.2.3)(1)ARRAY DW 1,2,3ADD SI, TYPE ARRAY(2)FEES DW 100 DUP(0)MOV CX,LENGH FEES(3)TABLE DB ABCDMOV CX,LENGH TABLE23.指出下列偽指令表達(dá)方式的錯(cuò)誤,并改正之。 (3.3)(1)STACK_SEG SEGMENTSTACK(2)SEGMENT CODE(3)MAIN_PROC PROC FARSTART:MAIN_

25、PROC ENDSEND MAIN_PROC MAIN_PROC ENDP24.某一程序的數(shù)據(jù)段中有如下幾條偽指令語句,試分析各變量的屬性。 (3.3)DATA SEGMENTDDBUF EQU THIS DWORDBUF DB 100 DUP(?)DWBUF EQU WORD PTR BUFDATA ENDSFIRST EQU THIS FARLEA SI ,BUF25.某程序中的數(shù)據(jù)段內(nèi)容如下所示,請指出變量BUF 和 NUM 勺偏移地址為多少?DATA SEGMENTORG 10(3.3)BUF DB ABCDORG $ +5NUM DW 50DATA ENDS如數(shù)組 ARRAY 定義如

26、下, 試 寫出把數(shù)組長度(字?jǐn)?shù))存入 CX 寄存器的指令。 (3.3)ARRAY DW ,1 2, 3, 4, 5, 6, 7END DW?請把 40 個(gè)字母 a 的字符串從源緩沖區(qū)傳送到目的緩沖區(qū)。 (3.3) 編一完整程序求兩數(shù) 14 與-25 和的絕對值。 (3.3) 結(jié)構(gòu)數(shù)據(jù)類型如何說明、結(jié)構(gòu)變量如何定義、結(jié)構(gòu)字段如何應(yīng)用?( 3.4 )記錄數(shù)據(jù)類型如何說明,記錄變量如何定義,WIDTH 和 MASI 操作符是什么作用? (3.4)第四章 匯編 語言程序設(shè)計(jì) 習(xí)題已知兩個(gè)八 位無符號數(shù) x 和 y,分別存放在 BUF 和 BUF+1 單元中,且 xy。請編程序計(jì)算 x-y,結(jié)果存回 B

27、UF 單元。(4.1)已知 DAT 單元有一數(shù) x?,F(xiàn)要求編程將 x 的低四位變?yōu)?1010,最高位 D7 置為 1,其它三位不變。(4.1)已知有兩個(gè)壓縮 BCD 數(shù) BCD1 和 BCD2 其在內(nèi)存存放形式為:(BCD1)=34 (BCD1+1)=18(BCD2)=89 (BCD2+1)=27高位字節(jié)為高位數(shù)。要求編程將BCD1 和 BCD2 相加, 結(jié)果送 BCD3 開始的存儲單元。(4.1)DAT 單元的內(nèi)容拆成高、低各四 位,然后分別存于 DAT+1 及 DAT+2 的低四位。(4.1)內(nèi)存某一緩沖區(qū)中存放著十個(gè)單元的BCD 碼,每個(gè)單元中放兩 位 BCD碼(壓縮 BCD 碼)。要求

28、把它們分別轉(zhuǎn)換為 ASCII 碼。高位 BCD 碼轉(zhuǎn)換后放在高地址單元。(4.1)三個(gè)無符號數(shù) x,y,z,均小于等于 255,分別存于 DATA,DATA+和 DATA+2 單元中?,F(xiàn)要找出三個(gè)數(shù) 中數(shù)值大小居中的一個(gè),并將其存入BUF 單元中。(4.2)26.27.28.29.30.1.2.3.4.5.6.7.8.9.累加器 AL 中有一字符,用 ASCII 碼表示。當(dāng)其為A時(shí),程序轉(zhuǎn)移到 LPA 處;如為B,則轉(zhuǎn)移到LPB 處;如為E,則轉(zhuǎn)移到 LPE 處,否則,均轉(zhuǎn)向 LPN 處。(4.2)在 DATA 單元有一個(gè)二進(jìn)制數(shù) x,要求編程完成運(yùn)算:(4.2)x+1 x0y= x x=0

29、x-1x0數(shù)組 A 和 B,各有 20 個(gè)數(shù)據(jù),它們均已按升序排放?,F(xiàn)要求將這兩個(gè)數(shù)組合并為一個(gè)數(shù)組C,且要求其數(shù)據(jù)也按升序排放, 試編程實(shí)現(xiàn)。(4.2) 編一程序, 要求將 BUF 單元開始的 100個(gè)存儲單元全部清零。若不知所清單元長度,只知以 OFFH 作為結(jié)束標(biāo)志,又該如何處理? (4.3) 有一數(shù)據(jù)塊,長度為 100 字節(jié),存放于 DAT 開始的存儲單元。要求將此數(shù)據(jù)塊中的負(fù)數(shù)的個(gè)數(shù)統(tǒng) 計(jì)出來,并將統(tǒng)計(jì)結(jié)果存入 MNUMI 元中。(4.3)有一個(gè)由八位數(shù)組成的數(shù)列,長度為三字節(jié),存放地址始于DAT 單元。求此數(shù)列的算術(shù)和并存于BUF 和 BUF+1 單元。已知數(shù)列之和為十六位數(shù)。(4

30、.3)從 NUM 禪元起有 100 個(gè)數(shù),其值在 0100 之間。試編程實(shí)現(xiàn)以下數(shù)據(jù)統(tǒng)計(jì):(1)有多少個(gè)大于等于 60 的數(shù)?統(tǒng)計(jì)結(jié)果存于 COUN 單元。已知在 DAT 單元內(nèi)有一帶符號數(shù) 為正奇數(shù),為正偶數(shù),為負(fù)奇數(shù),為負(fù)偶數(shù),則將則將則將則將以上四種情況運(yùn)算的結(jié)果都送回x。 試編一程序, 根據(jù) x 的具體情況進(jìn)行如下處理: x 與 BUF單元內(nèi)容相加;x 與 BUF 單元內(nèi)容相與”;x 與 BUF 單元內(nèi)容相”或”;x 與 BUF 單元內(nèi)容相”異或”。BUF 單元。零作為正偶數(shù)處理。(4.2)(2)有多少個(gè)為 100 的數(shù)?統(tǒng)計(jì)結(jié)果存于 COUNT+單元。(3)有多少個(gè)為 0 的數(shù)?統(tǒng)計(jì)

31、結(jié)果存于 C0UNT+2 單元。(4)當(dāng)小于 60 的數(shù)超過十個(gè),則結(jié)束統(tǒng)計(jì),同時(shí)置COUNTS 元為OFFHo (4.3)15.將 ADAT 單元起的 100 個(gè)字節(jié)數(shù)據(jù),傳送到 BDAT 開始的單元中去。已知數(shù)據(jù)區(qū)無覆蓋問題,要求 用三種方法實(shí)現(xiàn)。 (4.3)16.將 BUF 單元開始的 50 個(gè)字節(jié)數(shù),區(qū)分出奇、偶數(shù)。將奇數(shù)在前,偶數(shù)在后,仍存回原數(shù)據(jù)區(qū)。(4.3)17.對 A 址起的 30 個(gè)字節(jié)長的字符串, 刪除其中的數(shù)字符, 后續(xù)字符向前遞補(bǔ), 剩余字符補(bǔ)空格字符, 編程實(shí)現(xiàn)。 (4.3)18.已知有三個(gè)八位無符號數(shù) x,y,z,分別存放于 NUMB,NUMB+和 NUMB+2 單

32、元。 要求編一程序?qū)崿F(xiàn) 2x+3y+5z,并要求將運(yùn)算結(jié)果送 RES 單元和 RES+1 單元。(4.4)19.將兩個(gè)八位無符號數(shù)乘法的程序編為一個(gè)子程序。被乘數(shù)、乘數(shù)和乘積存放于自NUB 開始的四個(gè) 存儲單元中。 (4.4)20.將 CSTRN 起的 50 個(gè)字符的串,統(tǒng)計(jì)相同字符的字符數(shù),找出相同字符數(shù)最多字符, 存于 CMOR 單元中。 (4.4)21.宏定義體內(nèi)不僅可以使用宏調(diào)用,也可以包含宏定義。以下宏定義:其中 MACNA 是內(nèi)層的宏定義名,但又是外層宏定義的啞元,當(dāng)調(diào)用DEFMA(時(shí),就形成一個(gè)宏定義。寫出宏調(diào)用:DEFMAC ADDITION ADD 的宏展開。(4.5 )22

33、.用宏定義及重復(fù)偽操作把 TAB, TAB+1, TAB+2,,TAB+16 的內(nèi)容存入堆棧。(4.5 )23.要求建立一個(gè) 100D 字的數(shù)組,其中每個(gè)字的內(nèi)容是下一個(gè)字的地址,而最后一個(gè)字的內(nèi)容是第一個(gè)字的地址。 (4.5)24.試定義宏指令 MAX 把三個(gè)變元中的最大值放在 AX 中,而且使變元數(shù)不同時(shí)產(chǎn)生不同的程序段。(4.5)25.編一個(gè)程序模塊完成輪流查詢?nèi)齻€(gè)數(shù)據(jù)輸入設(shè)備的功能。(4.6)第五章 32 位指令及其編程 習(xí)題1.試述什么是實(shí)模式、保護(hù)模式和虛擬 8086 方式?( 5.1.1 )2.在以 BP EBR ESP 作為基址寄存器訪問存儲器操作數(shù)時(shí),其默認(rèn)的段寄存器是_;但

34、是,通常 ESP 作為_,不應(yīng)該將它用于其他目的。(5.1.1)3.為什么說 32 位通用寄存器比 16 位通用寄存器更通用? (5.1.1)4.32 位指令新增了哪些超越指令前綴,代碼為66H 和 67H 的超越前綴是什么作用?(5.1.1)5.試述 32 位 x86 CPU 的標(biāo)志寄存器 EFLAGS 相對于原來的 16 位 FLAGS 寄存器新增那些標(biāo)志位,其說 明其含義。( 5.1.1 )6.試述 16 位存儲器尋址與 32 位存儲器尋址在計(jì)算有效地址上有哪些不同。 (5.1.2)7.指出下列傳送指令中源操作數(shù)的尋址方式。 (5.1.2)1)MOV EBX,77665544H2)MOV

35、 EAX,5678H3)MOV EAX,EBX+ESI+80H4)MOV EAX,ESI*25)MOV EAX,EBX+ESI*8+80H8.8086/8088 處理器和 80286 后的處理器在對 PUSH 旨令的處理上有什么不同?( 5.2.1 )9.試用一條 LEA 指令實(shí)現(xiàn)如下運(yùn)算操作:EAX-EBX+ESI*2+1234H能夠保證該運(yùn)算正確的條件是什么?( 5.2.1 )10.寫指令從端口 03FCH 送一個(gè)雙字到 EAX 寄存器。(521)11.說明下列指令的操作。 (5.2.1)1)PUSHBX2) PUSHAD3) PUSH44) POPESI12.假設(shè)(EAX = 00001

36、000H,(EBX= 00002000H,試問下列指令訪問內(nèi)存的有效地址是什么?(5.2.1)( 1 ) MOV ECX, EAX+EBX ( 2) MOV EAX+2*EBX, CL( 3) MOV DH, EBX+4*EAX+1000H13.說明下面兩條指令是否正確。 (5.2.2)( 1 ) ADD ECX, AX( 2) MOV AX, EBX, ECX14.說明指令 IMUL BX, DX 100H 完成的操作。(5.2.2)15.寫一個(gè)程序段,求 EAX EBX ECX 的和。若有進(jìn)位則將 1 存入 EDX 否則 EDX 存入 0,EAX 為累加 和。( 5.2.2 )16.指出下

37、列指令序列執(zhí)行完后目的寄存器的內(nèi)容。 (5.2.2)(1) MOVEAX,299FF94HADD EAX,34FFFFH( 2) MOVEAX,39393834HAND EAX,0F0F0F0FH17.要求將 EAX 中的第 0, 1 位取反,用什么指令?(5.2.3)18.女口( EAX = 00001122H,( EBX = 00003344H,要求把它們裝配在一起形成(EAX) = 11223344H,試編程實(shí)現(xiàn)。(5.2.3)19.在實(shí)方式下(16 位段)編程序段,把長度為CX字節(jié)的數(shù)據(jù)塊從DS SI指定的源存儲區(qū)搬到 ES:DI 指定的目的存儲區(qū)。( 5.2.4 )20.JECXZ

38、指令什么條件下轉(zhuǎn)移?(5.2.5)作業(yè)題答案第一章 計(jì)算機(jī)系統(tǒng)概述 習(xí)題答案1 、計(jì)算機(jī)系統(tǒng)分為硬件和軟件兩大部分。硬件包括:運(yùn)算器、控制器、存儲器、輸入設(shè)備、輸出設(shè)備五個(gè) 主要組成部分。軟件分為系統(tǒng)軟件和應(yīng)用軟件。2、(1)匯編語言與處理器密切相關(guān)。每種處理器都有自己的指令系統(tǒng),相應(yīng)的匯編語言各不相同。所以,匯編語言程序的通用性、可移植性較差。(2)匯編語言功能有限,又涉及寄存器、主存單元等硬件細(xì)節(jié),所以編寫程序比較繁瑣,調(diào)試起來 也比較困難。(3)匯編語言本質(zhì)上就是機(jī)器語言,它可以直接地、有效地控制計(jì)算機(jī)硬件,因而容易產(chǎn)生運(yùn)行速 度快、指令序列短小的高效率目標(biāo)程序。3、( 1 ) 1,01

39、11,0001B 171H( 2 ) 10,0111,0001,0000B 2710H(3)1111,1111,1111B FFFH (4) 111,1111,1111,1111B 7FFFH4、(1)2 DH 45D(2) 80H 128D(3) FFFFH 65535D(4) FFH 255D5、(1) 1111,1010B 250D(2) 101,1011B 91D(3) 1111,1111,1111,1110B 65534D(4) 1,0010,0011,0100B 4660D6、(1)將 A、 B、 C 均轉(zhuǎn)換為十進(jìn)制數(shù),則A=0.101B=1*2-1+1*2-3=0.5+0.125

40、=0.625DB=0.101D C=0.101H=1*16-1+1*16-3=0.0625+0.0002=0.0627D由此可得 A 最大 C 最小。(2)將 A、 B、 C 均轉(zhuǎn)換為十進(jìn)制數(shù),則A=1011B=1*23+1*21+1=8+2+1=11D B=1011DC=1011H=1*163+1*16+1=4096+16+1=4113D由此可得 C 最大 A 最小。7、(1) 0001,0010(2) 0010,0100(3) 0110,1000(4)0001,0010,0111(5 ) 0001,0010,1000( 6 ) 0010,0101,0101(7 ) 0001,0010,00

41、11,0100( 8 ) 0010,0100,0101,10008、(1) 91(2) 89(3) 36(4) 90(5)08(6) 97(7) 81(8) 029、 466F72206578616D706C6527746869732069732061206E756D62657220333639322E10、(1)表示的十進(jìn)制數(shù)為 79D, 字符為 O 。(2)表示的十進(jìn)制數(shù)為 43D, 字符為 。(3)表示的十進(jìn)制數(shù)為 115D,字符為s。(4)表示的十進(jìn)制數(shù)為 89D,字符為Y。11、(1) D8=1101,1000B 當(dāng)其為用補(bǔ)碼表示的帶符號數(shù)時(shí),表示的十進(jìn)制數(shù)是 -40D。當(dāng)其為無符號

42、數(shù)時(shí),表示的十進(jìn)制數(shù)是 216D。(2)FFH=1111,1111B 當(dāng)其為用補(bǔ)碼表示的帶符號數(shù)時(shí),表示的十進(jìn)制數(shù)是 -1D。當(dāng)其為無符號數(shù)時(shí),表示的十進(jìn)制數(shù)是 255D。12、 當(dāng)看作是無符號數(shù)時(shí),對應(yīng)的十進(jìn)制真值是182D。當(dāng)看作是原碼表示的帶符號數(shù)時(shí),對應(yīng)的十進(jìn)制真值是-54D。當(dāng)看作是補(bǔ)碼表示的帶符號數(shù)時(shí),對應(yīng)的十進(jìn)制真值是-74D。13、(1)原碼: 0000,0000B 反碼: 0000,0000B 補(bǔ)碼: 0000,0000B2) 原碼:1111,1111B 反碼:1000,0000B 補(bǔ)碼:1000,0001B3) 原碼:0111,1111B 反碼:0111,1111B 補(bǔ)碼:

43、0111,1111B4) 原碼:1011,1001B 反碼:1100,0110B 補(bǔ)碼:1100,0111B5) 原碼:0111,1110B 反碼:0111,1110B 補(bǔ)碼:0111,1110B6) 原碼:1111,1110B 反碼:1000,0001B 補(bǔ)碼:1000,0010B7) 原碼:0100,0100B 反碼:0100,0100B 補(bǔ)碼:0100,0100B14、如果認(rèn)為是無符號數(shù),它是十進(jìn)制數(shù)97。如果認(rèn)為是 BCD 碼,表示十進(jìn)制數(shù) 61。 如果認(rèn)為是 ASCII 碼,代表字符 a 。15、( 1 ) 1111,0001B( 2 ) 1,0010,1110,0011B(3)1010,1010,1100,1111B( 4 ) 11,0101,0011,0010,0101B16、(1)表示: 1010,1011+0100,1100 結(jié)果: 0FBH。(2 表示:0101,0101+1011,0100結(jié)果: 9H。(3 表

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論