Assembly 确定数字是否为负数(使用类似于URM机器的语言)

Assembly 确定数字是否为负数(使用类似于URM机器的语言),assembly,computation-theory,Assembly,Computation Theory,所以我正在学习用汇编语言为一台抽象机器编程,它非常类似于一台计算机。 URM机器有3个基本说明或某些文献中的4个: 将寄存器归零:Zr 递增寄存器:Sr 如果寄存器r1和r2包含相同的值:Jr1、r2、l,则跳转到行或标签 现在,我的抽象机器更弱了,因为它只跳过寄存器和文本0之间的比较。 为了进行补偿,它允许向寄存器分配任何值,而不是像在URM和基本算术运算中那样仅为零。 这两台机器都允许无限数量的寄存器 我能够编写一个程序,成功地比较两个正数并返回最大值。 现在我想让我的程序也能接收负数 我的

所以我正在学习用汇编语言为一台抽象机器编程,它非常类似于一台计算机。 URM机器有3个基本说明或某些文献中的4个: 将寄存器归零:Zr 递增寄存器:Sr 如果寄存器r1和r2包含相同的值:Jr1、r2、l,则跳转到行或标签 现在,我的抽象机器更弱了,因为它只跳过寄存器和文本0之间的比较。 为了进行补偿,它允许向寄存器分配任何值,而不是像在URM和基本算术运算中那样仅为零。 这两台机器都允许无限数量的寄存器

我能够编写一个程序,成功地比较两个正数并返回最大值。 现在我想让我的程序也能接收负数

我的问题是:如何检查数字是否为负数?仅凭这些指导就有可能吗

我承认我不太擅长这种低级语言

我的最大程序如下:输入在r1和r2上,输出在r3上

maximo(){
    r5 := r1 - r3    
    jump (r5,0,maxr2)

    r5 := r2 - r4
    jump (r5,0,maxr1)


    r3 := r3 + 1
    r4 := r4 + 1
    jump (r1,r1,maximo)
}

maxr1(){
    r3 := r1 
}

maxr2(){
    r3 := r2 
}
谢谢大家!

继续回答这个问题:

初始化x←v和y←−v然后平行增加x和y,直到其中一个等于0

通过

继续回答以下问题:

初始化x←v和y←−v然后平行增加x和y,直到其中一个等于0