当前位置:首页 > 微型计算机及接口技术(04732) > 正文内容

分析下列程序段,请逐条注释程序段中的每条指令,并说明该段程序完成的功能。
LEABX,ARRAY
LEADI,RESULT
MOVCI,100
AGAIN:MOVAL,[BX]
TEST、AL,80H
JZNEXT
NEGAL
NEXT:MOV[DI],AL
INCBX
INCDI
DECCL
JNZAGAIN
HLT

高老师2年前 (2024-08-15)微型计算机及接口技术(04732)24

分析下列程序段,请逐条注释程序段中的每条指令,并说明该段程序完成的功能。
LEABX,ARRAY
LEADI,RESULT
MOVCI,100
AGAIN:MOVAL,[BX]
TEST、AL,80H
JZNEXT
NEGAL
NEXT:MOV[DI],AL
INCBX
INCDI
DECCL
JNZAGAIN
HLT

LEA BX,ARRAY ;将符号地址ARRAY的有效地址送BX LEA DI,RESULT ;让DI指向RESULT MOV CL,100 ;重复操作次数送CL AGAIN: MOV AL,[BX] ;取出BX所指的单元内容送AL TEST AL,80H ;测试最高位是否为“1”(测试数符) JZ NEXT ;不为“1”(即为“正”)转走 NEG AL ;对负数求负操作(即求相反数) NEXT: MOV [DI],AL ;保存结果 INC BX ;BX增1,指向下一个待处理的字节数据 INC DI ;DI增1,为下一次数据保存作准备 DEC CL ;重复次数减1 JNZ AGAIN ;ZF=0(要处理的数据没处理完),转AGAIN执行 HLT ;CPU进入暂停状态 该段程序完成的功能是:对一批带符号字节数据取绝对值。 程序运行前,数据段从ARRAY开始存放100个带符号字节数据。程序执行后,从ARRAY开始存放的1 00个带符号字节数据没有变化,但是从RESULT开始也存放着1 00 个字节数据,内容依次是存放在ARRAY的1 00个带符号字节数据的绝对值。

扫描二维码免费使用微信小程序搜题/刷题/查看解析。

版权声明:本文由翰林刷题小程序授权发布,如需转载请注明出处。

本文链接:https://doc.20230611.cn/post/949087.html

分享给朋友: