微机原理期中自测试题 姓名 班级 学号 成绩 填空题每空1分,共40分) 1、宏汇编语言程序被汇编时, 语句产生代码指令, 语句不产生代码指令, 语句可能产生也可能不产生代码指令。 2、调用程序、子程序传送参数的方法通常有 种方法 3、伪指令EQU、DB、DW、 MACRO的标号名字域必须有名字或标号的伪指令为 4、虽在本模块无定义,却可以被单独引用的名字或标号,必须用伪指令给以说明 5、 PENTIUM的工作模式有 6、下述机器数形式可表示的数值范围是(请用十进制形式写出)单字节无符号整数 单字节有符号整数 7、在汇编语言中,END伪指令有两种格式。主模块中的格式为 非主模块中的格 式为 8、乘法指令MUL的指令格式只有一个源操作数,若源操作数的类型属性为字节,则目的 操作数在 中,若源操作数的类型属性为字,则目的操作数在 9、请给出标志寄存器中标志位OF、IF、SF、ZF、PF、CF的说明:OF、IF 10、堆栈是按照 原则组织的一片连续的存储区域 ll、变址寻址的有效地址是变址寄存器的内容与 代数和。 12、指令ⅪLAT通常用于查表操作,在使用该指令前,应把表首的偏移首地址送入 待转换的代码在表中的序号送 13、若要求不产生汇编错误,则字符串'ABC只能出现在伪指令 中 14、100.25转换成单精度格式为B 15、若x的单精度格式为110000010010010000006,则x= 16、保护模式下,描述符表分为 17、实模式下,对于指令MOⅤAX,DS:[BⅪ 执行前DS=1000H,BX=lHl 则操作数DS:[BⅪ的有效地址为 18、对于指令 PADDSW MM0,MM1; 执行前MMO=00000008000FFFH,MMl=0000006FFF8000H 执行后,MM0= 19、为下述情况各举一例。 (1)寄存器与存储单元内容相加送寄存器 (2)寄存器互送 (3)将标志寄存器进栈 (4)立即数与寄存器内容相加送寄存器 (5)将48H、5AH存入字节数据区 ARRAYB
微机原理期中自测试题 姓名_______班级_______学号_______成绩_______ 一、填空题(每空 1 分,共 40 分) 1、宏汇编语言程序被汇编时,_________语句产生代码指令,_______语句不产生代码指令, _______语句可能产生也可能不产生代码指令。 2、调用程序、子程序传送参数的方法通常有_______、_______和_______三种方法。 3、伪指令 EQU、DB、DW、MACRO 的标号名字域必须有名字或标号的伪指令为_______。 4、虽在本模块无定义,却可以被单独引用的名字或标号,必须用_______伪指令给以说明。 5、PENTIUM 的工作模式有_______ 、_______ 、_______。 6、下述机器数形式可表示的数值范围是(请用十进制形式写出):单字节无符号整数_______; 单字节有符号整数_______。 7、在汇编语言中,END 伪指令有两种格式。主模块中的格式为_______;非主模块中的格 式为_______。 8、乘法指令 MUL 的指令格式只有一个源操作数,若源操作数的类型属性为字节,则目的 操作数在_______中,若源操作数的类型属性为字,则目的操作数在_______中。 9、请给出标志寄存器中标志位 OF、IF、SF、ZF、PF、CF 的说明: OF_______、IF_______、 SF_______、ZF_______、PF_______、CF_______。 10、堆栈是按照_______原则组织的一片连续的存储区域。 11、变址寻址的有效地址是变址寄存器的内容与_______代数和。 12、指令 XLAT 通常用于查表操作,在使用该指令前,应把表首的偏移首地址送入_______, 待转换的代码在表中的序号送________。 13、若要求不产生汇编错误,则字符串'ABC'只能出现在伪指令_______中。 14、100.25 转换成单精度格式为___________________B。 15、若 x 的单精度格式为 11000001110010010000000000000000B,则 x=__________。 16、保护模式下,描述符表分为_______ 、_______ 、_______ 。 17、实模式下,对于指令 MOV AX,DS:[BX] 执行前 DS=1000H,BX=11H, 则操作数 DS:[BX]的有效地址为________。 18、对于指令 PADDSW MM0,MM1; 执行前 MM0=000000008000FFFFH,MM1=00000000FFFF8000H, 执行后,MM0=___________________ H。 19、为下述情况各举一例。 ⑴寄存器与存储单元内容相加送寄存器_______。 ⑵寄存器互送_______。 ⑶将标志寄存器进栈_______。 ⑷立即数与寄存器内容相加送寄存器_______。 ⑸将 48H、5AH 存入字节数据区 ARRAYB_______
指出下列指令所用到的寻址方式(10分) 指令 目的操作数寻址方式源操作数寻址方式 MOV AX, 1000H MOV AX, DS: [ 1000HI MOVAX,Dⅹ MOV IBXLAL MOV[BX+SI+5,AX MOV BX MOV AX, [DI+10 MOⅤAX[S MOV EAX, ESI4+50] MOV EAX, EDX*2+EBP+OFH 三、(10分)阅读如下程序段,回答提出的问题 MOVAX, 3456 XCHG AX, BX MOV AX, 3456 SUBAX, BX JE DONE KK: ADDAX, BX 该程序段执 ZF= IP= 四、(10分) 请在程序段的每一空框内填入一语句(不得修改其它语句),以实现下述功能:将字变量 VARM中的非零数据左移到最高位为“1”止,左移次数存入字节变量VARB中,左移后的 结果存入字变量VARW中 MOV BL, O MOV AX. VARWI S DONE GOON: INC BL ADDAXAX DONE: MOV VARWAX 五、(10分) 编写一个子程序,完成两个非压缩型BCD数(每个数均不大于99)的加法。要求通过堆栈传 递参数 六、(20分) 编写一个程序,接受键盘输入的一个数,计算以该数为半径的圆的面积,并输出结果
二、指出下列指令所用到的寻址方式(10 分) 指令 目的操作数寻址方式 源操作数寻址方式 MOV AX,1000H MOV AX,DS:[1000H] MOV AX,DX MOV [BX],AL MOV [BX+SI+5],AX MOV [BP],BX MOV AX, [DI+10] MOV AX,[SI] MOV EAX, [ESI*4+50] MOV EAX, [EDX*2+EBP+0FH] 三、(10 分)阅读如下程序段,回答提出的问题。 MOV AX,3456 XCHG AX,BX MOV AX,3456 SUB AX,BX JE DONE KK:ADD AX,BX ... DONE: 该程序段执行完 JE DONE 语句后,AX=_______,ZF=_______,IP=_______。 四、(10 分) 请在程序段的每一空框内填入一语句(不得修改其它语句),以实现下述功能:将字变量 VARM1 中的非零数据左移到最高位为“1”止,左移次数存入字节变量 VARB 中,左移后的 结果存入字变量 VARW 中。 MOV BL,0 MOV AX,VARW1 JS DONE GOON: INC BL ADD AX,AX DONE: MOV VARW,AX 五、(10 分) 编写一个子程序,完成两个非压缩型 BCD 数(每个数均不大于 99)的加法。要求通过堆栈传 递参数。 六、(20 分) 编写一个程序,接受键盘输入的一个数,计算以该数为半径的圆的面积,并输出结果