编辑: 黎文定 2019-09-27
习题与答案

第一章 基础知识

第二章 80x86计算机组织

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

第四章 汇编语言程序格式

第五章 循环与分支程序设计

第六章 子程序设计

第七章 高级汇编语言技术

第八章 输入输出程序设计

第一章 基础知识 P14,

1、

2、

6、7题.

第一章 基础知识 C 1.1 1.1 10进制转2进制:369D 2| 3692|

184 …

1 2|

092 … 02|

046 … 02|

023 … 02|

011 … 12|

005 … 12|

002 … 12|

001 …

0 000 … 1答案:369D =

1 0111 0001B = 171H

第一章 基础知识 C 1.2 1.2 2进制转

10、16进制10 1101B转16进制分组:从最低位开始,每4位为1组10, 1101转换:将每组中的4位2进制数转换成对应的16进制符号 2DH10 1101B转10进制按位展开,求加权和:

第一章 基础知识 C 1.6 1.6 8位二进制数,按不同编码转换为10进制数.D8H:无符号数、 补码无符号数:D8H =

1101 1000B = 216D有符号数(补码):[X]补=D8H =

1101 1000B,所以 X0方法1:X = -(-X)X]补)[-X]补求解:[X]补求反:

0010 0111末位加1 :

0010 1000 B = 28H = 40DX = -(-X)X]补) = -40D

第一章 基础知识 C 1.6 1.6 8位二进制数,按不同编码转换为10进制数.D8H:无符号数、 补码有符号数(补码):[X]补=D8H =

1101 1000B,所以 X0方法2:X = -|X||X|求解:[X]补=28 - |X||X| = 100H - D8H = 28H = 40DX = -|X| = -40DFFH:无符号数、带符号补码无符号数:FFH =

1111 1111B = 255D带符号数(补码):-1D

第一章 基础知识 C 1.7 1.7 给定8位二进制数,转换为10进制数与ASCII码4FH数值:4FH =

100 1111B = 79DASCII码:'

O'

2BH数值:2BH =

10 1011B = 43DASCII码:'

+'

73H数值:73H =

111 0011B = 115DASCII码:'

s'

第二章 80x86计算机组织 P33,

2、

3、

4、9题.

第二章 80x86计算机组织 ― 2.2 2.2:画出16位字在存储器中的存放情况.(B0) = 1EE5,(B3) = 2A3C. … … B4 B3 B2 B1 B0 … 地址 内容 E5 1E 3C 2A

第二章 80x86计算机组织 ― 2.3 2.3:读出内存单元的内容.22H字节单元:ABH24H字节单元:EFH21H字单元:AB34H22H字单元:CDABH … …

30024 EF

30023 CD

30022 AB

30021 34

30020 12 … … 地址 存储器

第二章 80x86计算机组织 ― 2.4 2.4:实模式下求物理地址.逻辑地址:3017:000A3017H * 16D + 0AH = 30170H + 0AH = 3017AH逻辑地址:3015:002A3015H * 16D + 2AH = 30150H + 2AH = 3017AH逻辑地址:3010:007A3010H * 16D + 7AH = 30100H + 7AH = 3017AH总结:同一物理地址,可用不同逻辑地址表示.

第二章 80x86计算机组织 ― 2.9 2.9:CPU、存储器、堆栈、IP、SP、状态标志CPU?M:分析、控制、执行指令的部件,由ALU与寄存器等组成.存储器?C:存储程序、数据等信息的记忆装置,微机有RAM与ROM两种.堆栈?D:以后进先出方式工作的存储空间.IP?B:指示下一条指令的地址.SP?A:保存当前栈顶地址的寄存器.状态标志?L:记录指令操作结果的标志.控制标志?K:控制操作的标志,如DF位.段寄存器?J:保存各段起始地址的寄存器.

第二章 80x86计算机组织 ― 2.9 物理地址?F:惟一代表存储空间中每字节单元的地址汇编语言?H:用指令的助记符、符号地址、标号等符号书写程序的语言.机器语言?G:能被计算机直接识别的语言.汇编程序?E:把汇编语言程序翻译成机器语言程序的系统程序.连接程序?I:把若干模块连接成可执行文件的系统程序指令?O:告诉CPU要执行的操作,在程序运行时执行伪指令?N:由汇编程序在汇编过程中执行的指令.

第三章 指令系统和寻址方式 P107,

1、

2、

3、

4、

5、

8、

13、

14、

15、

17、

18、

19、

23、

25、

27、

29、

30、

32、

33、

35、

37、

38、

49、51题.将AL中存储的二进制数值转换为十六进制字符串,结果存储于内存变量Str开始的两个字节单元中.例: (AL) = 2FH,则(STR) = '

2'

STR+1) = '

F'

.提示:使用XLAT、逻辑运算、移位、数据传送指令.

第三章 指令系统和寻址方式 ― 3.1 3.1题:设定条件 (BX) = 637DH, (SI) = 2A9BH, 位移量 = 7237H,求EA立即寻址:操作数在指令码而不是存储器中,没有EA.直接寻址:EA = DISP = 7237H使用BX的寄存器寻址:操作数存放在BX中,没有EA.使用BX的间接寻址:EA = 基址 = (BX) = 637DH

第三章 指令系统和寻址方式 ― 3.1 3.1题:使用BX的寄存器相对寻址:EA = 基址+Disp = 637DH+7237H = D5B4H基址变址寻址:EA = 基址 + 变址 = 637D + 2A9B = 8E18.相对基址变址寻址:EA = 基址 + 变址 + DISP = 637D + 2A9B +

7237 =

1 004F.

第三章 指令系统和寻址方式 ― 3.2 3.2题:根据要求写指令BX与DX内容相加,结果存入DX.ADD DX, BX用基址(BX)变址(SI)寻址方式把字节变量与AL求和,结果送AL.ADD AL, [BX + SI]用BX和位移量0B2H的寄存器相对寻址方式把字变量和(CX)求和,结果送回字变量.ADD [BX + 0B2H], CX

第三章 指令系统和寻址方式 ― 3.2 3.2题:根据要求写指令用位移量0524H的直接寻址方式把字变量与常数2A59H求和,结果送回字变量.ADD WORD PTR [0524H], 2A59H把数0B5H与(AL)求和,结果送回AL.ADD AL, 0B5H

第三章 指令系统和寻址方式 ― 3.3 3.3题: BLOCK字数组第6个字送DX寄存器(下标为5)EA = BLOCK +

5 * 2;

MOV DX, ???寄存器间接寻址:EA = [基址 | 变址].MOV BX, OFFSET BLOCK[10]MOV DX, [BX]寄存器相对寻址:EA = [基址 | 变址] + DISP.MOV SI, 10MOV DX, BLOCK[SI]基址变址寻址:EA = [基址] + [变址].LEA BX, BLOCKMOV SI, 10MOV DX, [BX][SI] +12 B[6] +10 B[5] +8 B[4] +6 B[3] +4 B[2] +2 B[1] Block B[0] 地址 内容

第三章 指令系统和寻址方式 ― 3.4 3.4题:已知各寄存器状态,求下列指令执行后AX的内容.MOV AX, 1200HMOV AX, BXMOV AX, [1200H]MOV AX, [BX]MOV AX, 1100[BX]MOV AX, [BX][SI]MOV AX, 1100[BX][SI] B7 4C …

65 … 2A …

78 56

34 12

21200 20100

20101 20102

20103 21201

21202 21203 DS

2000 BX

0100 SI

0002

第三章 指令系统和寻址方式 ― 3.5 3.5题:求转移指令的目标地址.CS:IP = 0200:2BC0, 位移量D = 5119, BX = 1200, DS = 212A, (224A0) = 0600, (275B9) = 098A段内直接寻址IP = (IP) + DISP = 2BC0 +

5119 = 7CD9使用BX的寄存器间接寻址的段内间接寻址IP = ((DS)*16D + (BX)) = (212A0+1200)= (224A0) = 0600使用BX的寄存器相对寻址的段内间接寻址IP = ((DS)*16D + (BX) + Disp) = (212A0 +

1200 + 5119) = (275B9) = 098A

第三章 指令系统和寻址方式 ― 3.8 3.8题:求源操作数的寻址方式与物理地址.(DS) = 2000, (ES) = 2100, (SS) = 1500,(SI) = 00A0, (BX) = 0100, (BP) = 0010,OFFSET VAL = 0050MOV AX, 0ABH 立即寻址MOV AX, BX寄存器寻址 MOV AX, [100H]直接寻址PA = (DS) *

16 + 100H = 20100HMOV AX, VAL直接寻址PA = (DS) *

16 + OFFSET VAL = 20050HMOV AX, [BX]寄存器间接寻址PA = (DS) *

16 + (BX) = 20100H

第三章 指令系统和寻址方式 ― 3.8 3.8题:求源操作数的寻址方式与物理地址.(DS) = 2000, (ES) = 2100, (SS) = 1500,(SI) = 00A0, (BX) = 0100, (BP) = 0010,OFFSET VAL = 0050MOV AX, ES:[BX]寄存器间接寻址PA = (ES) *

16 + (BX) = 21100HMOV AX, [BP]寄存器间接寻址PA = (SS) *

16 + (BP) = 15010HMOV AX, [SI]寄存器间接寻址PA = (DS) *

16 + (SI) = 200A0........

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题