汇编语言 - 将字符与XOR相结合

Mox*_*oxy 2 assembly masm xor irvine32

我正在编写一个程序,其中的要求如下:

有一个名为Name的字符串变量,它设置为您的全名,包括空格.
仅清除AL寄存器,而不是EAX寄存器的其余部分.
循环遍历Name变量中的每个字符.
使用XOR命令组合每个字符.
将最终的XOR结果存储在AL寄存器中.
在程序结束时包含DumpRegs命令.

我一直在努力使这一点正确并且一直试图使用本书中的例子,但是,我只是不断收到错误.这是我有的:

INCLUDE Irvine32.inc


.data

name BYTE "Joe Smith" , 0   ; 
temp BYTE SIZEOF name DUP(0)

.code
main PROC
    mov al,0
    mov esi,0
    mov ecx,SIZEOF name

Combine:
    xor al,name[esi]
    inc esi
    loop Combine

    Call DumpRegs

    exit            ; exit to operating system
main ENDP
END main
Run Code Online (Sandbox Code Playgroud)

我收到错误: 在此输入图像描述

Pau*_*l R 6

name是一个保留符号 - 将其更改为其他内容,例如name_buff.

  • 也许这项任务最初是针对不同的汇编程序,或者教师可能不太了解他们应该对这个问题做多少.虽然每个人都容易犯错(当然除了我).;-) (2认同)