ASM-创建过程[关闭]

2024-01-08

设置了阵列A和阵列B。 该过程将获取值 V 并返回该值是否存在于数组 B 中。 如果确实-将索引存储在P中,如果没有,则将-1存储在P中。 该程序应以以下数据开始:

ARR_B DB 100 DUP()
ARR_A DB 10 DUP ()
V DB ?
P DB ?

这是我们所做的:

TEST1 PROC
; Chek if the variable of V  found in ARR_B.
MOV SI,0
MOV DX,0
MOV Flag,0
MOV AL,1H
NEG AL
MOV CX,9H
GO:
    MOV DL,ARR_B[SI]
    CMP  V,DL
    JE X
    INC SI
    LOOP GO
    MOV  P,AL
    JMP END1
X:  MOV DX,SI
    MOV  P,DL
        INC FLAG
END1:   NOP
    RET
TEST1 endp

(以下选项中使用的标志)


您通常希望使用以下命令进行这样的搜索rep scasb:

test1 proc
    mov P, 0ffffh ; for now, assume it won't be found
    mov al, V                ; what we're going to look for
    mov di, offset array_b   ; where we're going to look
    mov cx, size array_b     ; how many items to search
    repnz scasb              ; do the search
    jnz done                 ; Z flag clear = not found
    sub di, offset array_b   ; found: compute offset into array_b
    mov P, di                ;        and save it
done:
    ret
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASM-创建过程[关闭] 的相关文章

随机推荐

  • 如何在 svg 路径中​​添加图像?

    我想将图像添加到 SVG 路径 我在某种程度上尝试过 但它是一个半生不熟的代码 并且图像没有采用正确的 SVG 形状 下面是该内容的 HTML div class top fold div class curve img div div
  • 使用 MySQL 空间数据获取 Google 地图上最近的地点

    我有一个数据库 其中包含商店列表以及每个商店的纬度和经度 因此 根据我输入的当前 纬度 经度 位置 我想获取某个半径 如 1 公里 5 公里等 内的项目列表 算法应该是什么 我需要算法本身的 PHP 代码 您只需要使用以下查询 例如 您输入
  • 使用 System.Text.Json 有条件地将对象序列化为单个字符串

    我正在用 C 开发 ActivityPub 实现 有时链接是像 url 链接一样的 字符串 有时链接是具有 Link 子类型的对象 链接 实体 我想知道如果一组特定条件为真 只需将一个字符串写入编写器 是否有可能使用 System Text
  • Symfony2 Capifony 部署 setfacl 缓存目录不允许操作

    我正在使用 Capifony 多阶段部署将我的 Symfony2 Web 应用程序部署到 AWS 上托管的 Ubuntu 计算机上的 Apache Web 服务器上 我有用户设置 set user ubuntu 以及缓存设置的可写目录 如下
  • VS 2012 IIS Express 8 - 无法启动 IIS Express Web 服务器

    我试图在 IIS Express 8 中运行 MVC 4 项目 因为这显然是 VS 2012 附带的 每次我尝试从 VS 运行它时 都会收到以下错误 无法启动 IIS Express Web 服务器 14 53 48 错误 无法初始化 OL
  • 如何在 Objective-C 中模拟受保护的属性和方法 [重复]

    这个问题在这里已经有答案了 可能的重复 Objective c 中的受保护方法 https stackoverflow com questions 3725857 protected methods in objective c 声明私有属
  • 为什么转换(unsigned long long)DBL_MAX(或FLT_MAX)也会导致FE_INEXACT的升高?

    代码 t1 c include
  • 在页面激活上启动工作流程,而无需激活 CQ5 中的页面

    每当内容作者在页面上单击 激活 时 我都需要调用工作流程 然后 工作流将向管理员发送通知 然后管理员继续激活该页面 让我更详细地解释一下 这有 2 部分 i 每当内容作者完成页面修改后 他就会继续单击 激活页面 来自 sidekick 或站
  • Rails - 部署中的失败路由

    我有一个应用程序 其路由文件中包含以下内容 namespace admin do ADMINISTRATIVE ROUTES ONLY root to gt home index resources comments do member d
  • PySpark:向数据框行元素添加新字段

    我有以下元素 a Row ts 1465326926253 myid u 1234567 mytype u good Row是Spark数据框架的Row类 我想追加一个新字段a 以便a看起来像 a Row ts 1465326926253
  • c#:与文件扩展名关联的图标

    在我的应用程序中 我创建扩展名为 mprj 的文件 如何为这种类型的文件分配图标 是否存在合适的 Net 方法 您需要修改注册表项 可以在此处找到如何使用 C 的代码片段 http mel green com 2009 04 c set f
  • 如何管理 std::list 元素作为引用?

    我有以下代码 struct Foo int var1 int var2 friend std ostream operator lt lt std ostream os const Foo s return os lt lt Foo lt
  • 防止 Spring MVC 控制器中的 XSS

    您好 在我的项目 Veracode 中报告了 XSS 问题 CWE ID 80 在我的请求处理程序方法中 RequestMapping value Update mvc public ResponseBody String execute
  • 为什么比较运算符从 C++ 20 的标准库容器中删除?

    我正在浏览参考参数 https en cppreference com w cpp container vector operator cmp看到了vector的比较操作已在 C 20 中删除 并且太空船运算符 lt gt 已被引入 对于许
  • mariadb 服务器:我无法使用“mysql.server stop”停止服务器

    操作系统 10 13 6 几年前我用 homebrew 安装了 mariadb 服务器 但我很少使用它 今天 我尝试使用以下命令启动 mariadb mysql server start 我遇到了很多错误 所以我做了 brew update
  • 初始化参考

    虽然我以为我明白了rvalue and lvalue对于 C 中的语义 我似乎一次又一次地陷入奇怪的例子中 这些例子向我证明我不知道蹲下 然而 有两个非常简单和基本的 我不明白它们是如何工作的 在我编译它们之前 我认为没有一个是可以的 在我
  • 在 shell 脚本中将带引号的参数传递给 C 程序

    我有一个 C 程序 main 它获取以下参数 abc d e f g 由于引用 总共有 4 个参数 我有一个文本文件 每行都有这 4 个参数 我制作了一个 shell 脚本来为每个参数运行 C 程序 bin bash while read
  • Bootstrap 网格拉/推行

    我有一个响应式引导网格 我希望根据设备宽度以不同的顺序显示它 sm 或更低 1 2 3 4 5 6 7 MD 或更高 2 4 6 1 3 5 7
  • Excel宏重复IF和Else

    我目前正在编写一个 Excel VBA 宏脚本 其中将对活动单元格进行简单的 TRUE 或 False 测试 我的问题是 直到列表末尾我才能使其正常工作 它只运行一次并结束程序 我需要这个 VB 脚本来执行 IF ELSE 测试 直到列表底
  • ASM-创建过程[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 设置了阵列A和阵列B 该过程将获取值