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

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

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

  • 62 次阅读
  • 3 次下载
  • 2025/6/7 8:58:27

(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

LOP: ADD AL, [BX] INC BX LOOP LOP MOV SUM, AL

;------------------------------------------------------------------------------------

CSEG ENDS END START

16. 编制一个数据块移动程序,要求完成如下任务:

(1)给内存数据段(DATA) 中偏移地址为01 开始的连续32 个字节单元置入数据OOH , 01H , 02H ,?, 1FH 。

(2)将内存数据段(DATA) 中偏移地址为01 的数据传送到偏移地址为n2开始的连续的 内存单元中去。

解答:

(1)分析:这个题目需要对32 个单元进行相同的操作,但是每次参加操作的数据不同。 程序结构: 本程序结构应该选择循环结构。

数据定义: 该程序只需要从n1 开始保留32 个字节单元。每个单元中要置人的数据是有

规律变化的数据,可以在程序中生成。

处理方法: 做好循环初始化工作,在循环次数控制下完成任务。

循环的初始化部分完成:

① 将n1 的偏移地址置入变址寄存器SI( 或者BX , BP , DI 都可以) ,这里的变

址寄存器作地址指针用。

② 待传送数据的起始值OOH 送AL。

③ 循环计数值32( 或20H) 送计数寄存器CX 。

循环体中完成:

③ AL 中内容送地址指针所指单元。

⑤ AL 加1 送AL; 依次得到01H , 02H , 03H ,?, 1FH 。 ⑤ 地址指针加1 ,指向下一个地址单元。

循环结束判断:

⑦计数器 CX-l→CX

⑧若CX≠0 ,继续循环;否则结束循环。

程序流程图如图所示:

汇编语言程序如下:

DSEG SEGMENT

Nl DB 20H DUP(?) DSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG, DS:DSEG START:MOV AX,DSEG

MOV DS,AX ;数据段地址?DS

;-----------------请从这里补充代码,完成整个程序-------------------------

MOV SI, OFFSET N1 MOV AL, 00H MOV CX, 32

LOP: MOV [SI], AL INC AL INC SI DEC CX JNZ LOP

;------------------------------------------------------------------------------------

CSEG ENDS END START

(2)分析: 这个问题是数据块移动问题。

程序结构: 可选择循环结构或串传送指令来处理,如选择串传送指令(MOVSB指令)。

数据定义: 要定义源串和目的串。源串是如(1)中所设置的数据,目的串要保留相应长

度的空间。源串的数据的置入可使用loop循环来完成。

处理方法: MOVSB 指令是字节传送指令。它要求事先将摞串的首偏移地址送S1 ,

段地址为DS ,目的串的首偏移地址送DI ,段地址为ES ,串长度送CX 寄存器中,并设置方向标志DF 。

编写程序: 根据数据定义和处理方法编写摞程序C 汇编语言源程序清单如下:

DSEG SEGMENT

N1 DB 20H DUP(?) ;源数据串区域定义。 N2 DB 20H DUP(?) ;目的数据串区域定义。 DSEG ENDS . ,

CSEG SEGMENT

ASSUME CS: CSEG , DS:DSEG, ES:DSEG START: MOV BX, DSEG

MOV DS,BX ;源数据区域的段地址?DS MOV ES,BX ;目的数据区域的段地址→ES

;--------在源数据区N1中置入从00H开始的32 个字节数据------------

MOV SI, OFFSET N1 MOV AL, 00H MOV CX, 32

LOP: MOV [SI], AL

INC SI INC AL LOOP LOP

;------------将源数据区N1的数据传送到目的数据区N2去------------- MOV SI, OFFSET N1 MOV DI, OFFSET N2 CLD MOV CX, 32 REP MOVSB

;------------------------------------------------------------------------------ CSEG ENDS END START

17. 给定符号函数

1, X > 0 Y= 0, X = 0 -1, X < 0

设任意给定的X存放在DATAX 单元,计算出函数Y值,要求存放在DATAY 单元中。

解答:

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

共分享92篇相关文档

文档简介:

(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 ;字节数长度单元 <

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价: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