计算机硬件技术基础_万晓冬_习题 下载本文

内容发布更新时间 : 2024/5/18 11:04:30星期一 下面是文章的全部内容请认真阅读。

两个字节单元。

(4)NUMl字单元的字数据除以NUM2字单元的字,商和余数依次放人RES开始的两

个字单元。

3—20 使用移位指令来做乘以2和除以2是很方便的。试把+53与一49分别乘以2,它们

各应用什么指令,得到的结果各是什么?若除以2呢?

3—21 令BX=00E3H,变量VALUE的内容为?9H,下列指令单独执行后BX寄存器的

内容为多少?

(1)XORBX,VALUE (2)ANDBX,VALUE (3)RORBX,1 (4)ORBX,10F4H (5)NOTBX

3—22 若CPU中各寄存器及RAM参数如题图3—2所示,试求独立执行如下指令后,CPU中寄存器及RAM相应内存

单元的内容为多

少?

RAM 20506H 20507H 20508H 20509H 2050AH 2050BH 2050CH

(1)MOVDX,[BX]2;DX=BX= CPU CPU CS 3000H FFFEH CX DS 2050H 0004H BX SS 50A0H 2000H SP ES 0FFFH 17C6H DX IP 0000H 8094H AX DI 000AH 1403H BP SI 0008H 1 CF 执行前 06H 00H 87H 15H 37H C5H 2FH 执行后 题图 3—2

(2)PUSH

CX;SP=[SP]

(3)MOVCX,

BX;CX=BX=

(4)TESTAX,0l;AX=CF

(5)MOVAL,

[S1];AL=

(6)ADCAL,[DI];AL=CF=DAA;AL=

(7)INCSI;SI= (8)DECDI;DI= (9)MOV[D1),AL;[DI]= (10)XCHG AX,DX;AX=DX= (11)XORAH,BL;AH=BL= (12)JMPDX;IP=

3—23 分别指出以下两个程序段的功能。

(1)MOVCX,10 (2) CLD

LEASI,FIRST LEA DI,[0404H] IEA DI,SECOND MOV CX,0080H REP MOVSB XOR AX,AX REP STOSW

3—24 试编制完成AX*5/2的程序段。

3—25 若AL=FFH,BL:03H,指出下列各指令执行后标志OF,SF,PF,CF的状态.

(1)ADDBL,AL (2)INCBL (3)SUBBL,AL (4)NEGBL (5)CMPBL,AL (6)MULBL (7)ANDBL,AI (8)IMULBL (9)ORBL,AL (10)SHLBL,1 (11)XOR BL,BL (12)SARAL,1 (13)SHR AL,1

3—26 已知一个关于0~9的数字的ASCⅡ码表首址是当前数据段的0A80H,现要找出数字5的ASCII码,试写出

用指令XLAT进行翻译的指令序列。

3—27 设DS=2000H,BX=1256H,SI=528FH,位移量TABLE=20A1H,[232F7H]=3280H,[264E5H]=2450H,

执行下述指令:

(1)JMPBX ;IP=? (2)JMP TABLE[BX] ;IP=? (3)JMP[BX][SI] ;IP=?

3—28 设IP=3D8FH,CS=4050H,SP=0F17CH,当执行CALL 2000:009AH后,试指出IP、CS、SP、[SP]、

[SP+1]、[SP+2]和[SP+3]的内容。

3—29 试编写程序段,根据AL中的内容决定程序的走向:若位0是1,其他位为0,转向LABl;若位1是1,其他

位为0,则转向LAB2;若位2为1,其他位为0,则转向LAB3;若位0至位2都是0,则顺序执行。假定所有

的转移都是短转移。

3—30 试比较无条件转移指令、条件转移指令、调用指令和中断指令有什么异同。 3—31 设X、Y变量中均为16位操作数,先判断X是否大于50,如大于则转移到N—HIGH,否则做X—Y。相减后

如溢出则转移到OVERFLOW去执行,否则求(X—Y)的绝对值,并把结果存人RESULT中。

3—32 写出以下计算的指令序列,其中X、Y、Z、R、W均为存放16位无符号数单元的地址(不考虑进位与借位

):

(1)Z←W—(Z十X) (2)Z←W十(X+6)—(R十9) (3)Z(商) ←(WXX)/(Y+6),R←余数

4—1 写出在BLOCK开始的连续八个单元中依次存放数据20H、30H、40H、50H、60H、70H、80H、90H的数据定

义语句(分别用DB、DW、DD伪指令)。 4—2 以图示说明下列语句实现内存分配和预置数据: VARl DB 12,-12H,3 DUP(0,FFH) VAR2 DB 100 DUP(0,2 DUP(1,2),0,3) VAR3 DB‘WELCOME TO’ VAR4 DW VAR3+6 VAR5 DD VAR3

4—3 写出具有下列功能的伪指令语句(序列):

(1)将字数据2786H、23H、1A24H存放在定义为字节变量DATAl的存储区中。

(2)将字节数据30H、oB4H、62H、10H存放在定义为字变量DATA2的存储单元中(要求不改变字节数据存

放次序)。

(3)在DATA3为起始地址的存储单元中连续存放以下字节数据:4个20H,20,0,6个(1,2)

4—4 对于下列数据定义,在括号内写出各指令语句独立执行后的结果: NUM—BDB 2 DUP(?) NUM—W DW 10 DUP(42H) ARRAY—B DB‘DISP—IMAGE’

(1)MOV BX,TYPE NUM—W ;BX=() (2)MOV AL,LENGTH NUM ;AL=() (3)MOV CX,SIZE ARRAY—B ;CX=() (4)MOV DL,LENGTH NUM—W ;DL=()