所以我正在尝试用HLA编写的程序应该可以完成推算:我输入一个数字,它就会给出一个数字模式。模式应该显示从1到该数字的所有奇数,然后是从2到该数字的所有偶数。下面是我的代码:
program boxit;
#include ("stdlib.hhf");
static iDatavalue : int8 := 0 ;
Begin boxit;
stdout.put("Gimme a decimal value to use as n: ");
stdin.get(iDatavalue);
mov(iDatavalue, BH);
DoWhileLp:
DoWhileLpBody:
ForLp:
InitializeForLp:
mov(BH, CH);
ForLpTerminationTest:
cmp(CH, 0);
jnl ForLpDone;
ForLpBody:
stdout.put("I = ", CH, nl);
ForLpIncrement:
dec(CH);
jmp ForLpTerminationTest;
ForLpDone:
dec(CH);
DoWhileLpTermination:
cmp(CH, 0);
jbe DoWhileLpDone;
jmp DoWhileLpBody;
DoWhileLpDone:
stdout.puti8(BH);
end boxit;然而,这是一个无限循环,我不确定如何解决这个问题。
我非常感谢任何人和所有的帮助!
发布于 2020-12-16 23:47:54
环境
高级汇编程序-硬件后端,LD链接器)版本2.16 build 4409 (prototype)
笔记
的良好起点
示例
program Boxit;
#include ("stdlib.hhf");
begin Boxit;
stdout.put("Gimme a decimal value to use as n: ");
stdin.geti32();
for ( xor(EBX, EBX); EBX <= EAX; add(2, EBX) ) do
stdout.puti32(EBX);
stdout.put(", ");
endfor;
stdout.newln();
for ( mov(1, EBX); EBX <= EAX; add(2, EBX) ) do
stdout.puti32(EBX);
stdout.put(", ");
endfor;
end Boxit;https://stackoverflow.com/questions/62962537
复制相似问题