【问题标题】:Assembly output of the register寄存器的汇编输出
【发布时间】:2015-11-22 11:15:31
【问题描述】:

如何获得寄存器的输出: 如果我们假设CX=5,AX=0,DX=10,BX=0

一个。

Not CX

Cmp CX,DX

JL jump1

Mov BX,1

Jmp skip1

Jump1:

Mov ax,10

Skip1:

Ret 

以十六进制执行后:ax=? BX=? ,CX=?

B.

Org 100h

Mov CX,9

Mov AL,2H

Camp AL,05H

JB label1

Sub AL,03H

Jmp exit 

Label1:

Mov CX,3

Exit:

Ret 

以十六进制执行后:AL=? ,CX=?

C.

Org 100h

Mov BX,20H

Mov AL,0FFH  ;CF=0

Add AL,1

JC label1

Mov BX,6

Label1:

Mov BX,7

Exit:

Ret

以十六进制执行后:AL=? BX=?

请大家解释一下

【问题讨论】:

  • 不,您自己尝试一下。
  • 我们不会为你做功课。
  • 自己手动或使用Bochs等仿真工具模拟指令的执行。
  • 从你旁边的学生那里窃取答案。

标签: assembly x86


【解决方案1】:

用表格形式写下来,然后填空:

            AX=0    BX=0    CX=5    DX=10
-----------------------------------------
Not CX      0       0       -6      10     Not inverses the bits of CX

Cmp CX,DX   0       0       -6      10     -6 is less than 10 ...

JL jump1    0       0       -6      10     ... so this jump is taken!

Mov BX,1

Jmp skip1

Jump1:

Mov ax,10

Skip1:

逐个列出这些列表,然后用十六进制写下结果。

如果某些个别说明给您带来困扰,请向我们咨询。

【讨论】:

    【解决方案2】:

    Bochs 对模拟很有用。

    使用方法:

    1. 组装源调整并添加一些魅力以与NASM一起运行。

    代码:

    bits 16
    head:
    
    not cx
    cmp cx, ax
    jl jump1
    mov bx, 1
    jmp skip1
    jump1:
    mov ax, 10
    skip1:
    ret
    
    ; to make this image bootable
    times 510-($-head) db 0
    db 0x55
    db 0xaa
    
    1. 拉努奇·博克斯。使用启用调试的版本,例如 bochsdbg-win64.exe
    2. 像这样设置Disk & Boot(其他选项卡是默认值):
      First floppy image/device 应该是第 1 步组装的图像。
    3. Memory设置中正确设置ROM BIOS imageVGA BIOS image。 如果文件BIOS-bochs-latestVGABIOS-lgpl-latest在工作目录下,直接输入(去掉(null)/
    4. Start 按钮开始模拟。
    5. 输入lb 0x7c00(在线性地址0x7c00设置断点)然后c(继续)到控制台跳过BIOS初始化并在用户代码的开头跳转和停止。
    6. 使用set 命令设置寄存器的值。

    说:

    set cx = 5
    set ax = 0
    set dx = 10
    set bx = 0
    
    1. reg 命令可用于查看寄存器的值。
      s 命令可用于执行一条指令。
      使用它们来观察程序的作用。

    第一个程序的示例结果:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-25
      • 1970-01-01
      • 2016-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-29
      相关资源
      最近更新 更多