古德书店永久联系方式:TEL [1**********] QQ 1564900145
2010~2011 学年第一学期期中测验题
一、填空题(共 30 分,每题 3 分) 1、设字长n=8,则[-73] 补 = 0B7 H,[+118] 补 = 76 H。 4A H
2、设X为 8 位二进制数,若[X] 补 =0B6H,则[X] 原 = X的真值= -4AH(或-74) 。
0CA H,[-X] 补 =
3、十进制数 586 的压缩BCD码为
[**************]0B
。
4、已知某数据块由 500 个字节组成且在内存中连续存放。首字节逻辑地址为 2000H:2537H,则该数据块首字节的物理地址PA= 22537 H,末字节段基址为 2000 H,末字节偏移地址为 272A H。 。
5、设SS=2000H,SP=1050H,执行指令PUSHF后,堆栈指针的值为 104EH
6、已知BL=0101110lB,执行指令NEG BL后再执行指令CBW,则AX= 原值不变 。 7、已知指令序列为: MOV MOV IDIV AX,084BDH BX,12D8H BL 12D8H 。
此指令序列执行后,AX= 除法溢出 ,BX= 8、若变量 VAR 定义如下: VAR DD 12345678H 则指令 MOV AL,BYTE PTR VAR MOV BX,WORD PTR VAR 执行后,AL= 78H ,BX= 5678H 。
9、宏汇编语言中的操作数常用变量表示,描述变量的要素是其属性,所有变量具有 的三个属性是 段基址 、 偏移 与 类型 。 10、已知数据段中有如下语句: ORG 1000H BUF DW ? A EQU 5 B EQU -2
1
古德书店永久联系方式:TEL [1**********] QQ 1564900145 则指令MOV BUF,A GE B汇编后的语句为 MOV WORD PTR[1000H],0FFFFH 。
二、选择题(共 20 分,每题 2 分) 1、8086CPU 通过( A )引脚来区分是存储器访问,还是 I/O 访问。 A. M/ IO B. DEN C. ALE D. N/ MX
2、若要使寄存器 AL 中的高 4 位不变,低 4 位为 0,所用指令为( B ) 。 A、 AND AL,0FH B、 AND AL,0F0H C、 OR AL,0FH D、 OR AL,0F0H 3、条件转移指令 JNE 的条件是( C ) 。 A、CF=0 B、CF=1 C、ZF=0
D、ZF=1
4、在一个项目或产品研制的过程中,通常采用( D )类型的存储芯片来存放待调 试的程序。 2 A、 RAM B、ROM C、PROM D、E PROM 5、n+1 位有符号数 X 的补码表示范围为( B ) 。 A. -2n
2
古德书店永久联系方式:TEL [1**********] QQ 1564900145
三、简答题(共 30 分) 1、 假设当前 AX=2010H, BX=3500H, SI=0002H, DI=0003H, DS=3000H, SS=3000H, SP=0000H, (31200H)=97H, (31201H)=65H, (31202H)=0B7H, (31203H) =90H, (33502H)=08H, (33503H)=80H。下列各条指令以上述已知条件作 为指令执行前的初值,请写出各指令执行后,有关寄存器及存储单元的内容, 若影响了标志位,请给出标志位 SF、ZF、OF 和 CF 的状态值。(10 分) (1)ADD AX, 0F783H
解:AX 原值为 2010H,AX=2010H+0F783H=1793H, SF=ZF=OF=0,CF=1
(2)NEG WORD PTR [1200H]
解:DS*16+1200H=31200H,将 31200H 单元开始的字数据求补后,(31200H)=69H, (31201H)=9AH, SF=CF=1, ZF=OF=0
(3)SAR BYTE PTR 1200H[SI], 1
解:DS*16+1200H+SI=31200H , 31200H 单元内容算术右移一次后,(31202H)=0DBH, SF=CF=1, ZF=OF=0
(4)MUL WORD PTR[BX][SI]
解 : DS*16+BX+SI=33502H,
此 处 存 储 的 字 的 值 为
8008H ,
AX*8008H=2010H*8008H=10090080H, 因此,AX= 0080H, DX=1009H, OF=CF=1, SF、ZF 无意义 (5)DIV BYTE PTR 1200H[DI]
解:DS*16+SI+1200H=31203H, 指令包含的计算为 AX/(31203H)=2010H/90H=39H, 余数为 0,因此,AL=39H, AH=0, SF、ZF、OF 和 CF 无意义
2、若数据段定义如下: 分) (6 DATA SEGMENT AT 3000H ORG 1000H D1 DB ‘SWJTU’ D2 DW 2DUP(100,2DUP(3,5)) D3 DD D2+5 D4 DW $-D1 DATA ENDS
3
古德书店永久联系方式:TEL [1**********] QQ 1564900145 试画出 DATA 数据段的存储示意图。
解:如下图。
地址 3000:1000H 3000:1001H 3000:1002H 3000:1003H 3000:1004H 3000:1005H 3000:1006H 3000:1007H 3000:1008H 3000:1009H 3000:100AH 3000:100BH 3000:100CH 3000:100DH 3000:100EH 3000:100FH 3000:1010H 3000:1011H 3000:1012H 3000:1013H 3000:1014H 3000:1015H 3000:1016H 3000:1017H 3000:1018H 3000:1019H 3000:101AH 3000:101BH 3000:101CH 3000:101DH 3000:101EH 3000:201FH
存储内容 ‘S’ ‘W’ ‘J’ ‘T’ ‘U’ 64H 00 03 00 05 00 03 00 05 00 64H 00 03 00 05 00 03 00 05 00 0AH 10H 00H 30H
1DH 00H 4 D3 D2 D1
古德书店永久联系方式:TEL [1**********] QQ 1564900145
D4
3、阅读下列数据区定义及相应程序段: 分) (6 8,99,20,-40,120,40,202,0F8H,1,2,4,…… ┆ MOV SI,OFFSET DATA MOV CL,[SI] INC SI MOV AL,[SI] XOR CH,CH MOV DL,AL DEC CL AGAIN: CMP AL,[SI] JNC NEXT MOV AL,[SI] NEXT: ADD DL,[SI] INC SI LOOP AGAIN 请说明该程序段的功能。该程序段执行后,AL、DL 的值为多少? DATA DB
解:
4、将下面一段程序中有错误的指令加以改正。(8 分) DATA SEGMENT VAR1 DB count DUP(0) Count EQU 10 VAR1 DW 10 DUP(0) VAR2 DW 10 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA,ES:DATA BEGIN: MOV DS,DATA MOV SI,OFFSET VAR1 LEA DI,VAR2 MOV AX,[SI+DI] PUSH AL XCHG CS,AX MOV CX,count CLD
5
古德书店永久联系方式:TEL [1**********] QQ 1564900145 MOV BL,500 MOV AL,[SI] HERE: MOV DX,LENGTH VAR2 MOV AX,4C00H INT 21H CODE ENDS END BEGIN
四、程序设计(共 20 分) 设某字符串(最大长度不超过 200=0C8H)已定义为字节型变量 STRING。试编写程序 找出该字符串中的第一个回车字符 CR(=0DH)所在位置(00~0C7H)并存入寄存器 CL 中,如该字符串中无回车符,则将-1 存入 CL 中。要求: 1.定义程序段结构; 分) (5 2.画出程序流程图; 分) (6 3.给出用宏汇编语言编写的完整程序清单。 分) (9
6
古德书店永久联系方式:TEL [1**********] QQ 1564900145
2010~2011 学年第一学期期中测验题
一、填空题(共 30 分,每题 3 分) 1、设字长n=8,则[-73] 补 = 0B7 H,[+118] 补 = 76 H。 4A H
2、设X为 8 位二进制数,若[X] 补 =0B6H,则[X] 原 = X的真值= -4AH(或-74) 。
0CA H,[-X] 补 =
3、十进制数 586 的压缩BCD码为
[**************]0B
。
4、已知某数据块由 500 个字节组成且在内存中连续存放。首字节逻辑地址为 2000H:2537H,则该数据块首字节的物理地址PA= 22537 H,末字节段基址为 2000 H,末字节偏移地址为 272A H。 。
5、设SS=2000H,SP=1050H,执行指令PUSHF后,堆栈指针的值为 104EH
6、已知BL=0101110lB,执行指令NEG BL后再执行指令CBW,则AX= 原值不变 。 7、已知指令序列为: MOV MOV IDIV AX,084BDH BX,12D8H BL 12D8H 。
此指令序列执行后,AX= 除法溢出 ,BX= 8、若变量 VAR 定义如下: VAR DD 12345678H 则指令 MOV AL,BYTE PTR VAR MOV BX,WORD PTR VAR 执行后,AL= 78H ,BX= 5678H 。
9、宏汇编语言中的操作数常用变量表示,描述变量的要素是其属性,所有变量具有 的三个属性是 段基址 、 偏移 与 类型 。 10、已知数据段中有如下语句: ORG 1000H BUF DW ? A EQU 5 B EQU -2
1
古德书店永久联系方式:TEL [1**********] QQ 1564900145 则指令MOV BUF,A GE B汇编后的语句为 MOV WORD PTR[1000H],0FFFFH 。
二、选择题(共 20 分,每题 2 分) 1、8086CPU 通过( A )引脚来区分是存储器访问,还是 I/O 访问。 A. M/ IO B. DEN C. ALE D. N/ MX
2、若要使寄存器 AL 中的高 4 位不变,低 4 位为 0,所用指令为( B ) 。 A、 AND AL,0FH B、 AND AL,0F0H C、 OR AL,0FH D、 OR AL,0F0H 3、条件转移指令 JNE 的条件是( C ) 。 A、CF=0 B、CF=1 C、ZF=0
D、ZF=1
4、在一个项目或产品研制的过程中,通常采用( D )类型的存储芯片来存放待调 试的程序。 2 A、 RAM B、ROM C、PROM D、E PROM 5、n+1 位有符号数 X 的补码表示范围为( B ) 。 A. -2n
2
古德书店永久联系方式:TEL [1**********] QQ 1564900145
三、简答题(共 30 分) 1、 假设当前 AX=2010H, BX=3500H, SI=0002H, DI=0003H, DS=3000H, SS=3000H, SP=0000H, (31200H)=97H, (31201H)=65H, (31202H)=0B7H, (31203H) =90H, (33502H)=08H, (33503H)=80H。下列各条指令以上述已知条件作 为指令执行前的初值,请写出各指令执行后,有关寄存器及存储单元的内容, 若影响了标志位,请给出标志位 SF、ZF、OF 和 CF 的状态值。(10 分) (1)ADD AX, 0F783H
解:AX 原值为 2010H,AX=2010H+0F783H=1793H, SF=ZF=OF=0,CF=1
(2)NEG WORD PTR [1200H]
解:DS*16+1200H=31200H,将 31200H 单元开始的字数据求补后,(31200H)=69H, (31201H)=9AH, SF=CF=1, ZF=OF=0
(3)SAR BYTE PTR 1200H[SI], 1
解:DS*16+1200H+SI=31200H , 31200H 单元内容算术右移一次后,(31202H)=0DBH, SF=CF=1, ZF=OF=0
(4)MUL WORD PTR[BX][SI]
解 : DS*16+BX+SI=33502H,
此 处 存 储 的 字 的 值 为
8008H ,
AX*8008H=2010H*8008H=10090080H, 因此,AX= 0080H, DX=1009H, OF=CF=1, SF、ZF 无意义 (5)DIV BYTE PTR 1200H[DI]
解:DS*16+SI+1200H=31203H, 指令包含的计算为 AX/(31203H)=2010H/90H=39H, 余数为 0,因此,AL=39H, AH=0, SF、ZF、OF 和 CF 无意义
2、若数据段定义如下: 分) (6 DATA SEGMENT AT 3000H ORG 1000H D1 DB ‘SWJTU’ D2 DW 2DUP(100,2DUP(3,5)) D3 DD D2+5 D4 DW $-D1 DATA ENDS
3
古德书店永久联系方式:TEL [1**********] QQ 1564900145 试画出 DATA 数据段的存储示意图。
解:如下图。
地址 3000:1000H 3000:1001H 3000:1002H 3000:1003H 3000:1004H 3000:1005H 3000:1006H 3000:1007H 3000:1008H 3000:1009H 3000:100AH 3000:100BH 3000:100CH 3000:100DH 3000:100EH 3000:100FH 3000:1010H 3000:1011H 3000:1012H 3000:1013H 3000:1014H 3000:1015H 3000:1016H 3000:1017H 3000:1018H 3000:1019H 3000:101AH 3000:101BH 3000:101CH 3000:101DH 3000:101EH 3000:201FH
存储内容 ‘S’ ‘W’ ‘J’ ‘T’ ‘U’ 64H 00 03 00 05 00 03 00 05 00 64H 00 03 00 05 00 03 00 05 00 0AH 10H 00H 30H
1DH 00H 4 D3 D2 D1
古德书店永久联系方式:TEL [1**********] QQ 1564900145
D4
3、阅读下列数据区定义及相应程序段: 分) (6 8,99,20,-40,120,40,202,0F8H,1,2,4,…… ┆ MOV SI,OFFSET DATA MOV CL,[SI] INC SI MOV AL,[SI] XOR CH,CH MOV DL,AL DEC CL AGAIN: CMP AL,[SI] JNC NEXT MOV AL,[SI] NEXT: ADD DL,[SI] INC SI LOOP AGAIN 请说明该程序段的功能。该程序段执行后,AL、DL 的值为多少? DATA DB
解:
4、将下面一段程序中有错误的指令加以改正。(8 分) DATA SEGMENT VAR1 DB count DUP(0) Count EQU 10 VAR1 DW 10 DUP(0) VAR2 DW 10 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA,ES:DATA BEGIN: MOV DS,DATA MOV SI,OFFSET VAR1 LEA DI,VAR2 MOV AX,[SI+DI] PUSH AL XCHG CS,AX MOV CX,count CLD
5
古德书店永久联系方式:TEL [1**********] QQ 1564900145 MOV BL,500 MOV AL,[SI] HERE: MOV DX,LENGTH VAR2 MOV AX,4C00H INT 21H CODE ENDS END BEGIN
四、程序设计(共 20 分) 设某字符串(最大长度不超过 200=0C8H)已定义为字节型变量 STRING。试编写程序 找出该字符串中的第一个回车字符 CR(=0DH)所在位置(00~0C7H)并存入寄存器 CL 中,如该字符串中无回车符,则将-1 存入 CL 中。要求: 1.定义程序段结构; 分) (5 2.画出程序流程图; 分) (6 3.给出用宏汇编语言编写的完整程序清单。 分) (9
6