汇编语言程序设计习题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章基础知识

习题

1.十六进制数88H,可表示成下面几种形式,请找出错误的表示()。

①无符号十进制数136 ②带符号十进制数-120

③压缩型BCD码十进制数88 ④8位二进制数-8的补码表示

2.十进制数转换为二进制数、八进制数、十六进制数

①123 ②87 ③12.25 ④177 ⑤215.125 ⑥113

3.十进制数转换为BCD码

①111 ②131 ③23.44 ④123 ⑤345 ⑥127.36

4.完成下列十六进制数的减法

①FFFF- AAAA= ②12DF – 02DA =

5.写出下列二进制数的补码表示:

①-1001110 ②-1001010 ③-0010110 ④+10101011

6.16位的二进制补码数所能表示的十进制最大数和最小数分别是什么? 16位二进制数所能表示的无符号数的范围又是多大?

7.假设两个二进制数A=0110l010,B=l0001100,试比较它们的大小

①A、B两数均为带符号的补码数。

②A、B两数均为无符号数。

第二章80x86计算机组织

1.一台微型计算机的字长为16位,如果采用字节编址,那么它可以访问的最大存储空间是多少字节?试用16进制数表示该机的地址范围.。

2.PC机有哪两种主要的存储器?它们所起的主要作用是什么?

3.有两个16位字lEF5和2A3c分别存放在PC机存储器的000B0H和000B3H单元中,请用图表示出它们在存储器里的存放情况。

4.写出下列存储器地址的段地址、偏移地址和物理地址。

(1)2314:0035 (2)1FD0:000A

5.如果在一个程序段开始执行之前,(CS)=0A7F0H,(EP)=2D40H,试问该程序段的第一个字的物理地址是什么?

6.如果一个堆栈从地址1250:0000开始SP的内容为0052H,问:

(1)栈顶地址是什么?

(2)栈底地址是什么?

(3)在SS中的段地址是什么?

(4)存入数据3445H后,SP的内容是多少?

第三章80x86的指令系统和寻址方式

1.假定(DS)=212AH,(CS)=0200H,(IP)=2BC0H,(BX)=1200H

D=5119H,(224A 0)=0600H、(275B9)=098AH,试确定JMP指令的转移地址。

(3)段内直接寻址。

(2)使用Bx及寄布器寻址方式的段内间接寻址。

(3)使用Dx及寄存器相对寻址方式的段内间接寻址。

2.假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00AOH,(BX)=0100H,(BP)=0010H,数据变量VAL的偏移地址为0050H,请指出下列指令的源操作数字段是什么?寻址方式?它的物理地址是多少?

(1) MOV AX,0A8H (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,V AL[BX][SI] 3.设有关寄存器及存储单元的内容如下(DS)=2000H,(BX)=0』00H,(SI)=0002H,(20100)=12H,(20101)=34H,(20102)=56H,(20103)=78H,(21200)=2AH,(22203)=4CH,(22202)=0B7H,(21203)=65H,试说明下

列各条指令执行完后AX寄存器的内容。

(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,l100[BX][SI]

4.下面有四条等值语句,

C1 EQU 1000

C2 EQU 1

C3 EQU 20000

C4 EQU 25000

下列指令哪些是不对的?请说明原因。

(1) ADD AL,C1一C2 (2)MOV AX,C3十C4 (3)SUB DX,C4一C3

(4)SUB AH,C4一C3一Cl (5)ADC AL,C2

5.下面的数据传送指令中,错误的操作是()。

① MOV SS:[BX+DI],1000H

② MOV DX,1000H

③ MOV WORD PTR[BX],1000H

④ MOV DS,2000H

6.下面指令执行后,变量DAB中的内容是()。

DAW DW2A05H

DAB DB 0FAH

:

MOV AL,BYTE PRT DAW

SUB DAB,AL

① 0DAH ② 0FAH ③ 0F5H ④ 0D0H

7.执行下列指令后,正确的结果是()。

MOV AL,100

MOV BL,-2

① AL=100H BL=02H ② AL=64H BL=0FEH

③ AL=64H BL=82H ④ AL=100H BL=0FEH

8.完成下列操作,选用什么指令:

(1)将AX的内容,减去0520H,和上次运算的借位;

(2)将变量名TABL的段地址送AX;

9.D1 DB 20H DUP(?)

相关文档
最新文档