微机原理及接口技术-习题答案精品内容摘要:
对源程序汇编等。 源程序汇编后指示性语句不生成目标代码,所以常被称为伪指令。 指令性语句 指令性语句是可执行语句,是 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 D。微机原理及接口技术-习题答案精品
相关推荐
计时 判断是否到时 有人抢答 判断是第几组抢答并由数码管显示 扬声器发声 2 秒 按下任意键 结 束 DATA SEGMENT TAB DB 60H,0CAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV DX,M8255M。
一次数据传送。 CPU 在读操作总线周期的 T3 状态开始处,采样 READY 信号,若发现为低电平,则在 T1 状态结束后,插入等待状态 TW,然后在 TW 开始处,继续采样 READY信号,直至变为有效(高电平),才进入 T4 状态,完成数据传送,以结束总线周期。 ( 6) /TEST(输入) 为检测信号,低电平有效。 本信号由等待指令 WAIT 来检查, /TEST 信号和WAIT
,注重延续性 汉堡、柏林两座城市给人的印象是井然有序、空间布局合理、建筑风格和谐、生态环境良好、市容环境整洁,无论是古典建筑还是现代建筑,都能互相辉映,美轮美奂,这源于德国高度重视城市规划的编制工作,有一套科学而严谨的规划编制机制。 德国实行联邦 州 地方政府三级规划,联邦政府只负责规划 21 政策的引导以及法律 的颁布与修订,是原则性、指导性的工作。 州、地方政府遵照相关法律和各自职责
液晶显示的原理是利用液晶的物理特性,通过电压对显示区域进行控制,只要输入所需的控制电压,就可以显示出字符。 LCD 能够现实字符的关键在于其控制器,目前大部分点阵型 LCD 都使用日立公司的 HD44780 集成电路做为控制器。 HD44780 是集 驱动器与控制器于一体,专用于字符显示的液晶显示控制驱动集成电路,它的特点如下: ( 1)显示缓冲区及用户定义区的字符发生器全部内藏在片内。 (
基亍全新于平台的桌面虚拟化 Windows Server 2020 Windows Server 2020 同旪为管理员呾用户改迕了迖程桌面服务: • 迖 程桌面服务提供了一系列的虚拟桌面戒虚拟会话功能,返些功能紧密地集成在一起,管理员能够轻松地通过使用新的、集中式的、统一的管理控制台呾吐导迕行配置呾管理。 • 迖程桌面服务的所有的功能都可通过会话呾虚拟机两种方式可用,提供了一致的用户体验。 •