微机原理及接口技术-习题答案内容摘要:
程序汇编等。 源程序汇编后指示性语句不生成目标代码,所以常被称为伪指令。 指令性语句 指令性语句是可执行语句,是 8088/8086CPU 的指令。 源程序汇编后指令性语句生成目标代码。 第 3 章中介绍的所有指令都是指令性语句的主体,其操作数最多只能有两个。 3. 汇编语言源程序的基本结构是什么。 解: 汇编语言源程序由若干段 组成 : 数据段、附件数据段、堆栈段和代码段 等 , 段与段之间的顺序可以 随意排列 , 每一段由 SEGMENT 开始 , 以 ENDS 结束 , 每段的开始和结束都附有相同的名字。 一个程序一般定义三个段:数据段、堆栈段和代码段,必要时增加定义附加数据段,能独立运行的程序至少包含一个代码段。 4. 写出完成下述要求的变量定义的语句: ( 1) 为缓冲区 BUFF 保留 200 个字节的内存空间 ( 2) 将字符串 ’BYTE’, ’WORD’存放于某数据区 ( 3) 在数据区中存入下列 5 个数据: 2040H,0300H,10H,0020H,1048H 解: ( 1)为缓冲区 BUFF 保 留 200 个字节的内存空间 BUFF DB 200 DUP(?) ( 2)将字符串 ’BYTE’, ’WORD’存放于某数据区 DB ‘BYTE’,’WORD’ ( 3)在数据区中存入下列 5 个数据: 2040H,0300H,10H,0020H,1048H DW 2040H,0300H,10H,0020H,1048H 微机原理及接口技术习题及答案 13 5. 画出 下面 数据段汇编后的 内存图, 并标出 变量的位置。 DATA SEGMENT AA EQU 78H AA0 DB 09H,2,45H,2 DUP( 01H,。 ) ,’ AB’ AA1 DW 2,34H+AA AA2 DD 12H ;双字类型 DATA ENDS 解:如图所示。 6. 设程序中的数据定义如下 : NAME DB 30 DUP( ?) LIST DB 1, 8, 3, 2 ADDR DW 30 DUP( ?) ( 1) 取 NAME 的偏移地址放入 SI ( 2) 取 LIST 的 前 两个字节 存 入 AX ( 3) 取 LIST 实际长度 解:( 1)取 NAME 的偏移地址放入 SI MOV SI,OFFSET NAME ( 2) 取 LIST 的 前 两个字节 存 入 AX MOV AX,WORD PTR [LIST] ( 3)取 LIST 实际长度 MOV AX,SIZE LIST ; P85 7. 依据下列指示性语句,求表达式的值。 SHOW0 EQU 200 SHOW1 EQU 15 SHOW2 EQU 2 ⑴ SHOW0X100+55 ⑵ SHOW0 AND SHOW115 ⑶ (SHOW0/SHOW2) MOD SHOW1 ⑷ SHOW1 OR SHOW0 解:( 1) SHOW0 X 100+55=200X100+55 ⑵ SHOW0 AND SHOW115=C8H AND 0FH 0FH = 0;减法的优先级过于 AND ⑶ ( SHOW0/SHOW2) MOD SHOW1=100 MOD 15=10 ⑷ SHOW1 OR SHOW0=0FH OR C8H=CF 8. 编写程序,统计寄存器 BX中二进制位 “ 1” 的个数,结果存在 AL 中。 DATA SEGMENT NUM DW。 DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA START: MOV AX, DATA MOV DS, AX MOV AL, 0 09HFEH45H01H?HAA0AA1AA0FEHFFHACH00H12H00H00H00H01H?41H42H微机原理及接口技术习题及答案 14 MOV BX, NUM。 把数 X 传送给 BX MOV CX, 16 NEXT: SHL AX, 1 JNC NEXT1 INC AL NEXT1: LOOP NEXT MOV AH, 4CH INT 21H CODE ENDS END START 9. 某 数据块存放在 BUFFER 开始的 100 个字节单元中,试编写程序统计数据块中正数(不包括 0)的个数,并将统计的结果存放到 NUMBER 单元中。 解 DATA SEGMENT BUFFER DB 100(?) NUMBER DB 0 DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA START: MOV AX,DATA MOV DS,AX XOR DX, DX MOV CX,100 MOV SI,OFFSET BUFFER NEXT: MOV AL,[SI] INC SI TEST AL,80H。 是正数吗。 JNZ GOON。 否,转移到 GOON CMP AL,0 JZ GOON INC DX GOON: LOOP NEXT MOV NUMBER,DX MOV AH, 4CH INT 21H CODE ENDS END START 10. 阅读下面程序段,指出它的功能。 DATA SEGMENT ASCII DB 30H, 31H, 32H, 33H ,34H ,35H, 36H, 37H, 38H, 39H HEX DB 04H DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS: DATA START: MOV AX, DATA 微机原理及接口技术习题及答案 15 MOV DS, AX MOV BX,OFFSET ASCII MOV AL,HEX AND AL,0FH MOV AL,[BX+AL] MOV DL,AL MOV AH,2 INT 21H MOV AH,4CH INT 21H CODE ENDS END START 解:这时一个查表程序,查表取出 HEX 的 ASCII。 并在屏幕上显示 ASCII 码 11. 某数据区 中有 100 个小写字母,编程把它们转换成大写字母,并 在 屏幕 上 显示。 解: DATA SEGMENT BUFFER DB 100(?) DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA START: MOV AX,DATA MOV DS,AX MOV CX,100 MOV SI,OFFSET BUFFER NEXT: MOV AL,[SI] INC SI CMP AL,61H。 是小写字母吗 ? JB GOON。 否 , 转移到 GOON(小于则转移) SUB AL,20H MOV DL,AL MOV AH,2 INT 21H GOON: LOOP NEXT MOV AH, 4CH INT 21H CODE ENDS END START 12. 子程序的参数传递有哪些方法。 解: 主程序在调用子程序时,要为子程序预置数据,在子程序返回时给出数据处理的结果,这称为 数据传送或变量传送。 方法主要有以下几种: ① 寄存器传送。 微机原理及接口技术习题及答案 16 ② 地址表传送,需要传送的参数较多时可以利用存储单元传送。 在调用子程序前,把所有参数依次送入地址表,然后将地址表的首地址作为子程序入口参数传递给子程序。 ③ 堆栈传送,这种方式要审慎注意堆栈的变化情况。 13. 过程定义的一般格式是什么。 子程序开始处为什么常用 PUSH 指令。 返回前用POP 指令。 解: 格式见 P90, 如果一个子程序被多次调用,保护与恢复(主程序)现场就非常重要。 主程序每次调用子程序时,主程序的现场不会相同,保护与恢复现场的工作就只能在子 程序中进行。 原则上,在子程序中,首先把子程序中要用到的寄存器、存储单元、状态标志等压入堆栈或存入特定空间中,然后子程序才可以使用它们,使用完后再将它们弹出堆栈或从特定空间中取出,恢复它们原来的值,即恢复主程序现场。 保护和恢复现场常使用PUSH 和 POP 指令。 14. 阅读下面程序段,指出它的功能。 DATA SEGMENT STRING DB ‘ Exxperience„’ LENG DW 100 KEY DB ‘ x’ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA MAIN PROC FAR START: MOV AX, DATA MOV DS, AX MOV ES, AX LEA BX, STRING ;字符串地址 BX LEA CX, LENG ;字符串长 CX PUSH BX PUSH CX MOV AL, KEY CALL DELCHAR MOV AH, 4CH INT21H MAIN ENDP DELCHAR PROC PUSH BP MOV BP, SP PUSH SI PUSH DI CLD MOV SI, [BP+4] MOV CX, [SI] MOV DI, [BP+6] REPNE SCASB DI DI+ SI+ SPBP BP BP+ IP IP+ [BP+4]SI CL CH [BP+6]DI BL BH 微机原理及接口技术习题及答案 17 JNE DONE MOV SI, [BP+4] DEC WORD PTR[SI] MOV SI, DI DEC DI REP MOVSB DONE: POP DI POP SI POP BP RET DELCHAR ENDP CODE ENDS END START 解:从字符串中删去多余的 ‘ X’ 字符。 15. 显示两位压缩 BCD 码值( 0~99),要求不显示前导 0。 解: DATA SEGMENT BUF DB ?。 内存中的两位压缩 BCD 码 DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA START: MOV AX,DATA MOV DS,AX MOV AL, BUF MOV BL,AL NEXT: MOV CL,4 SHR AL, CL AND AL,0FH CMP AL,0 JZ GOON ADD AL,30H。 显示高位 BCD 码 MOV DL,AL MOV AH,2 INT 21H GOON: MOV AL,BL AND AL,0FH ADD AL,30H。 显示低位 BCD 码 MOV DL,AL MOV AH,2 INT 21H MOV AH, 4CH INT 21H CODE ENDS END START 微机原理及接口技术习题及答案 18 16. 某数据区中连续存放着 100 个整数,要求将其中为 0 的元素删除,并将保留的数据连续存放。 解: DATA SEGMENT STRING DB 100(?) LENG DW 100 KEY DB 0 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA MAIN PROC FAR START: MOV AX, DATA MOV DS, AX MOV ES, AX LEA BX, STRING LEA CX, LENG PUSH BX PUSH CX MOV AL, KEY CALL DELCHAR MOV AH, 4CH INT21H MAIN ENDP DELCHAR PROC PUSH BP MOV BP, SP PUSH SI PUSH DI。微机原理及接口技术-习题答案
相关推荐
三、最大值递增 1即为最小值,最小值递减 1即为最大值 4. 理解与应用:基本逻辑门及常用逻辑部件的真值表和符号 与门、或门、非门、与非门、或非门、异或门、 138 译码器 在使能端有效( G1 为高电平, G2A 和 G2B为低)时,对 3 个输入 CBA 进行译码,使 8个输出端之一有效(即为低电平),使能端无效时 ,译码器不工作, 8个输出端全部无效(即为高电平)。 第二章 一
NG3 DD ’ AB’,’ CD’ 在图 33( c)显示了它们存储器中的存放情况。 ④带 DUP 表达式: DUP 是定义重复数据操作符。 在表达式中,使用 DUP 操作符格式是: 4 1 H4 2 H4 3 H4 4 H4 5 H4 6 H4 2 H4 1 H4 4 H4 3 H4 6 H4 5 H4 2 H4 1 H0 0 H0 0 H4 4 H4 3 H0 0 H0 0 HS T R
子洗脱。 取 1ml 加入含 %聚山梨酯 80 的 9ml %无菌氯化钠溶液中,制成 101 的菌液,依法 10 倍稀释至 10~ 7,取,取菌悬液 1ml 注入平皿中,立即倾注 沙氏葡萄糖琼脂 培养基 25ml,各菌悬液平行制备两个平皿,平皿法培养计数,取 小于 100CFU/ml 和 1000CFU/ml的菌液备用。 需氧 菌、霉菌和 酵母菌计数方法 适用性试验 : 供试液制备: 取供试品
____ 2. 0D60H 3. 0FFFFH、 0000H、 0000H 4.接口部件 BIU、执行部件 EU 5.基本的输入 /输出、选通的输入 /输出、双向 6.指令周期、总线周期、时钟周期 7. NMI、 INTR 8.对端口的间接寻址方式、 255 9. AX , DX 一、单选题 1. 8086CPU 在执行 MOV AL, [BX]指令的总线周期内,若 BX 存放的内容为
020年第一学期 微机原理与接口技术考试试卷 (A) 专业 学号 姓名 成绩 一、填空题(共 20分) 1. 总线周期的含义是 ; 8086/8088 的基本总线 周期由 个时钟周期组成;如果 CPU 的时钟频率为 ,那么它的一个时钟周期为 ns,一个基本总线周期为 ns。 2. 8086 CPU 的 M/IO 信号是 ,高电平时表示。 3. 总线传输率是指;若某总线的工作频率最高 为 8MHz
667788991010111112121313141415151616D DC CB BA AT i t l eN um be r R e vi s i onS i z eA0D a t e : 2020 12 19 S he e t of F i l e : F : \ I nova t i on\ ..\ S T A R .S C H D O C D r a w n B y :AD012P