bl的h短文
發(fā)布時(shí)間:2017-02-03 來(lái)源: 短文摘抄 點(diǎn)擊:
bl的h短文篇一:第3章作業(yè)及答案
1. 判斷下列指令書寫是否正確,如有錯(cuò)誤,指出錯(cuò)在何處并用正確的程序段(一條或多條指令)實(shí)現(xiàn)原錯(cuò)誤指令((8)、(13)除外)期望實(shí)現(xiàn)的操作。
(1)MOV AL,BX (9)MOV ES,3278H
(2)MOV AL,SL (10)PUSH AL
(3)INC [BX](11)POP [BX]
(4)MOV 5,AL (12)MOV [1A8H],23DH
(5)MOV [BX],[SI](13)PUSH IP
(6)MOV BL,F(xiàn)5H(14)MOV [AX],23DH
(7)MOV DX,2000H (15)SHL AX,5
(8)POP CS (16)MUL AX,BX
答:(7)、(11)、(12)正確,其他指令有錯(cuò)誤
(1)兩操作數(shù)類型不匹配,可改為MOV AL,BL或MOV AX,BX
(2)SL寄存器書寫錯(cuò)誤,原意應(yīng)為SI,另外兩操作數(shù)類型不匹配,可改為MOV AX,SI
(3)操作數(shù)是字還是字節(jié)不明確,可改為INC WORD PTR [BX]或INC BYTE PTR [BX]
(4)立即數(shù)不能為目的操作數(shù)
(5)兩操作數(shù)不能同時(shí)為存儲(chǔ)器尋址,可改為
MOV AX,[SI]
MOV [BX],AX
(6)F5H前應(yīng)加0,以區(qū)別符號(hào)變量F5H
(8)CS不能為操作數(shù)
(9)立即數(shù)不能直接送給段寄存器,可改為
MOV AX,3278H
MOV ES,AX
(10)立即數(shù)應(yīng)為字類型,可改為PUSH AX
(13)IP不能為操作數(shù)
(14)AX不能用于寄存器間接尋址,可改為
MOV BX,AX
MOV [BX],23DH
(15)大于1的移動(dòng)次數(shù)不能直接出現(xiàn)在指令中,只能用CL,可改為
MOV CL,5
SHL AX,CL
(16)在MUL指令中AX為隱含操作數(shù),可改為MUL BX
2、MOV AX,BX
NOT AX
ADD AX,BX ;AX=INC AX
HCF=______
3、MOV BL, 02H
MOV AL, 07H
MUL BL; AX=_AAM
___H
4、設(shè)寄存器AL,BL,CL中內(nèi)容均為1CH,執(zhí)行上述指令序列后,
XOR AL,0FH
AND BL,0FH
OR CL,0FH
,,H。
5、 SALAL, 1
MOV BL, AL
MOV CL, 2
SALAL,CL
ADD AL, BL
回答:程序?qū)崿F(xiàn)的完整功能是 將AL左移1位(2*AL)后和再左移2位(4*2*AL)相加,結(jié)果實(shí)現(xiàn)10*AL。
6、 LEA SI,BUFFER
LEA DI,ARRAY
MOV CX,100
XOR BL,BL
LP: CMP [SI],01H
JNZ LP1
INC BL
LP1:INC SI
LOOP LP
MOV [DI],BL
回答:程序?qū)崿F(xiàn)的完整功能是 從BUFFER開(kāi)始的連續(xù)100個(gè)字節(jié)單元內(nèi)容為1的個(gè)數(shù)保存到ARRAY開(kāi)始的存儲(chǔ)單元中
MOV AX,2000H
MOV DS,AX
MOV SS,AX
MOV BX,2050H
MOV SI,BX
MOV DI,3050H
MOV SI,DI
MOV SP,5FFFH
MOV CL,25
MOV BL,CL
MOV AH,0F0H
MOV CH,AH
MOV BYTE PTR[DI],64
MOV WORD PTR[SI],256
MOV DL,[SI+1]
MOV DH,1[SI]
MOV WORD PTR[BX][SI],34H
MOV [BX+SI+4],BX
MOV BP,2[BX+DI]
MOV [BP][DI],BX
MOV AX,[BP][DI]
MOV BL,AL
MOV ES,BX
PUSH BX
PUSH DI
POP CX POP DX
XCHG AX,BP XCHG DH,BL SAHF CMC LAHF STD CLI PUSHF CLD POPF NOP
bl的h短文篇二:第4章作業(yè)
第4章 指令系統(tǒng)
教材習(xí)題解答
1. 若DS=3000H,BP=2000H,SI=1000H,[32000H]=00H,[32001H]=40H,SS=3000H,[31000H]=20H,[31001H]=60H,[33000H]=50H,[33001H]=60H,說(shuō)明下列各條指令執(zhí)行后,AX中的內(nèi)容是什么?并說(shuō)明各條指令中源操作數(shù)的尋址方式。
(1) MOV AX,DS (3) MOV AX,[SI]
【解】
(1) AX=3000H 寄存器尋址 (2) AX=4000H 直接尋址 (3) AX=6020H 寄存器間接尋址 (4) AX=4000H 寄存器間接尋址 (5) AX=6020H 基址加變址尋址 2. 指出下列指令中的非法指令。
(1) MOV BX,AL (3) PUSH 4567H
(5) ADD AL,148H (7) MOV BH,SI
【解】非法指令: (1) MOV BX,AL (3) PUSH 4567H (5) ADD AL,148H (7) MOV BH,SI (8) SUB 38H,AL (1) PUSH
BX和AL的長(zhǎng)度不一致 CS段寄存器不能作目的操作數(shù) 兩個(gè)存儲(chǔ)單元之間不能直接交換數(shù)據(jù) 運(yùn)算溢出
立即數(shù)不能直接傳送給DS段寄存器 BH和SI的長(zhǎng)度不一致 目的操作數(shù)不能是立即數(shù)
(2) MOV CS,2000H (4) XCHG VAR1,VAR2 (6) MOV DS,2000H
(2) MOV CS,2000H (4) XCHG VAR1,VAR2 (6) MOV DS,2000H (8) SUB 38H,AL
(2) MOV AX,[2000H] (4) MOV AX,[BP]
(5) MOV AX,[BP+SI]
只能將寄存器或存儲(chǔ)單元的內(nèi)容壓入堆棧,不能是立即數(shù)
3. 若SP=2000H,AX=3355H,BX=4466H,試指出下列指令或程序段執(zhí)行后有關(guān)寄存器的內(nèi)容。
AX
執(zhí)行后AX=?,SP=?
PUSH BX POPDX POPCX
(2) PUSH AX
執(zhí)行后AX=?,CX=?,DX=?,SP=?
(2) 執(zhí)行后AX=3355H,CX=3355H,DX=4466H,SP=2000H
【解】(1) 執(zhí)行后AX=3355H,SP=1FFEH
4. 請(qǐng)按下面的要求寫出相應(yīng)的匯編指令或指令序列。
(1) 將1234H送入DS中。
(2) 將5678H與AX中的數(shù)相加,結(jié)果放在AX中。 (3) 將DATAX和DATAY相加,其和放在DATAY中。 (4) 將AX中的高4位變?yōu)槿?。
(5) 將BX中的低2位變?yōu)槿?。 (6) 將CX中的D3~D7位取反。
【解】
(1) MOV AX,1234H
MOV DS,AX
(2) ADD AX,5678H (3) MOV AX,DATAX
ADD AX,DATAY MOV DATAY,AX
(4) AND AX,0FFFH (5) OR AX,0003H (6) XOR CX,00F8H
5. 若AL=0FFH,BL=03H,指出下列指令執(zhí)行后標(biāo)志AF、OF、ZF、SF、PF、CF的狀態(tài)。
(1) ADD BL,AL (3) SUB BL,AL (5) AND BL,AL (7) CMP BL,AL (9) OR BL,AL
【解】執(zhí)行后:
(1) ADD (2) INC (3) SUB (4) NEG (5) AND (6) MUL (7) CMP
BL,AL BL BL,AL BL BL,AL BL BL,AL
AF 1 0 1 1 任意值 任意值 1 任意值 任意值 任意值
OF 0 0 0 0 0 1 0 1 0 0
ZF 0 0 0 0 0 任意值 0 任意值 0 0
SF 0 0 0 1 0 任意值 0 任意值 1 1
PF 0 0 0 0 1 任意值 0 任意值 1 1
CF 1 不影響 1 1 0 1 1 1 0 0
(2) INC BL (4) NEG BL (6) MUL BL (8) IMUL BL (10)XOR BL,BL
(8) IMUL BL (9) OR BL,AL (10) XOR BL,BL
6. 已知存儲(chǔ)器中有兩個(gè)壓縮BCD碼6543和4672存放在從BUF開(kāi)始的連續(xù)4個(gè)單元中(高字節(jié)放在高地址單元),試編制兩數(shù)相減的程序,結(jié)果存放在后面的兩個(gè)單元中。 【解】程序段如下:
LEA BX,BUF MOV AX,[BX] MOV CX,[BX+2] SUBAL,CL MOV DL,AL DAS
MOV AL,AH SBBAL,CH DAS
MOV AH,AL MOV AL,DL MOV [BX+4],AX
7. 假設(shè)DX=36A5H,CL=3,CF=1,確定下列各條指令執(zhí)行后DX和CF的值。
(1) SHR DX,1 (2) SAR DX,CL
【解】
(3) SHL DX,CL (5) ROR DX,CL (9) RCL DX,CL
(4) SHL DL,1 (6) ROL DL,CL
(10)RCRDX,CL
(7) SAL DH,1 (8) SAR DH,CL
(1) 指令執(zhí)行后DX:1B52H,CF:1 (2) 指令執(zhí)行后DX:06D4H,CF:1 (3) 指令執(zhí)行后DX:6D4AH,CF:0 (4) 指令執(zhí)行后DX:364AH,CF:1 (5) 指令執(zhí)行后DX:0C6D4H,CF:1 (6) 指令執(zhí)行后DX:362DH,CF:1 (7) 指令執(zhí)行后DX:6CA5H,CF:0 (8) 指令執(zhí)行后DX:06A5H,CF:1 (9) 指令執(zhí)行后DX:0B529H,CF:1 (10) 指令執(zhí)行后DX:0A6D4H,CF:1
8. 編寫程序段將寄存器AL中的8位二進(jìn)制數(shù)的內(nèi)容顛倒過(guò)來(lái),即將原來(lái)的最高位變?yōu)樽畹臀,次高位變(yōu)榇蔚臀,以此類推,若原AL的內(nèi)容為01110001B,則顛倒之后變?yōu)?0001110B。 【解】程序段如下:
XOR AH,AH MOV CX,8
LP1:SHR AL,1
RCL AH,1 LOOP LP1 MOV AL,AH
;存回AL
;AH清零 ;重復(fù)8次
;邏輯右移,將最最低位移入CF
;帶進(jìn)位的循環(huán)左移,將CF移入AH的最低位
9. 執(zhí)行下列程序段,指出各相關(guān)寄存器的內(nèi)容。
MOV DEC SUB AND MOV SAL ADD
AX,0A0BHAXAX,0FFHAX,00FFHCL,3AL,CLAL,25H
XCHG AL,AH PUSH AX POP INC
BXBL
【解(轉(zhuǎn) 載于:www.zuancaijixie.com 蒲公 英文摘:bl的h短文)】各相關(guān)寄存器的內(nèi)容:
MOV DEC SUB AND MOV SAL ADD
AX,0A0BH AX
;AX:0A0BH ;AX:0A0AH ;AX:090BH ;AX:000BH ;CL:03H ;AX:0058H ;AX:007DH
;AX:7D00H
AX,0FFH
AX,00FFH CL,3 AL,CLAL,25H
XCHG AL,AH PUSH AX
;AX:7D00H
POP INC
BXBL
;BX:7D00H ;BX:7D01H
10. 用串操作指令將100H個(gè)字符從2100H處搬到1000H處,并且從中檢索與AL中所存字符相同的存儲(chǔ)單元,并將該單元的內(nèi)容替換成空格,本程序只替換檢索到的第一個(gè)相同的單元。請(qǐng)?jiān)谙铝锌崭裰刑钊牒线m的指令,使程序段完成上述功能。
┇
MOV SI,2100H MOV CX,100H CLD
MOV DI,1000H MOV CX,100H JNZ K1 MOV [DI],20H
K1:┇
【解】
(1) MOV DI,1000H (2) REP MOVSB (3) REPNE SCASB (4) DEC DI
11. 試分析下列程序段,如果AX和BX的內(nèi)容分別為下列5種情況,問(wèn)程序分別轉(zhuǎn)向何處?
(1) AX=147FH,BX=80DCH (2) AX=0B586H,BX=54B5H (3) AX=42C0H,BX=608AH (4) AX=0D023H,BX=9FD7H (5) AX=94B7H,BX=0B568H
ADD AX,BX JNO L1 JNC L2 SUB AX,BX JNC L3 JNO L4 JMP L5
【解】
(1) L1;不溢出,轉(zhuǎn)移到L1 (2) L1;不溢出,轉(zhuǎn)移到L1
(3) L2;溢出,不轉(zhuǎn)移到L1,進(jìn)位為0,轉(zhuǎn)移到L2
(4) L3;溢出,不轉(zhuǎn)移到L1,進(jìn)位為1,不轉(zhuǎn)移到L2,借位為0,轉(zhuǎn)移到L3
(5) L4;溢出,不轉(zhuǎn)移到L1,進(jìn)位為1,不轉(zhuǎn)移到L2,借位為1,不轉(zhuǎn)移到L3,不溢出,轉(zhuǎn)移到L4
12. 編程求出AX中存放的16位二進(jìn)制數(shù)中‘1’的個(gè)數(shù),將其存入CL中(若AX=1001010011001011B則將8存入CL)。 【解】程序段如下:
MOV CX,16 XOR BX,BX
L1: SHL AX,1
RCL BL,1
;最低位移入CF ;CF移入最低位
ADD BH,BL XOR BL,BL LOOP L1 MOV CL,BH
13. 已知BUF單元有一個(gè)單字節(jié)無(wú)符號(hào)數(shù)X,按要求編寫一程序段計(jì)算Y(仍為單字節(jié)數(shù)),并將其存于累加器。
3X,X<20 X-20,X≥20
【解】程序段如下:
XOR AX,AX MOV AL,BUF CMP AL,20 JNB L1 MOV BL,3 MUL BL JMP END
L1: SUB AX,20 END: HLT
bl的h短文篇三:第1-8章部分課后習(xí)題答案
第一章 基礎(chǔ)知識(shí)
1.1 填空題
(1) 匯編程序 , 匯編 (2) 匯編 ,連接
(3) 位 , 字節(jié) ,_字_ (4) 組合型 , 非組合型
(5)_0~255或00000000B~11111111B_;_+127~ -128或01111111B~10000000B 1.2 選擇題 DCDCC 1.3~1.5 略。
1.6 (1)4109=1 0000 0000 1101B = 100DH(2)123 =0111 1011B=7BH
(3)0.176 =0.0010 1101B=0.2DH(4)17.625=10001.101B=11.AH 1.7 (1)101011=2BH=43D (2)11010011=0D3H=211
(3)1011.0101=0B.5H=11.3125
(4)11011.00111=1B.38H=27.21875D 1.8 (1)2DH =101101B=45
(2)15.12H=10101.0001 0010B=21.0703125 (3)1C5H =1 1100 0101B=453
(4)21F.06H=10 0001 1111.0000 0110B=543.0234375
1.10 (1)帶符號(hào)數(shù) = 不帶符號(hào)數(shù) = 28432
(2)帶符號(hào)數(shù) = -32768,不帶符號(hào)數(shù) = 32768(3)帶符號(hào)數(shù) = -15659,不帶符號(hào)數(shù)=49877(4)帶符號(hào)數(shù)=-1,不帶符號(hào)數(shù)=65535 1.11 (1)64H,100(2)8BH,-11(3)08H,8(4)0DAH,-90
1.12 (1)35=[0011 0101]組合型BCD= [0000 0011 0000 0101]非組合型BCD(2)74=[0111 0100]組合型BCD= [0000 0111 0000 0100]非組合型BCD(3)98= [1001 1000]組合型BCD= [0000 1001 0000 1000]非組合型BCD(4)14=[0001 0100]組合型BCD= [0000 0001 0000 0100]非組合型BCD 1.13 (1)10101001 + 01100100 = 0000 1101B(溢出) 10101001 - 01100100 = 0100 0101B 10101001 ∧ 01100100= 0010 0000B
10101001 ∨ 01100100 =1110 1101B
10101001 ∨(異或) 01100100 =11001101 B (2)01110011 + 10110011 = 0010 0110B(溢出) 01110011-10110011= 1100 0000B(溢出) 01110011∧10110011=0011 0011B 01110011∨10110011=1111 0011B
01110011∨(異或)10110011=1100 0000B 1.14 53;35;5
第二章 80x86計(jì)算機(jī)組織結(jié)構(gòu)
2.1填空題
(1)_CPU_、_存儲(chǔ)器_、_I/O設(shè)備 (2)_運(yùn)算器_、_控制器_、_寄存器_ (3)_數(shù)據(jù)_、_地址_、_控制_ (4)_先進(jìn)后出_
(5)_物理地址_、_邏輯地址_ (6)_20_、_1M字節(jié)_ (7)_實(shí)_、_保護(hù)_、_實(shí)_ (8)_13240H_、_3140H_ 2.2選擇題 DCBC BADB 2.3~2.9 略。
2.10 01H,0201H,0403 0201H 2.11 11FDBH,CF=1,ZF=0,SF=0 2.12 略。 2.13
30000H
30001H30002H30003H30004H30005H
2.14 (10002H)=50H,(10000H)=7090H,(10001H)=1030 5070H 2.15 物理地址=30400H;
同一物理地址還有其他邏輯地址: 2F3F:1010H 2F40:1000H 2F41:0FF0H ……
2.16
SP→72H 1000:00FCH 61H 1000:00FDH 80H 1000:00FEH
50H 1000:00FFHSP→1000:0100H 1000:0100H
(1) 壓入堆棧前 (2) 將數(shù)據(jù)5080H、6172H壓入堆棧后
SP→80H1000:00FEH 50H 1000:00FFH 1000:0100H (3) 將棧頂單元的內(nèi)容彈出堆棧后
2.17~2.18 略。
第三章 80x86指令系統(tǒng)和尋址方式
注意:編寫程序題答案僅供參考,答案可能不唯一。
3.1填空題
(1) _操作碼_、_操作數(shù)_
(2) _SI_、_DI_、_BX_、_DS_;_BP_、_SS_
(3) _BX_、_BP_,_SI_、_DI_,_BX_、_數(shù)據(jù)段_;_BP_、_堆棧_ (4) _1_、_0_
(5) _AX_、_AL_、_AH_ 3.2選擇題 DBBDD DCDAC 3.3
(1) 立即數(shù)尋址 (2) 基址變址尋址 (3) 寄存器尋址 (4) 寄存器相對(duì)尋址 (5) 直接尋址(6) 比例變址尋址 (7) 寄存器尋址 (8) 寄存器間接尋址 (9) 立即尋址 (10) 比例變址尋址 (11) 直接尋址
(12) 相對(duì)基址變址尋址 (13) 寄存器相對(duì)尋址 (14) 比例變址尋址 3.4
(1) AX=2000H (2) AX=2100H (3) AX=7050H (4) AX=3010H (5) AX=5030H(6) AX=7050H (7) AX=6040H (8) AX=4020H (9) AX=0070H
(10) EAX=70503010H 3.5
(1) × 不能為DS賦值
(2) × 立即數(shù)不能為目的操作數(shù) (3) × 類型不匹配 (4) √
(5) × 不匹配 (6) × 類型不匹配
(7) × 超出數(shù)的表示范圍 (8) × 不能為CS賦值 (9) × 只能是字或雙字
(10) × 操作數(shù)不能同時(shí)是內(nèi)存操作數(shù) 3.6
(1) IP=4000H
(2) IP= 2211H,CS=當(dāng)前段基址 (3) IP=3322 H,CS=當(dāng)前段基址 (4) IP=5544H,CS=當(dāng)前段基址 (5) IP= 2211H,CS=4433H(6) IP= 3322 H,CS=5544H
3.7 答:AX相同,第一條指令是立即尋址;第二條指令是存儲(chǔ)器直接尋址 3.8 AX=3344H,
3.9
MOV DX, WORD PTR DATA1+2
MOV AX, WORD PTR DATA1 ADD AX, WORD PTR DATA2 ADC DX, WORD PTR DATA2+2 MOV WORD PTR DATA3, AX MOV WORD PTR DATA3+2, DX 3.10
(1) MOV AL,YSUB AL,ZADD AL,XMOV W,AL (2) MOV AX, Y
ADD AX, 10 SUB X, AX MOV BX, Z ADD BX, 100 SUB X, BX MOV AX, X MOV W, AX
(3) MOV AX,X
MUL Y SUB AX,10 SBB DX,0 DIV Z
MOV W1,AX MOV W2,DX
(4) MOV AX,X
SUB AX,Y CWD
MOV BX,100 IDIV BX ADD AX,200 IMUL Z
MOV WORD PTR W, AX MOV WORD PTR W+2, DX
3.11
(1) MOV AL, 0FFH
AND AL, 0FCH
(2) MOV AL,00H
OR AL,18H
(3) MOV BL, 0FFH
XOR BL, 30H (4) MOV CH, AL
MOV CL, BL
(5) MOV AX,X1
相關(guān)熱詞搜索:短文 bl bl高h(yuǎn)短文 公交地鐵h小短文bl
熱點(diǎn)文章閱讀