目 录
习题1…………………………………………………………………1 习题2…………………………………………………………………4 习题3…………………………………………………………………10 习题4…………………………………………………………………13 习题5…………………………………………………………………15 习题6…………………………………………………………………18 习题7…………………………………………………………………21 习题8…………………………………………………………………24 习题9…………………………………………………………………27
精品文档
习题1
1.1 简述计算机系统的硬件组成及各部分作用。 1.2 明确下列概念或符号:
主存和辅存,RAM和ROM,存储器地址和I/O端口,KB,MB,GB和TB。 1.3 什么是汇编语言源程序、汇编程序、目标程序? 1.4 汇编语言与高级语言相比有什么优缺点? 1.5 将下列十六进制转化为二进制和十进制表示。
(1)FFH (2)0H (3)5EH (4)EFH (5)2EH (6)10H (7)1FH (8)ABH
1.6 将下列十进制数转换为BCD码表示。
(1)12 (2)24 (3)68 (4)127
(5)128 (6)255 (7)1234 (8)2458 解答:
十进制数 BCD码
12 00010010 24 00100100 68 01101000 127 000100100111 128 000100101000 255 001001010101 1234 0001001000110100 2458 0010010001011000
1.7 将下列BCD码转换为十进制数。
(1)10010001 (2)10001001 (3)00110110 (4)10010000 (5)00001000 (6)10010111 (7)10000001 (8)00000010 解答:
BCD码 十进制数 10010001 91 10001001 89 00110110 36 10010000 90 00001000 08 10010111 97 10000001 81 00000010 02
1.8 将下列十进制数分别用八位二进制数的原码、反码和补码表示。
(1)0 (2)-127 (3)127 (4)-57 (5)126 (6)-126 (7)-128 (8)68
1.9 完成下列二进制数的计算。
(1)1011+1001 (2)1011-1001 (3)1011×1001 (4)10111000/1001 (5)1011∧1001 (6)1011∨1001 (7)~1011 (8)1011⊕1001
1.10 数码0~9,大写字母A~Z,小写字母a~z,对应的ASCII码分别是多
。 2欢迎下载
精品文档
少?ASCII码为0dH,0aH对应的是什么字符? 解答:
大写字母A~Z,对应的ASCII码分别是41H~5AH 小写字母a~z,对应的ASCII码分别是61H~7AH ASCII码为0dH,0aH分别对应“回车”、“换行”
1.11 计算机中有一个“01100001”编码,如果把它认为是无符号数,它是十进制什么数?如果你认为它是BCD码,则表示什么数?如果它是某个ASCII码,则代表哪个字符?
1.12 简述Intel80x86系列微处理器在指令集方面的发展。 1.13 什么是DOS和ROM-BIOS?
1.14 简述PC最低1MB贮存空间的使用情况。
1.15 罗列8086CPU的8个8位和16位通用寄存器,并说明各自的作用。 1.16 什么是标志?它有什么用途?状态标志和控制标志有什么区别?画出标志寄存器FLAGS,说明各个标志的位置和含义。 1.17 举例说明CF和OF标志的差异。
解答:溢出标志OF和进位标志CF是两个意义不同的标志
进位标志表示无符号数运算结果是否超出范围,运算结果仍然正确;溢出标志表示有符号数运算结果是否超出范围,运算结果已经不正确 例1:3AH + 7CH=B6H
无符号数运算:58+124=182,范围内,无进位 有符号数运算: 58+124=182 ,范围外,有溢出 例2:AAH + 7CH=(1)26H
无符号数运算:170+124=294,范围外,有进位 有符号数运算:-86+124=28 ,范围内,无溢出
1.18 字和双字在存储器中如何存放,什么是“小端方式”?对字和双字存储单元,什么是它们的对齐地址?为什么要对齐地址?
1.19 什么是8086中的逻辑地址和物理地址?逻辑地址如何转换为物理地址?请将如下逻辑地址用物理地址表示(表达地址默认采用十六进制):
(1)FFFF:0 (2)40:17 (3)2000:4500 (4)B821:4567
解答:对应每个物理存储单元都有一个唯一的20位编号,就是物理地址,从00000H~FFFFFH
在8086内部和用户编程时,采用的段基地址 : 段内偏移地址形式称为逻辑地址
将逻辑地址中的段地址左移4位,加上偏移地址就得到20位物理地址 请将如下逻辑地址用物理地址表达: (1)FFFFh:0=FFFF0H (2)40h:17h=00417H
(3)2000h:4500h=24500H (4)B821h:4567h=BC777H
1.20 8086有哪4种逻辑段?各种逻辑段分别是什么用途?
解答:代码段(Code Segment)用来存放程序的指令序列。处理器利用CS : IP取得下一条要执行的指令
堆栈段(Stack Segment)确定堆栈所在的主存区域。处理器利用SS : SP操作
。 3欢迎下载
精品文档
堆栈中的数据
数据段(Data Segment)存放当前运行程序所用的数据。处理器利用DS : EA存取数据段中的数据 附加段(Extra Segment)是附加的数据段,也用于数据的保存。处理器利用ES : EA存取数据段中的数据
1.21 数据的默认段是哪个?是否允许其他段存放数据?如果允许,如何实现?有什么要求?
1.22 什么是操作码、操作数和寻址方式?有哪三种给出操作数的方法? 1.23 什么是有效地址EA?8086的操作数如果在主存中,有哪些寻址方式可以存取它?
1.24 说明下列指令中源操作数的寻址方式?如果BX=2000H,DI=40H,给出DX的值或有效地址EA的值。
(1)Mov dx,[1234h] (2)Mov dx,1234h (3)Mov dx,bx (4)Mov dx,[bx]
(5)Mov dx,[bx+1234h] (6)Mov dx,[bx+di]
(7)Mov dx,[bx+di+1234h] 解答:(1)mov dx,[1234h] ;直接寻址,EA=1234h (2)mov dx,1234h ;立即数寻址,DX=1234h (3)mov dx,bx ;寄存器寻址,DX=2000h (4)mov dx,[bx] ;间接寻址,EA=2000h
(5)mov dx,[bx+1234h] ;相对寻址,EA=3234h (6)mov dx,[bx+di]
;基址变址寻址,EA=2040h (7)mov dx,[bx+di+1234h]
;相对基址变址寻址,EA=3274h
。 4欢迎下载
精品文档
习题2
2.1 已知DS=2000H,BX=0100H,SI=0002H,存储单元[20100H]~[20103]依次存放12 34 56 78H,[21200H]~[21203H]依次存放2A 4C B7 65H,说明下列每条指令执行后AX寄存器的内容。
(1)Mov ax,1200h (2)Mov ax,bx
(3)Mov ax,[1200h] (4)Mov ax,[bx]
(5)Mov ax,[bx+1100h] (6)Mov ax,[bx+si]
(7)Mov ax,[bx][si+1100h]
解答:(1)mov ax,1200h ;AX=1200h (2)mov ax,bx ;AX=0100h (3)mov ax,[1200h] ;AX=4C2Ah (4)mov ax,[bx] ;AX=3412h
(5)mov ax,[bx+1100h] ;AX=4C2Ah (6)mov ax,[bx+si] ;AX=7856h
(7)mov ax,[bx][si+1100h] ;AX=65B7h 2.2 指出下列指令的错误
(1)mov cx,dl (2)mov ip,ax (3)mov es,1234h (4)mov es,ds (5)mov al,300 (6)mov [sp],ax (7)mov ax,bx+di (8)mov 20h,ah 2.3 已知数字0~9对应的格雷码依次为:
18H,34H,05H,06H,09H,0AH,0CH,11H,12H,14H,它存在于以table为首地址(设为200H)的连续区域中。为如下程序段的每条指令加上注释,说明每条指令的功能和执行结果。
Lea bx,table Mov al,8 Xlat
2.4 什么是堆栈?他的工作原则是什么?它的基本操作有哪两个?对应哪两种指令?
2.5 已知SS=2200H,SP=00B0H,画图说明执行下列指令序列时,堆栈区和SP的内容如何变化?
Mov ax,8057h Push ax
Mov ax,0f79h Push ax Pop bx Pop [bx]
解答:mov ax,8057h push ax
。 5欢迎下载