Assembly 如何在Pep9汇编中编写if语句?

Assembly 如何在Pep9汇编中编写if语句?,assembly,architecture,pep8-assembly,Assembly,Architecture,Pep8 Assembly,如何在Pep9汇编中编写if语句? 我想用Pep9汇编格式从C编写这个if语句 if ( (0 < weight) && (weight <= 1 ) ) { printf("Light Weight\n"); } else if((1 < weight) && (weight <= 3)){ printf("Medium Weight\n"); } if((0

如何在Pep9汇编中编写if语句? 我想用Pep9汇编格式从C编写这个if语句

if ( (0 < weight) && (weight <= 1 ) ) {
    printf("Light Weight\n");
}
else if((1 < weight) && (weight <= 3)){
    printf("Medium Weight\n");
}

if((0
你想做一个if-then-else-if-then语句

特别注意第一个if-then如何流入第二个if-then(通过else)

这里您将
cost1
数据放在第一个if和第二个if之间。处理器不会自动知道跳过执行流(控制流)中的数据。如果是我,我会重新定位所有数据(字符串等)最后,如果您希望将它们内联,则使用无条件分支围绕它们进行分支,如果需要,处理器会被告知跳过字符串

你的.EXT应该是代码的最后一个语句,而不是在中间。


如果这些都不起作用,那么向我们展示您的所有代码,而不仅仅是代码片段

if:   LDWA weight,s  ;if(0 < weight) 
      CPWA limit11,i
      BRLT msg1 
      LDWA weight,s  ;if(weight <= 1)
      CPWA limit12,i 
      BRGT msg1 
      STRO cost1,d  
   cost1: .ASCII "Low Weight\n\x00"    
   msg1: .END   
 
if:   LDWA weight,s  ;if(1 < weight) 
      CPWA limit21,i 
      BRLT msg2
      LDWA weight,s  ;if(weight <= 3)
      CPWA limit22,i  
      BRGT msg2 
      STRO cost2,d  
   cost2: .ASCII "Medium Weight