1、第4章 汇编语言程序设计习题41. 什么是“三种基本结构”?解释“基本”两个字在其中的含义。答:三种基本结构指:顺序结构,选择结构、循环结构。 使用这3种结构,可以编制出任何所需要的程序,因此冠以“基本”结构。2. 什么叫做“控制转移指令”?它和数据传送、运算指令有什么区别?它是怎样实现它的功能的?答:控制转移指令是可以改变指令执行顺序的指令。数据传送、运算指令总是顺序执行的,而控制转移指令通过改变和/或寄存器的值,改变了程序指令的执行顺序。3. 指令“ ”和“ ”作用有什么不同?请说明。答:上述两条指令都是段内近转移指令,但是偏移地址的来源不同。指令“ ”执行时,新的偏移地址在寄存器内,“
2、”时,目的偏移地址在存储单元中,该存储单元的地址在: 中。4. 已知()= 836,X分别取下列值,执行“ , X”后,标志位、各是什么?(1)3000H (2)8000H (3)7 (4)0 (5)0答:上述指令执行后,标志位、 的状态分别是: (1) 0010 (2) 0000 (3) 0010 (4) 0101 (5) 00015. 已知()= 836,X分别取下列值,执行“ , X”后,标志位、各是什么?(1)0001H (2)8000H (3)0007H (4)0 (5)0答:上述指令执行后,标志位、 的状态分别是: (1) 0000 (2) 0001 (3) 0000 (4) 00
3、01 (5) 10006. 测试名为X的一个字节,如果X的第1,3位均为1,转移到L1,如果只有一位为1,转移到L2,如果两位全为0,转移到L3。写出对应的指令序列。答: AL, X AL, 0000 1010B L3 AL, 0000 1010B L1 L27. 假设X和2字单元存放有双精度数P,Y和2字单元存放有双精度数Q,下面程序完成了什么工作? , 2 , X ;双精度数P送入, , X , 2 ;计算2*P送入, , 2 ;2P与Q的高位比较 L2 ;2PQ,转L1 (1) , Y ;如果高位相等,则比较低位 L2 ;2P的低位小于等于Q的低位,转L2(2)L1: Z, 1 L2:
4、Z, 2: 答:程序根据2P与Q的大小,确定Z的值。 如果2PQ,则2 如果2PQ, 则1 请参阅程序注解8. 编写指令序列,将和中较大的绝对值存入,较小的绝对值存入。答: , 1 1: , 2 2: , 3 , 3: 9. 编写指令序列,比较、中的数的绝对值,绝对值较大的数存入,绝对值较小的数存入。答: , 1 1: , 2 2: , 3 , 3: 10. 编写指令序列,如果寄存器存放的是小写字母,把它转换成大写字母,否则不改变内容。答: AL, a AL, z AL, a-A : 11. 计算分段函数: X的值从键盘输入,Y的值送显示器输出。答: 1 0, 0, X : $ 2 0, 0,
5、 : $ : , : : , , , 1 ;输入X的值 , -2 L2 L1: , 3 ;3 L2: , 3 L3 , , ;2X , ;4X , ;5X , 6 ;56 L3: , 2 ;2 : , 2 ;输出Y的值 , 4C00H 21H 12. 计算分段函数: A, B的值从键盘输入,Y的值送显示器输出(表示“并且”,表示“或者”)。答: 1 0, 0, A : $ 2 0, 0, B : $ 3 0, 0, : $ A ? B ? : , : : , , , 1 ;输入A A, , 2 ;输入B B, , L1 ;B0,转L1 A, 0 L1 ;A(6)? I: 6 。 : : , 1 ;为行号 : , 5 ;为6-列号 : , ;判断当前位置 : , ;下半三角,取6-列号 : , ;上半三角,取行号 : , -1 ;输出一个数据 COL ;结束本行 ;修改行号 , 5 ;未满5行,继续 , 4C00H 21H 28. 根据下面条件,画出每次调用子程序或返回时的堆栈状态。(1) 主程序调用属性的1子程序,返回的偏移地址为1200H.(2) 进入1后调用属性的2子程序,返回的偏移地址为2200H.(3) 进入2后调用属性的3子程序,返回的段基址为4000H,偏移地址为0200H。(4) 从3返回2后。(5) 从2返回1后。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1