微机原理与接口技术复习题1-5(答案)(2)
REP MOVSB ;循环传送10次 答:(1)功能:将起始偏移地址为0406H的16个内存单元清零。
(2)功能:将FIRST数据区的10个数据拷贝到SECOND数据区中去
11. 阅读下列程序段,并说明程序的功能 LEA BX, ARRAY ; LEA DI, RESULT MOV CL, 4 AGAIN: MOV AL, [BX] TEST AL, 80H JZ NEXT XOR AL, 0FFH INC AL
NEXT: MOV [DI], AL INC BX INC DI DEC CL JNZ AGAIN
答:把ARRAY数据区里的四个字节取出来,判断是不是负数,如果是负数就把它变成正数,如果是正数就不处理,最后把这些数再存放到RESULT数据区里去。 注意:这里负数是按照补码来表示
12. 阅读下列程序,写出程序执行后的结果。
DATA SEGMENT AT 3000H
BLOCK DB 00H,12H,35H,64H,41H
DB 7FH,80H,0ABH,0EFH,5FH
VAL DB 00H DATA ENDS
COSEG SEGMENT
ASSUME CS:COSEG,DS:DATA START: MOV AX, DATA
MOV DS, AX
MOV BX, OFFSET BLOCK MOV AL, [BX] INC BX MOV CX,9 AGIN: CMP AL, [BX]
JG NEXT MOV AL, [BX] NEXT: INC BX
DEC CX JNZ AGIN MOV VAL, AL MOV AH, 4CH INT 21H
COSEG ENDS END START
结果: DS=_3000H____, (3000AH)=___00H___, BX=__09H______ 标志位:CF=__0______, [VAL]=__EFH______
13. 程序段如下 MOV CX, 0 LOP : AND AX, AX JZ STOP SAL AX, 1 JNC NOD INC CX NOD: JMP LOP STOP: HLT
问该程序段完成什么功能?
答:该程序完成对存放在AX中的二进制数的1位进行统计的功能
复习题4
14. 设a,b,c 均为无符号字节数据,编程计算y= (a + b) ×C 。
解答:
(1)分析: 由题设条件知a , b , c 均为无符号字节数据,那么a + b 则在无符号字数据范围内,求出(a + b) 之后,其结果与c 相乘得到最终结果。 (a + b) ×C 的结果在双字范围内。
(2)程序结构: 从分析可知这个题目应由顺序程序结构方法来编程。
(3)数据定义: 解决参加运算的数据和结果应如何存放的问题。参加运算的这三个数可以存放在一个变量开始的单元,也可以分别存放。 假设三个数据a , b , c 存放在数据段偏移量num开始的单元,结果保存在数据段偏移量为y 的单元中, y 单元为预留的结果单元。
(4)处理方法: 程序处理时清零ax , bx ,设置数据指针,依次取出a , b 求其和,再将此和乘以c,最后将存放在DX和AX中的结果依次送到y单元中。 (5)编写程序: 根据处理方法和数据存放空间的分配编写源程序。
汇编语言源程序清单如下:
DSEG SEGMENT
a DB 200
b DB 238
c DB 196 ; 三个数据a,b,c y DW 2 DUP(?) DSEG ENDS ;
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG START:
; --------请在这里加入语句,完成数据段初始化--------------- MOV AX, DSEG MOV DS, AX
; ------------使AX,BX 清零--------------- XOR AX, AX MOV BX, AX
;--------------完成(a + b) ×C --------- MOV AL, a MOV BL, b ADD AX, BX MOV BL, c MUL BX
; -----------将运算结果存到y单元中--------------------- MOV DI, OFFSET y MOV [DI], AX MOV [DI+2], DX
; ----------------------------------------------------------- CSEG ENDS END START
15. 编程计算无符号字节数之和。 无符号字节数的长度及其所求的和都存放在存储器的数据段中。无符号字节数串从NUM 单元开始存放,长度存放在COUNT 单元,和存放在SUM 单元。假设和数小于256 。
解答:
分析: 由题目可知,要求将多个无符号字节数加起来,主要任务是做\加法\,关键指令是“加法指令”,由于一条加法指令每次只能完成两个数据的加法运算,因此,要多次使用加法指令,首先把第1、第2个数相加,其和再与第3个数相加。。,依次完成n 个数的加法。 程序结构: 从以上分析可知该程序应采用循环结构。
数据定义: 要存储的数据有字节长度、字节数及其结果。字节数长度(count)定义为字单元,待加的无符号数(num))定义为字节单元,连续存放COUNT 个无符号字节数,结果(sum)定义为字节单元。
处理方法: 做好循环初始化工作,在循环次数控制下完成任务。 ?循环的初始化部分完成:
(1) 和数寄存器AX 清零: 0→AX
(2) 设置这串数的长度CX: (COUNT)→CX
(3) 设置这串数的数据首地址BX: OFFSET NUM ? BX
?循环体中应完成:
(4) 把一个数据与和数相加,结果存放在和数寄存器AL 中: AL+ [BX] ?AL (5) 修改数据指针: BX+ 1? BX
?循环结束判断:
(6) 加法结束了吗? (CX-1? CX , CX=0?)
若没有,则循环转向(4); 若已经完成,则转结束处理(7): (7) 结果→SUM 单元; (8) 程序结束。 程序流程图如图5.19 所示。
程序清单如下: DSEG SEGMENT
COUNT EQU 6 ;字节数长度单元
NUM DB 03H, 07H, 11H, 02H, 30H, 19H ;待加字节数(6 个字节)
SUM DB ? ;预留1个字节单元存放结果 DSEG ENDS
CSEG SEGMENT
ASSUME CS: CSEG, DS: DSEG START:MOV AX, DSEG
MOV DS, AX ;数据段初始化
;-----------------请从这里补充代码,完成整个程序-------------------------
XOR AL, AL
MOV BX, OFFSET NUM MOV CX, COUNT …… 此处隐藏:1096字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [高等教育]公司协助某村精准扶贫工作总结.doc
- [高等教育]高二生物知识点总结(全)
- [高等教育]苏教版数学三年级下册《解决问题的策略
- [高等教育]仪器分析课程学习心得
- [高等教育]2017年五邑大学数学与计算科学学院333
- [高等教育]人教版七年级下册语文第四单元测试题(
- [高等教育]2018年秋七年级英语上册Unit7Howmuchar
- [高等教育]2017年八年级下数学教学工作小结
- [高等教育]湖南省怀化市2019届高三统一模拟考试(
- [高等教育]四年级下册科学_基础训练及答案教材
- [高等教育]城郊煤矿西风井管路伸缩器更换施工安全
- [高等教育]昆八中20182019学年度上学期期末考试
- [高等教育]项目部各类人员任命书
- [高等教育]上市公司经营水务产业的模式
- [高等教育]人教版高二化学第一学期第三章水溶液中
- [高等教育]【中考物理第一轮复习资料】四.压强与
- [高等教育]金坑水电站报废改建工程机电设备更新改
- [高等教育]高中生物教学工作计划简易版
- [高等教育]2017年西华大学攀枝花学院(联合办学)44
- [高等教育]最新整理超短爆笑英文小笑话大全
- 优秀教师继续教育学习心得体会
- 阳历到阴历的转换
- 留守儿童教育案例分析
- 华师17春秋学期《玩教具制作与环境布置
- 测速传感器新型安装装置的现场应用
- 人教版小学数学三年级下册第四单元
- 创业个人意向书
- 山东省潍坊市2012年高考仿真试题(三)
- [恒心][好卷速递]四川省成都外国语学校
- 多少人错把好转反应当成了病情加重处理
- 中外广播电视史复习资料整理
- 江苏省扬州市江都区宜陵镇中学2014-201
- 工程造价专业毕业实习报告
- 广西师范学院心理与教育统计
- aympkrq基于 - asp的博客网站设计与开
- 建筑业外出经营相关流程操作(营改增后
- 人治 德治 法治
- [精华篇]常识判断专项训练题库
- 中国共产党为什么要实行民主集中
- 小学数学第三册第一单元试卷(A、B、C




