Assembly IBM 360中CLI指令的格式

Assembly IBM 360中CLI指令的格式,assembly,mainframe,Assembly,Mainframe,我有一条指令CLI=F'3',3 我想知道它是将值3与寄存器3的内容进行比较,还是将值3与其他值“3”进行比较。 请帮帮我。关于IBM360,您想知道的一切都在这里: 汇编语言解释如下: CLI表示逻辑比较立即。 因此,您应该知道您是在与立即数进行比较,而不是与寄存器的内容进行比较 以下是该手册的相关章节: 请注意,您使用的是隐式操作数版本,因此相关列是5,而不是4。 S1是存储寄存器。 I2是与之比较的立即值S1 因此,答案是方案A: 它将值3与寄存器3的内容进行比较 看 关于IBM360

我有一条指令
CLI=F'3',3
我想知道它是将值3与寄存器3的内容进行比较,还是将值3与其他值“3”进行比较。
请帮帮我。

关于IBM360,您想知道的一切都在这里:

汇编语言解释如下:

CLI
表示逻辑比较立即。
因此,您应该知道您是在与立即数进行比较,而不是与寄存器的内容进行比较

以下是该手册的相关章节:

请注意,您使用的是隐式操作数版本,因此相关列是5,而不是4。
S1是存储寄存器。
I2是与之比较的立即值
S1

因此,答案是方案A:

它将值3与寄存器3的内容进行比较


关于IBM360,您想知道的一切都在这里:

汇编语言解释如下:

CLI
表示逻辑比较立即。
因此,您应该知道您是在与立即数进行比较,而不是与寄存器的内容进行比较

以下是该手册的相关章节:

请注意,您使用的是隐式操作数版本,因此相关列是5,而不是4。
S1是存储寄存器。
I2是与之比较的立即值
S1

因此,答案是方案A:

它将值3与寄存器3的内容进行比较


CLI=F'3',3
将比较文字F'3'的第一个字节与X'03'的值


由于文本F'3'的第一个字节将是X'00',因此这些值将比较相等。F'3'生成带前导二进制零的全字(四字节)值3,即X'00000003'在全字边界上对齐

CLI=F'3',3
将比较文字F'3'的第一个字节与X'03'的值


由于文本F'3'的第一个字节将是X'00',因此这些值将比较相等。F'3'生成带前导二进制零的全字(四字节)值3,即X'00000003'在全字边界上对齐

你看过《操作原理》说明的文件了吗?你看过《操作原理》说明的文件了吗?你确定吗?将R3与F'3进行比较的CLI不应该是:CLI R3,F'3'-I指令(CLI,MVI)不使用文本作为其操作数。但是一个完整的单词(F'3')太长了,所以不起作用。遗憾的是,正如史蒂夫·艾夫斯所说,这个答案是不正确的。给定的CLI指令将比较文本的第一个字节(即零)与X'03正如下面的答案所解释的。PS:史蒂夫·艾夫斯评论的第一部分也是不正确的。如果您想将寄存器中的单个字节与立即数值进行比较,那么像CLM这样的指令是您的朋友,而不是CLI。您确定吗?将R3与F'3进行比较的CLI不应该是:CLI R3,F'3'-I指令(CLI,MVI)不使用文本作为其操作数。但是一个完整的单词(F'3')太长了,所以不起作用。遗憾的是,正如史蒂夫·艾夫斯所说,这个答案是不正确的。给定的CLI指令会将文本的第一个字节(可能是零)与下面的答案中解释的X'03“进行比较。PS:Steve Ives注释的第一部分也不正确。如果要将寄存器中的单个字节与立即值进行比较,像CLM这样的指令是您的朋友,而不是CLI。