云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 微机原理与接口技术复习题1-5(答案)

微机原理与接口技术复习题1-5(答案)

  • 62 次阅读
  • 3 次下载
  • 2025/6/7 8:59:26

DATA SEGMENT

DA1 DW 2437H, 14A2H DA2 DB ‘ABCD’ DA3 DB 10 DUP(?) DATA ENDS

(1) MOV BX, DA1 ; (BX)= 2437H (2) MOV SI, OFFSET DA1 ; (SI)= 0000H (3) MOV AL, TYPE DA1 ; (AL)= 2 (4) MOV AL, [DA2+02H] ; (AL)= 43H (5) MOV AL, LENGTH DA3 ; (AL)= 10 (6) MOV AL, SIZE DA3 ; (AL)= 10

9. 程序中数据段定义的数据如下: DATA SEGMENT

NAMES DB ‘GOOD MORNING’

DW 2050H, 78H, 3080H

DATA ENDS

请指出下列指令系列执行后累加器中的结果是多少? (1) MOV BX, OFFSET NAMES

MOV AL, [BX+03H] (2) MOV BX, 12

MOV SI, 3

MOV AX, NAMES [BX+SI] (3) MOV BX, 12

MOV SI, 3

LEA AX, NAMES [BX+SI] 答: (1)(AL)=44H (2)(AX)=0078H (3)(AX)=000FH

复习题3

10. 试分析下列两个程序段执行的功能

(1) CLD ;方向标志置为加1 LEA DI, [0406H] ;(DI)=0406H MOV CX, 0010H ; 设置循环次数为16次 XOR AX, AX ;AX清零 REP STOW ;循环传送AX的值到DI所指向的内存空间

(2) CLD ;方向标志置为加1 MOV CX, 10 ; 设置循环次数为10次 LEA SI, FIRST ;把FIRST数据区的首地址?SI LEA DI, SECOND ;把SECOND数据区的首地址?DI

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

搜索更多关于: 微机原理与接口技术复习题1-5(答案) 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

DATA SEGMENT DA1 DW 2437H, 14A2H DA2 DB ‘ABCD’ DA3 DB 10 DUP(?) DATA ENDS (1) MOV BX, DA1 ; (BX)= 2437H (2) MOV SI, OFFSET DA1 ; (SI)= 0000H (3) MOV AL, TYPE DA1 ; (AL)= 2 (4) MOV AL, [DA2+02H] ; (AL)= 43H (5) MOV AL, LENGTH DA3 ; (AL)= 10 (6) MOV AL, SIZE DA3

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com