丰满少妇女人a毛片视频-酒色成人网-日韩欧美一-日韩精品一区二区av在线观看-成人久久免费-欧美精品一二三四区-国产午夜免费-亚洲男人第一天堂-一区二区三区福利视频-午夜激情影院-av中文天堂在线-免费一区二区-欧美日韩xxx-91区视频-亚洲另类激情专区小说图片-黄色的网站在线观看-香蕉精品在线

高分網(wǎng) > 答案大全 > 作業(yè)答案 > 課后作業(yè)答案 >

ibm-pc匯編語(yǔ)言程序設(shè)計(jì)課后習(xí)題答案(2)

時(shí)間: 炎婷2 課后作業(yè)答案

  答:(1) MOV BX, OFFSET BLOCK ADD BX, (6–1)*2 MOV DX, [BX]

  (2) MOV BX, OFFSET BLOCK 改為: MOV BX, (6-1)*2 MOV DX, [BX+(6–1)*2] 也可 MOV DX, BLOCK[BX]

  (3) MOV BX, OFFSET BLOCK MOV SI, (6–1)*2 MOV DX, [BX][SI]

  3.4 現(xiàn)有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,試說明下列各條指令執(zhí)行完后AX寄存器的內(nèi)容。

  (1) MOV AX, 1200H (2) MOV AX, BX

  (3) MOV AX, [1200H] (4) MOV AX, [BX] (5) MOV AX, 1100[BX] (6) MOV AX, [BX][SI] (7) MOV AX, 1100[BX][SI]

  答:(1) (AX)=1200H (2) (AX)=0100H (3) (AX)=4C2AH (4) (AX)=3412H (5) (AX)=4C2AH (6) (AX)=7856H (7) (AX)=65B7H

  3.5 給定(IP)=2BC0H,(CS)=0200H,位移量D=5119H,(BX)=1200H,(DS)=212AH,(224A0H)=0600H,(275B9H)=098AH,試為以下的轉(zhuǎn)移指令找出轉(zhuǎn)移的偏移地址。

  (1) 段內(nèi)直接尋址

  (2) 使用BX及寄存器間接尋址方式的段內(nèi)間接尋址

  (3) 使用BX及寄存器相對(duì)尋址方式的段內(nèi)間接尋址

  答:(1) JMP NEAR PTR 5119H ;(IP)=5119H+((IP)+03H)=7CDCH,物理地址PA=09CDCH

  (IP)+03H是JMP NEAR PTR 5119H指令的下一條指令的首地址。

  (2) JMP WORD PTR [BX] ;(IP)=((DS)*10H+(BX))=0600H,PA=02600H

  (3) JMP D[BX] ;(IP)=((DS)*10H+(BX)+D)=098AH,PA=0298AH

  3.6 設(shè)當(dāng)前數(shù)據(jù)段寄存器的內(nèi)容為1B00H,在數(shù)據(jù)段的偏移地址2000H單元內(nèi),含有一個(gè)內(nèi)容為0FF10H和8000H的指針,它們是一個(gè)16位變量的偏移地址和段地址,試寫出把該變量裝入AX的指令序列,并畫圖表示出來(lái)。

  答:MOV BX, [2000H] ;圖示如上所示。

  MOV AX, [2000H+2]

  MOV ES, AX

  MOV AX, ES:[BX]

  3.7 在0624H單元內(nèi)有一條二字節(jié)JMP SHORT OBJ指令,如其中位移量為(1) 27H,(2) 6BH,(3) 0C6H,試問轉(zhuǎn)向地址OBJ的值是多少?

  答:(1) OBJ=0624H+02H+27H=064DH

  (2) OBJ=0624H+02H+6BH=0691H

  (3) OBJ=0624H+02H+0C6H=05ECH ;C6H對(duì)應(yīng)的負(fù)數(shù)為-3AH(向上轉(zhuǎn)移,負(fù)位移量)

  3.8 假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,數(shù)據(jù)段中變量名VAL的偏移地址為0050H,試指出下列源操作數(shù)字段的尋址方式是什么?其物理地址值是多少?

  (1) MOV AX, 0ABH (2) MOV AX, BX (3) MOV AX, [100H] (4) MOV AX, VAL (5) MOV AX, [BX]

  (6) MOV AX, ES:[BX] (7) MOV AX, [BP] (8) MOV AX, [SI]

  (9) MOV AX, [BX+10] (10) MOV AX, VAL[BX]

  (11) MOV AX, [BX][SI] (12) MOV AX, VAL[BX][SI]

  答:(1) 立即方式; 操作數(shù)在本條指令中 (2) 寄存器尋址方式; 操作數(shù)為 (BX)=0100H

  (3) 直接尋址方式; PA=20100H (4) 直接尋址方式; PA=20050H

  (5) BX寄存器間接尋址方式; PA=20100H

  (6) 附加段BX寄存器間接尋址方式; PA=21100H (7) BP寄存器間接尋址方式; PA=15010H

  (8) SI寄存器間接尋址方式; PA=200A0H (9) BX寄存器相對(duì)尋址方式; PA=20110H (10) BX寄存器相對(duì)尋址方式; PA=20150H

  (11) BX和SI寄存器基址變址尋址方式; PA=201A0H (12) BX和SI寄存器相對(duì)基址變址尋址方式; PA=201F0H

  3.9 在ARRAY數(shù)組中依次存儲(chǔ)了七個(gè)字?jǐn)?shù)據(jù),緊接著是名為ZERO的字單元,表示如下:

  ARRAY DW 23, 36, 2, 100, 32000, 54, 0

  ZERO DW ?

  (1) 如果BX包含數(shù)組ARRAY的初始地址,請(qǐng)編寫指令將數(shù)據(jù)0傳送給ZERO單元。

  (2) 如果BX包含數(shù)據(jù)0在數(shù)組中的位移量,請(qǐng)編寫指令將數(shù)據(jù)0傳送給ZERO單元。

  答:(1) MOV AX, [BX+(7-1)*2] MOV [BX+(7)*2], AX (2) MOV AX, ARRAY [BX] MOV ARRAY [BX+2], AX

  3.10 如TABLE為數(shù)據(jù)段中0032單元的符號(hào)名,其中存放的內(nèi)容為1234H,試問以下兩條指令有什么區(qū)別?指令執(zhí)行完后AX寄存器的內(nèi)容是什么?

  MOV AX,

  TABLE LEA

  AX, TABLE

  答:MOV AX, TABLE是將TABLE單元的內(nèi)容送到AX,(AX)=1234H LEA AX,TABLE是將TABLE單元的有效地址送到AX,(AX)=0032H

  3.11 執(zhí)行下列指令后AX寄存器中的內(nèi)容是什么?

  TABLE DW 10, 20, 30, 40, 50 ;000AH, 0014H, 001EH, 0028H, 0032H ENTRY DW 3 ┇

  MOV BX, OFFSET TABLE ADD BX, ENTRY MOV AX, [BX]

  答:(AX)=1E00H (TABLE的存儲(chǔ)方式如右圖所示)

  3.12 下列ASCII碼串(包括空格符)依次存儲(chǔ)在起始地址為CSTRING的字節(jié)單元中:

  CSTRING DB ‘BASED ADDRESSING’

  請(qǐng)編寫指令將字符串中的第1個(gè)和第7個(gè)字符傳送給DX寄存器。

  答:MOV DH, CSTRING MOV DL, CSTRING+7-1

  3.13 已知堆棧段寄存器SS的內(nèi)容是0FFA0H,堆棧指針寄存器SP的內(nèi)容是00B0H,先執(zhí)行兩條把8057H和0F79H分別進(jìn)棧的PUSH指令,再執(zhí)行一條POP指令。試畫出堆棧區(qū)和SP的內(nèi)容變化過程示意圖(標(biāo)出存儲(chǔ)單元的物理地址)。

  答:堆棧區(qū)和SP的內(nèi)容變化過程示意圖如下左圖所示。

  3.14 設(shè)(DS)=1B00H,(ES)=2B00H,有關(guān)存儲(chǔ)單元的內(nèi)容如上右圖所示。請(qǐng)寫出兩條指令把字變量X裝入AX寄存器。

  答:MOV BX, [2000H] MOV AX, ES:[BX]

  3.15 求出以下各十六進(jìn)制數(shù)與十六進(jìn)制數(shù)62A0H之和,并根據(jù)結(jié)果設(shè)置標(biāo)志位SF、ZF、CF和OF的值。

  (1) 1234H (2) 4321H (3) CFA0H (4) 9D60H 答:(1) 和為74D4H;SF=0,ZF=0,CF=0,OF=0

  (2) 和為A5C1H;SF=1,ZF=0,CF=0,OF=1 (3) 和為3240H;SF=0,ZF=0,CF=1,OF=0

  (4) 和為0000H;SF=0,ZF=1,CF=1,OF=0

  3.16 求出以下各十六進(jìn)制數(shù)與十六進(jìn)制數(shù)4AE0H的差值,并根據(jù)結(jié)果設(shè)置標(biāo)志位SF、ZF、CF和OF的值。

  (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,ZF=0,CF=0,OF=0

  3.17 寫出執(zhí)行以下計(jì)算的指令序列,其中X、Y、Z、R、W均為存放16位帶符號(hào)數(shù)單元的地址。

  (1) Z←W+(Z-X)

  (2) Z←W-(X+6)-(R+9)

  (3) Z←(W*X)/(Y+6),R←余數(shù) (4) Z←((W-X)/5*Y)*2

  答:(1) MOV AX, Z ;

  以下程序都未考慮帶符號(hào)數(shù)的溢出

  SUB AX, X ADD AX, W MOV Z, AX

  (2) MOV BX, X ADD BX, 6 MOV CX, R ADD CR, 9 MOV AX, W SUB AX, BX SUB AX, CX MOV Z, AX

  (3) ADD Y, 6 MOV AX, W IMUL X IDIV Y MOV Z, AX MOV R, DX

  (4) MOV AX, W SUB AX, X CWD

  MOV BX, 5 IDIV BX IMUL Y

  SHL AX, 1 ;((DX),(AX))*2 RCL DX, 1

  3.18 已知程序段如下:

  MOV AX, 1234H ;(AX)=1234H,標(biāo)志位不變 MOV CL, 4 ;(AX)和標(biāo)志位都不變

  ROL AX, CL ;(AX)=2341H,CF=1,SF和ZF不變 DEC AX ;(AX)=2340H,CF=1不變,SF=0,ZF=0 MOV CX, 4 ;(AX)和標(biāo)志位都不變

  MUL CX ;(AX)=8D00H,CF=OF=0,其它標(biāo)志無(wú)定義 INT 20H 試問:

  (1) 每條指令執(zhí)行完后,AX寄存器的內(nèi)容是什么?

  (2) 每條指令執(zhí)行完后,進(jìn)位、符號(hào)和零標(biāo)志的值是什么? (3) 程序結(jié)束時(shí),AX和DX的內(nèi)容是什么?

  答:(1) 見注釋; (2) 見注釋;

  (3) (AX)=8D00H,(DX)=0

  3.19 下列程序段中的每條指令執(zhí)行完后,AX寄存器及CF、SF、ZF和OF的內(nèi)容是什么?

  MOV AX, 0 ;(AX)=0, 標(biāo)志位不變

  DEC AX ;(AX)=0FFFFH, CF不變,SF=1,ZF=0,OF=0 ADD AX, 7FFFH ;(AX)=7FFEH, CF=1,SF=0,ZF=0,OF=0 ADD AX, 2 ;(AX)=8000H, CF=0,SF=1,ZF=0,OF=1 NOT AX ;(AX)=7FFFH, 標(biāo)志位不變

  SUB AX, 0FFFFH ;(AX)=8000H, CF=1,SF=1,ZF=0,OF=1 ADD AX, 8000H ;(AX)=0, CF=1,SF=0,ZF=1,OF=1 SUB AX, 1 ;(AX)=0FFFFH, CF=1,SF=1,ZF=0,OF=0 AND AX, 58D1H ;(AX)=58D1H, CF=0,SF=0,ZF=0,OF=0 SAL AX, 1 ;(AX)=0B1A2H, CF=0,SF=1,ZF=0,OF=1 SAR AX, 1 ;(AX)=0D8D1H, CF=0,SF=1,ZF=0,OF=0 NEG AX ;(AX)= 272FH, CF=1,SF=0,ZF=0,OF=0

  ROR AX, 1 ;(AX)= 9397H, CF=1,SF和ZF不變,OF=1

  答:見注釋。

  3.20 變量DATAX和變量DATAY的定義如下:

  DATAX DW 0148H DW 2316H

  DATAY DW 0237H DW 4052H

  請(qǐng)按下列要求寫出指令序列:

  (1) DATAX和DATAY兩個(gè)字?jǐn)?shù)據(jù)相加,和存放在DATAY中。

  (2) DATAX和DATAY兩個(gè)雙字?jǐn)?shù)據(jù)相加,和存放在從DATAY開始的雙字單元中。

  (3) 解釋下列指令的作用: STC

  MOV BX, DATAX ADC BX, DATAY

  (4) DATAX和DATAY兩個(gè)字?jǐn)?shù)據(jù)相乘(用MUL)。

  (5) DATAX和DATAY兩個(gè)雙字?jǐn)?shù)據(jù)相乘(用MUL)。

  (6) DATAX除以23(用DIV)。

47745 太仆寺旗| 平陆县| 上蔡县| 忻城县| 永济市| 安庆市| 土默特左旗| 张掖市| 清苑县| 聊城市| 延津县| 新田县| 黄骅市| 丹东市| 和静县| 甘孜| 太仓市| 凭祥市| 漳州市| 攀枝花市| 饶阳县| 定兴县| 内丘县| 壶关县| 卓尼县| 双牌县| 洪江市| 台安县| 内丘县| 乌恰县| 榕江县| 华亭县| 丹寨县| 西峡县| 桐城市| 保定市| 陕西省| 邵武市| 吉林市| 五峰| 合川市|