资源描述:
《钱晓捷新版汇编语言程序设计习题答案修改》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、钱晓捷新版汇编语言程序设计习题答案第一章汇编语言基础知识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.20、8086有
2、哪4种逻辑段,各种逻辑段分别是什么用途?(解答) 代码段(Code Segment)用来存放程序的指令序列。处理器利用CS : IP取得下一条要执行的指令•堆栈段(Stack Segment)确定堆栈所在的主存区域。处理器利用SS : SP操作堆栈中的数据•数据段(Data Segment)存放当前运行程序所用的数据。处理器利用DS : EA存取数据段中的数据•附加段(Extra Segment)是附加的数据段,也用于数据的保存。处理器利用ES : EA存取数据段中的数据第二章8086指令系统2.1已知DS = 2000H、BX = 0100H、SI = 00
3、02H,存储单元[20100H] ~ [20103H]依次存放12 34 56 78H,[21200H] ~ [21203H]依次存放2A 4C B7 65H,说明下列每条指令执行完后AX寄存器的内容。 (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=785
4、6h (7) mov ax,[bx][si+1100h];AX=65B7h 2.2指出下列指令的错误(1) mov cx,dl 两操作数类型不匹配 第23页共23页(2) mov ip,axIP指令指针禁止用户访问 (3) mov es,1234h 立即数不允许传给段寄存器 (4) mov es,ds段寄存器之间不允许传送 (5) mov al,300 两操作数类型不匹配 (6) mov [sp],ax目的操作数应为[ BP ] (7) mov ax,bx+di 源操作数应为 [BX+DI] (8) mov 20h,ah立即数不能
5、作目的操作数2.3已知数字0 ~ 9对应的格雷码依次为:18H、34H、05H、06H、09H、0AH、0CH、11H、12H、14H,它存在于以table为首地址(设为200H)的连续区域中。请为如下程序段的每条指令加上注释,说明每条指令的功能和执行结果。lea bx,table ;获取table的首地址,BX=200H mov al,8 ;传送欲转换的数字,AL=8 xlat ;转换为格雷码,AL=12H 2.4什么是堆栈,它的工作原则是什么,它的基本操作有哪两个,对应哪两种指令?堆栈是一种按“先进后出”原则存取数据的存储区域。 堆栈的两种基本操作是压栈和
6、出栈,对应的指令是PUSH和POP。2.5已知SS = FFA0H、SP = 00B0H,画图说明执行下面指令序列时,堆栈区和SP的内容如何变化?mov ax,8057h push ax mov ax,0f79h push ax pop bx ;bx=0f79h pop [bx] ;DS:[0f79h]=8057h 第23页共23页2.6给出下列各条指令执行后AL值,以及CF、ZF、SF、OF和PF的状态: mov al,89hAL=89h CF ZF SF OF PF add al,alAL=12h 1 0 0 1 1 add al,9dhAL=0afh 0
7、 0 1 0 1 cmp al,0bchAL=0afh 1 0 1 0 1 sub al,alAL=00h 0 1 0 0 1 dec alAL=0ffh 0 0 1 0 1 inc alAL=00h 0 1 0 0 1 2.7 设X、Y、Z均为双字数据,分别存放在地址为X、X+2;Y、Y+2;Z、Z+2的存储单元中,它们的运算结果存入W单元。阅读如下程序段,给出运算公式。 mov ax,X mov dx,X+2 add ax,Y adc dx,Y+2 add ax,24 adc dx,0 sub ax,Z
8、 sbb dx,Z+2 mo