【8086】中国电力出版社 微机原理实验与课程设计指导书 实验二 数据处理实验程序设计 答案

本文提供了一段8086微机原理实验中的数据处理程序,旨在在一个包含多个单字节数的内存缓冲区中查找特定数值。程序通过比较缓冲区数据与目标值,实现查找到特定数据时将地址存入AX,否则放入FF。程序在emu8086编译器上进行了调试,并提到了在其他仿真环境中可能出现的问题和解决方案。
摘要由CSDN通过智能技术生成

在标题所述书的P5页所示。

题目如下:

     设在内存缓冲区BUF+1单元开始,存放若干个单字节数,其数据长度在BUF单元,要求在这些数据中查找某个特定数据,若有把存放该字符的地址送入AX,否则把FF送入AX。完成相应的程序的编制,并进行调试验证结果。

    源程序代码如下:

DATA SEGMENT;数据段
BUF DB 8,22,33,12,-1,-50,-32,97,127;8是8个数字,后面的是几个数字
  A DB 127;a是那个要找的那个数字
DATA ENDS
CODE SEGMENT;代码段
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA  ;把DATA段给AX
      MOV DS,AX    ;把AX给DS段,初始化DS完成
      MOV CL,BUF   ;将BUF中存的数字的个数给CL
      MOV BX,OFFSET BUF+1 ;把BUF+1的偏移地址给BX
A1:   MOV AL,[BX]  ;把下一个数给AL
      CMP A,AL     ;将现在轮到的BUF内的数据,与A中所存的咱们要找的数据比较一下
      JZ  FIND     ;判断相等,则ZF为1找到目标数,跳进FIND区
      JMP COUNT    ;没找到额,进入循环计数程序,进入下一个数字
FIND: MOV AX,BX    ;把BX中存放的字符的地址给AX
      JMP FINISH   ;找到目标数,程序结束
COUNT:  INC  BX    ;循环程序处,将BX指向下一位数据
        LOOP A1    ;CX计数寄存器不为0则循

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值