汇编语言题目.docVIP

  • 3
  • 0
  • 约小于1千字
  • 约 1页
  • 2022-10-13 发布于湖南
  • 举报
MOVDI,OFFSETBUFFMOVCX,000AHMOVBL,0GOON:MOVAL,[DI]ANDAL,ALJNZNEXTINCBLNEXT:INCDILOOPGOONHLTBUFFDB23H,54H,00H,83H,98H,36H,00H,49H,00H,73H求程序的详细解释。 MOV DI,OFFSET BUFF 取数组BUFF的首地址到DI寄存器中 MOV CX,000AH 设定循环次数 MOV BL,0 做计数器用,用来记录数组BUFF中为0的字节的个数,赋初值为0 GOON:MOV AL,byte ptr [DI] 将数组的BUFF的一个字节的数据放进AL寄存器中 AND AL,AL AL中的数据与AL中的数据做与运算,用来作为下一条跳转指令的跳转条件 JNZ NEXT 上一条指令运算不为0就跳转到标号NEXT处 INC BL 若 and al,al 这条指令的运算结果为0,bl寄存器就加1 NEXT:INC DI dl加1,dl最开始是数组BUFF的首地址,加1相当于指向下一个字节 LOOP GOON CX先减1,判断CX是否为0,若为0就跳出循环,不为0就循环,循环从标号GOON处开始 HLT 停机 BUFF DB 23H,54H,00H,83H,98H,36H,00H,49H,00H,73H 这段汇编代码的作用是判断单元大小为一字节的数组BUFF中有多少

文档评论(0)

1亿VIP精品文档

相关文档