美文网首页
汇编: 检测点9.2-jcxz

汇编: 检测点9.2-jcxz

作者: cyh老崔 | 来源:发表于2020-09-28 17:40 被阅读0次

一. 题目

补全编程,利用jcxz 指令,实现在内存2000H段中查找第一个值为0的字节,找到
后,将它的偏移地址存储在dx中.

题目

二. 实现

分析: 遍历2000H段地址后的每一个字节, 并赋值给cx, 如果cx==0, 则会执行jcxz 标号处的指令

assume cs:code
code segment
start:
        mov ax, 2000h
        mov ds, ax
        mov bx, 0
    s:  mov cl, [bx]
        mov ch, 0h
        jcxz ok
        inc bx

        jmp short s
   ok:  mov dx, bx
        mov ax, 4c00h
        int 21h
code ends
end start

注: 因为要求查找字节, 所以用cl存放字节值, ch 置0

三. 验证

  1. 因为2000h:0处值为0, 不利于测试, 设置2000h:0 开始的三个值分别为1, 2, 3:

    设置值
    设置后的第一个为0的字节应为2000H:3
  2. 运行


    运行一
    运行二

此处可看到偏移地址为0003(bx) 处的值为0, 则cx==0, 则运行jcxz 之后的指令地址: 0011h


运行`0011h`处指令

相关文章

  • 汇编: 检测点9.2-jcxz

    一. 题目 补全编程,利用jcxz 指令,实现在内存2000H段中查找第一个值为0的字节,找到后,将它的偏移地址存...

  • [汇编语言] 检测点11.3

    一、 补全下面的程序,统计F000:0处32个字节中,大小[32, 128]的数据的个数。 解答 二、 补全下面的...

  • [汇编语言] 检测点11.4

    一、下面的程序执行后:(ax) = ? 解答 1、mov ax, 0 2、push ax 3、pops 4、mov...

  • [汇编语言] 检测点11.2

    一、写出下面每条指令执行后,ZF、PF、SF、CF、OF等标志位的值 答案:逐条分析 1、sub al, al 2...

  • [汇编语言] 检测点13.1

    一、在上面的内容中,我们用7ch 中断例程实现loop的功能,则上面的7ch 中断例程所能进行的最大转移位移是多少...

  • [汇编语言] 检测点13.2

    一、我们可以编程改变FFFF:0处的指令,使得CPU不去执行BIOS中的硬件系统检测和初始化程序。 答案 1、FF...

  • [汇编语言] 检测点10.5

    目录 1、下面的程序执行后,ax中的数值为多少? 2、下面的程序执行后,ax和bx中的数值为多少? 正文 1、下面...

  • 2021-02-20第8章汇编测试题目

    第8章汇编测试题目 共4道单选题目 【王爽-汇编语言】第八章检测题分析 _fcrane学习博客-CSDN博客 ht...

  • [001][汇编语言]检测点1.1 地址总线

    《汇编语言》检测点1.1 8421 16进制转二进制 需要知道简单的8421十六进制到二进制转换法,不然可能会看不...

  • <安全攻防之汇编基础>

    &关于汇编基础请点击 <汇编一> <汇编二> <汇编三> <汇编四> <汇编五> <汇编六> <汇编七> <汇编八...

网友评论

      本文标题:汇编: 检测点9.2-jcxz

      本文链接:https://www.haomeiwen.com/subject/eoxjuktx.html