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

正文內(nèi)容

80x86匯編語(yǔ)言程序設(shè)計(jì)(第2版)習(xí)題答案(已修改)

2025-04-26 11:14 本頁(yè)面
 

【正文】 習(xí)題參考答案習(xí)題參考答案1第1章11匯編的主要功能:輸入:匯編語(yǔ)言源文件輸出:目標(biāo)文件處理:對(duì)源文件進(jìn)行語(yǔ)法檢查;將符號(hào)指令翻譯為機(jī)器指令。連接的主要功能:輸入:1個(gè)或多個(gè)目標(biāo)文件與庫(kù)文件輸出:可執(zhí)行文件處理:浮動(dòng)地址的重定位;多模塊的連接。12 (1)2EH (2)0D2H (3)0FFH(4)80H (5)7FH (6)0FEH13 (1)7FH (2)0FF80H (3)0FFFFH(4)0FFD2H (5)8000H (6)0FFH14 無(wú)符號(hào)數(shù)范圍:0~2n1; 帶符號(hào)數(shù)范圍:2 n?1 ~2 n?1115 (1)壓縮BCD碼:58H;非壓縮BCD碼:x5x8H。(2)壓縮BCD碼:1624H;非壓縮BCD碼:x1x6x2x4H。16 (1)字符39。139。的ASCII碼;十進(jìn)制數(shù)31的壓縮BCD碼;十進(jìn)制數(shù)1的非壓縮BCD碼;十進(jìn)制數(shù)49的十六進(jìn)制表示。(2)十進(jìn)制數(shù)1的8位二進(jìn)制補(bǔ)碼表示;帶符號(hào)數(shù)255的16位二進(jìn)制補(bǔ)碼表示;無(wú)符號(hào)數(shù)255的8位二進(jìn)制形式。(3)十進(jìn)制數(shù)1的16位二進(jìn)制補(bǔ)碼表示;帶符號(hào)數(shù)65535的32位二進(jìn)制補(bǔ)碼表示;無(wú)符號(hào)數(shù)65535的16位二進(jìn)制形式。17 (1)作為無(wú)符號(hào)數(shù)為159,等值的16位和32位形式均為9FH;作為帶符號(hào)數(shù)為97,等值的16位和32位形式分別為0FF9FH與0FFFFFF9FH。(2)作為無(wú)符號(hào)數(shù)和帶符號(hào)數(shù)均為104,等值的16位和32位形式均為68H。(3)作為無(wú)符號(hào)數(shù)為192,等值的16位和32位形式均為0C0H;作為帶符號(hào)數(shù)為64,等值的16位和32位形式分別為0FFC0H與0FFFFFFC0H。18 (1)AND 0FH (2)OR 30H(3)右移4位可得高位的值;將原值A(chǔ)ND 0FH可得低位的值。(4)XOR 00101010B(5)AND 8000H,若結(jié)果為0,則是正數(shù),否則為負(fù)數(shù)。第2章21 系統(tǒng)總線是CPU與內(nèi)存和I/O子系統(tǒng)之間進(jìn)行數(shù)據(jù)交換的通道,包括數(shù)據(jù)總線、地址總線和控制總線,分別負(fù)責(zé)在CPU與內(nèi)存和I/O子系統(tǒng)之間傳送數(shù)據(jù)、地址和控制信息。其中,數(shù)據(jù)總線決定了CPU每次存取數(shù)據(jù)的最大位數(shù);地址總線決定了系統(tǒng)的最大可編址空間;控制總線用來(lái)控制CPU與內(nèi)存和I/O設(shè)備之間的數(shù)據(jù)傳送方式。22 8位通用寄存器8個(gè):AH,AL,BH,BL,CH,CL,DH和DL。16位通用寄存器8個(gè):AX,BX,CX,DX,SI,DI,BP和SP。32位通用寄存器8個(gè):EAX,EBX,ECX,EDX,ESI,EDI,EBP和ESP。段寄存器6個(gè):CS,DS,SS,ES,F(xiàn)S和GS。23 IP包含要執(zhí)行的下一條指令的偏移地址;SP包含堆棧段棧頂?shù)钠频刂?;段寄存器用?lái)存放16位段地址。通常,CS存放當(dāng)前代碼段的段地址,SS存放當(dāng)前堆棧段的段地址,DS、ES、FS和GS用來(lái)存放數(shù)據(jù)段的段地址。 24 因?yàn)槎蝺?nèi)偏移地址是16位,故每個(gè)段最大只能216B,即64KB。25 物理地址 = 段地址 16 + 偏移地址。給定邏輯地址,可得到唯一的物理地址;每個(gè)物理地址可由不同的邏輯地址描述。例如,邏輯地址0200:1200H對(duì)應(yīng)唯一的物理地址03200H,但該物理地址又可由邏輯地址0320:0000H,0210:1100H和0000:3200H等來(lái)描述。26 實(shí)模式的主要特點(diǎn)如下?!?與8086兼容,只有低20條地址線有效,只能尋址第一個(gè)1MB的內(nèi)存空間。● 采用內(nèi)存分段方式,程序所使用的邏輯地址為16位段地址:16位偏移地址,每段≤64KB。20位物理地址由段地址左移4位加偏移地址得到?!?CPU總是從地址CS:IP處取指令,EIP的高16位為0?!?SS:SP表示堆棧段的棧頂?shù)刂罚珽SP的高16位為0。● 對(duì)于32位80x86 CPU,程序可以使用32位寄存器和32位操作數(shù),但采用32位寄存器表示偏移地址時(shí),只使用低16位,高16位為0。27 首字單元地址:23A10H;末字單元地址:23A1EH28 這些數(shù)在內(nèi)存的存放情況如下:…010006H310005H47H10004H2BH10003H2AH10002H010001H110000H…29 (1)CF = 1 OF = 0 SF = 0 ZF = 1 (2)CF = 0 OF = 1 SF = 1 ZF = 0(3)CF = 1 OF = 1 SF = 0 ZF = 1 (4)CF = 0 OF = 0 SF = 1 ZF = 0210 (1)CF = 0 OF = 0 SF = 0 ZF = 0 (2)CF = 0 OF = 1 SF = 0 ZF = 0(3)CF = 1 OF = 0 SF = 1 ZF = 0 (4)CF = 1 OF = 1 SF = 1 ZF = 0第3章31 (1)SS (2)CS (3)DS (4)FS (5)SS (6)DS (7)DS (8)ES32 (1)正確 (2)類型不匹配(3)兩個(gè)操作數(shù)不能同時(shí)是內(nèi)存操作數(shù) (4)沒有[esp][eax*3]這種操作數(shù)形式(5)正確 (6)CS不能作為目的操作數(shù)(7)類型不確定 (8)沒有[sp]這種操作數(shù)形式(9)條件轉(zhuǎn)移指令的操作數(shù)只能是標(biāo)號(hào) (10)正確(11)不能將立即數(shù)送段寄存器 (12)沒有bx+2這種操作數(shù)形式33 (1)27feh (2)2a00h (3)2802h (4)2801h(5)27feh(段內(nèi)調(diào)用)或27fch(段間調(diào)用)(6)2802h(段內(nèi)返回)或2804h(段間返回)(7)27fch (8)2804h34 DEC不影響CF。35 不能。轉(zhuǎn)移類指令(如JMP,Jcc,LOOP,CALL及RET等)的執(zhí)行會(huì)改變IP的值。36 無(wú)符號(hào)數(shù)比較:(1)ZF = 1 (2)ZF = 0 (3)CF = 1 (4)CF = 1 或 ZF = 1 (5)CF = 0 且 ZF = 0 (6)CF = 0帶符號(hào)數(shù)比較:(1)ZF = 1 (2)ZF = 0 (3)SF OF (4)SF OF 或 ZF = 1 (5)SF = OF 且 ZF = 0 (6)SF= OF37 CALL指令執(zhí)行的操作:(1)返回地址進(jìn)棧。段間調(diào)用:CS與IP(下一條指令的地址)依次進(jìn)棧。段內(nèi)調(diào)用:IP(下一條指令的16位偏移地址)進(jìn)棧。(2)轉(zhuǎn)移到過程的第1條指令去執(zhí)行。段間調(diào)用:根據(jù)操作數(shù),將32位分段地址送CS:IP。 段內(nèi)調(diào)用:根據(jù)操作數(shù),將16位偏移地址送IP。 RET指令執(zhí)行的操作:返回地址出棧,從而實(shí)現(xiàn)轉(zhuǎn)移到返回地址處。段間返回:POP 1個(gè)雙字到CS:IP。 段內(nèi)返回:POP 1個(gè)字到IP。 38 AX的值將是返回地址的16位偏移地址。39 (1)除數(shù)為0。(2)除數(shù)太小,被除數(shù)太大,導(dǎo)致商溢出。310 (1)cbw (2)cwd (3)cdq (4)bt ax, 0311(1) mov ah, 0 add ax, bx(2) cbw add ax, bx(3) movsx eax, al add eax, ebx312 將DX:AX中的雙字?jǐn)?shù)右移4位。313 指令 AL CF OF SF ZFxor al, al 0 0 0 0 1mov al, 255 0ffh 0 0 0 1inc al 0 0 0 0 1not al 0ffh 0 0 0 1shl al, 1 0feh 1 0 1 0cmp al, 10 0feh 0 0 1 0sub al, 7fh 7fh 0 1 0 0shl al, 1 0feh 0 1 1 0314(1) jcxz donenext: mov bl, [si] mov es:[di], bl inc si inc di loop nextdone:(2) jcxz donenext: mov es:[di], eax sub di, 4 loop nextdone:(3) jcxz donenext: mov ax, [si] cmp ax, es:[di] pushf add si, 2 add di, 2 popf loope nextdone:315 將AX與DX中的4位十進(jìn)制數(shù)對(duì)應(yīng)的壓縮BCD碼相加,結(jié)果存入AX。例如,若AX = 1234H,DX = 5678H,則結(jié)果AX = 6912H。 316 (1) mov bl, al and bl, 0fh mov bh, al shr bh, 4(2) shl ax, 1 rcl bx, 1 rcl cx, 1(3) cmp al, 10 jge setcf cmp al, 10 jle setcf clc jmp exitsetcf: stcexit:(4) cmp eax, ebx jbe next xchg eax, ebxnext: cmp eax, ecx jbe done xchg eax, ecxdone:(5) mov cx, ax xor cx, bx test cx, 1 jz exit test bx, 1 jz exit xchg ax, bxexit:(6) mov dx, 0 shl ax, 1 rcl dx, 1 mov bx, ax mov cx, dx shl ax, 1 rcl dx, 1 shl ax, 1 rcl dx, 1 add ax, bx adc dx, cx(7) mov al, x cbw shl ax, 2 sub ax, 5 mov bx, ax mov al, x sar al, 1 cbw add ax, bx(8) mov ax, 0 mov cx, 100next: add ax, cx loop next第4章41 指令是程序運(yùn)行時(shí)由CPU執(zhí)行的,在匯編后由對(duì)應(yīng)的機(jī)器代碼所取代;而偽指令是不可執(zhí)行的,只是由匯編器處理的命令。指令與機(jī)器密切相關(guān),指令系統(tǒng)是由CPU本身確定的;而偽指令與機(jī)器無(wú)關(guān),只與匯編器有關(guān)。42 標(biāo)號(hào)表示指令的起始地址,可作為轉(zhuǎn)移類指令的操作數(shù),表示轉(zhuǎn)向地址;變量是用來(lái)定義數(shù)據(jù)的,可作為指令的內(nèi)存操作數(shù)。JMP L 。 直接轉(zhuǎn)移,轉(zhuǎn)移到標(biāo)號(hào)L所在地址JMP X 。 段內(nèi)間接轉(zhuǎn)移,目標(biāo)的偏移地址為X的值(字)43(1)源程序的編輯。輸出文件:。(2)源程序的匯編。輸入文件:源程序文件。輸出文件: ● 無(wú)錯(cuò):,列表文件等。● 有錯(cuò):錯(cuò)誤信息,列表文件。(3)目標(biāo)文件的連接。輸入文件:目標(biāo)文件與庫(kù)文件。輸出文件:● 無(wú)錯(cuò):,映像文件等?!?有錯(cuò):錯(cuò)誤信息。(4)可執(zhí)行文件的試運(yùn)行。(5)可執(zhí)行文件的調(diào)試。44 (1)AX的值為地址WVar + 1處的1個(gè)字。(2)AX的值為地址WVar處的字加1。45(1)正確。 (2)錯(cuò)誤。offset后只能是匯編時(shí)可求值的地址表達(dá)式。(3)正確。 (4)錯(cuò)誤。兩個(gè)操作數(shù)不能同時(shí)為內(nèi)存操作數(shù)。(5)錯(cuò)誤。不能將兩個(gè)地址相加。 (6)錯(cuò)誤。類型不匹配。(7)正確。 (8)錯(cuò)誤。JMP指令的操作數(shù)不能為字節(jié)變量。46 oprd and 0feh是一個(gè)表達(dá)式,在匯編時(shí)求值,其中的and為邏輯運(yùn)算符;第1個(gè)and是指令助記符,指令在程序運(yùn)行時(shí)執(zhí)行。47 (1)dw 3132h (2)db 32h, 31h(3)db 39。2139。 (4)dw 39。1239。48 (1)24h (2)0ch (3)0ch (4)6 (5)10h(6)3103h (7)5 (8)7 (9)049(1) mov dx, seg block mov ds, dx lea bx, block +12 mov dx, [bx](2) mov dx, seg block mov ds, dx mov dx, block + 12(3) mov dx, seg block mov ds, dx mov bx, 12 mov dx, block[bx](4) mov dx, seg block mov ds, dx lea bx, block mov si, 12 mov dx, [bx][si](5) mov dx, seg block mov ds, dx mov eax, 6 mov dx, block[eax*2]410 1e00h411 將buf1中的后10個(gè)字節(jié)傳送到buf2中。412 將String中的80個(gè)字符整體后移1個(gè)字節(jié),首字符不變。413 將兩位十進(jìn)制數(shù)對(duì)應(yīng)的壓縮BCD碼存入AL。414dseg segmentBCD db 69h 。 已知的BCD碼ASC db ?, ? 。 存放ASCII碼dseg endscseg segment assume cs:cseg, ds:dsegstart: mov ax, dseg mov ds, ax mov al, BCD mov c
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1