Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 获得;a「;代替汇编语言中的空白_Assembly_Character_Ascii - Fatal编程技术网

Assembly 获得;a「;代替汇编语言中的空白

Assembly 获得;a「;代替汇编语言中的空白,assembly,character,ascii,Assembly,Character,Ascii,我正在写一个字母大写的代码。程序就像一个符咒,但当它出现在字符串中的空白处时,程序会插入“a”,而不是空白。我试图使用ascii码32插入一个空格。下面是把程序搞乱的代码块 WhiteSpace2: sb $t1,New($t0) addi $t0,$t0,1 j Small $t1包含空格的ascii值 $t0是字符串中字节的偏移量 新的是字符串标签 这个程序是用汇编语言编写的。有人告诉我为什么我得到的是“a”而不是空格 关于我真的看不出您试图在代码中实现什么 要制作一个大写的程序,您必

我正在写一个字母大写的代码。程序就像一个符咒,但当它出现在字符串中的空白处时,程序会插入“a”,而不是空白。我试图使用ascii码32插入一个空格。下面是把程序搞乱的代码块

WhiteSpace2:
sb $t1,New($t0)
addi $t0,$t0,1
j Small
  • $t1包含空格的ascii值
  • $t0是字符串中字节的偏移量
  • 新的是字符串标签
这个程序是用汇编语言编写的。有人告诉我为什么我得到的是“a”而不是空格


关于

我真的看不出您试图在代码中实现什么


要制作一个大写的程序,您必须查看字符是否在asci'a'和'z'之间,如果是,则减去一个常量值(如果我记得是32)。对于任何其他字符,只需复制即可。

此标记是否正确?我不知道x86上有任何这样的操作码。我当然不认为有任何三个操作数版本的加法。@DirkHolsopple这个加法,取第二个和第三个操作数,求和写入第一个操作数op@coolbartek我知道三个操作数操作码是如何工作的,但我正在看一本英特尔手册,没有看到addi操作码。当我看问题时,它被标记为x86。@DirkHolsopple我写评论时没有看到x86的标记,对此表示抱歉