问题标签 [hla]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
369 浏览

assembly - 有网络应用程序 HLA 汇编器吗?

HLA 是一种很容易安装在几乎任何平台上的语言,但我有一个朋友正试图在她没有管理权限的机器上学习它。我遇到了 NASM 的在线编译器(认识到“编译器”并不是严格意义上的正确词),我很好奇是否有人遇到过在线 HLA?

答案很可能是“不”,在这种情况下,NASM 将不得不这样做。所有建议表示赞赏。(无论如何,她希望在几个月内拥有一个 Raspberry Pi,或者至少是一台便宜的笔记本电脑。)

0 投票
2 回答
1690 浏览

assembly - Decimal to Binary in High Level Assembly (HLA)

I have this following assignment: Write an HLA Assembly program that prompts for an int8 value to inspect and then prints it in binary format. For example, here would be the program output for various entered values

Gimme a decimal value to print: 15 15 is 0000_1111 Gimme a decimal value to print: 7 7 is 0000_0111

(Hint: There is no standard output that prints in binary output, so you need to do this yourself. In order to accomplish this, you need to move a bit at time into the carry flag and print 0 or 1, depending on what you find in the Carry bit. Shift and repeat this procedure 8 times and you are done! Eventually, we will learn how to loop, making this task much less terrible.)

(Second Hint:LAHF pushes the Carry Bit and all the other flags out of the EFLAGS register and into AH. As an Assembly programmer, you have the power to mask out all the bits but the one you are interested in by using either AND or OR.) Here is what I have currently learned in the class: http://homepage.smc.edu/stahl_howard/cs17/FileManager/referenceguides/referenceguideii.htm My code is this so far, and I believe it is a logic error, because regardless of what number I put in I just get a string of 16 0's.

0 投票
1 回答
374 浏览

c - 将 C 转换为 HLA

我在将此 C 代码转换为 HLA 时遇到了一些麻烦,我想知道是否有人可以帮助我。我的代码的目的是重复提示用户输入十进制值。最后程序应该读出所有输入数字的总和。

0 投票
1 回答
643 浏览

assembly - 递归除法组装程序

我正在开发一个程序集,技术上是 HLA(高级程序集)程序。我需要将此 C 代码转换为汇编。这里是任务。编写实现以下功能的 HLA 汇编语言程序:

过程recursiveModulo(a:int32;b:int32);@无显示;@无框;

此函数应基于递归方法将 a % b 的值返回到 EAX 中。为简单起见,我们假设 a 和 b 都大于或等于零。通过使用递归,您将被迫操作运行时堆栈。您的解决方案基于以下公式:

这是提供的C代码:

这是我的 HLA 代码:

所以我的代码中正常工作的部分是第一个 if 块。对于第二个 if 块,如果 b = 1,结果应该为零,它只是简单地返回 1 而不是 0。对于第三个条件,如果 a 小于 b,我会遇到这个奇怪的问题,它适用于某些数字组合,但其他时候它只返回零。对于应该递归调用函数的else块,它只是简单地返回参数a。`

0 投票
1 回答
108 浏览

function - 识别参数是否不同或相同的汇编程序。

嗨,我正在处理一个装配,技术上是 HLA(高级装配)任务,我是一个需要帮助的错误。这是作业:
编写一个 HLA 汇编语言程序,该程序实现一个函数,该函数正确识别所有参数是否不同,根据是否满足此条件,在 EAX 中返回 0 或 1。此函数应具有以下签名:

程序allDifferent(x:int16;y:int16;z:int16);@无显示;@无框;

下面显示的是一个示例程序对话。

喂我 X:205
喂我 Y:170
喂我 Z:91
allDifferent 返回真!

Feed Me X: 0
Feed Me Y: 0
Feed Me Z: 0
allDifferent 返回 false!

喂我 X:121
喂我 Y:121
喂我 Z:121
allDifferent 返回 false!

这是我的代码。我的问题是,无论我输入什么数字,它总是返回“allDifferent 返回 false!” 谢谢你的帮助。

0 投票
0 回答
657 浏览

assembly - 表面积组装程序

我正在从事一项装配,技术上是 HLA(高级装配)任务。这是我的任务:


编写一个基于半径计算表面积的 HLA 汇编语言程序。示例程序对话框如下所示。不管你决定怎么做,你的主程序应该包括调用一个过程或函数(至少一个......)来解决这个问题。

让我计算一个球体的表面积!给我 r:1 表面积 = 12.57

让我计算一个球体的表面积!给我 r:3.5 表面积 = 153.94


这是我的代码:

所以我的问题在于我的 fld(4.0) 代码行。我要做的是将 4 乘以 pi,然后将结果乘以上面计算的 r 平方。我得到的错误是:

语法错误,意外的“.”。

感谢您的帮助。

0 投票
1 回答
1063 浏览

assembly - 大学费用计算器组装(HLA)程序

我正在写汇编,技术上是 HLA(高级汇编)并且在分配任务时遇到了麻烦。这是作业:


编写一个 HLA 汇编语言程序,计算圣莫尼卡学院的学生入学费用。(由于我们只知道如何处理整数运算,我们的程序会稍微不准确)。截至 2014 年秋季,居民的注册费为 46 美元/单元,所有其他人的注册费为 335 美元/单元。冬季或夏季的学生服务费为 48 美元,秋季或春季为 51 美元。停车贴的购买是可选的,秋季/春季价格为 85 美元,冬季/夏季价格为 45 美元。

注册费将根据用户输入的单个 8 位值输入。费用的格式为:prsseeee,其中 ss 是对应学期的两位值(秋季为 00,冬季为 01,春季为 10 或夏季为 11),eeee 是与数字对应的四位值在注册单位中,r 是对应于学生是否是加利福尼亚居民的单个位,p 是对应于是否需要停车贴花的单个位。该位域的格式如下图所示:

Packed Bit Field of Fees 由于只输入了 8 位,因此您的程序应该期望读取 2 个十六进制数字。

下面是一些演示这些想法的示例程序对话。(提示:一点一点地执行此操作。有很多内容......) (进一步提示:此任务的最重要部分是使用用户输入的打包数据字段来提取子-parts out of it. Intel 寄存器的重叠设计可帮助您解析此类数据字段,并且您可以移动位以将正确的部分转换为 BH 或 BL,例如......)(进一步提示:您可以通过直接读入寄存器来读取十六进制数字。)(最后提示:由于我们还没有学会如何做乘法,虽然它有点痛苦,但我希望你会通过一组循环加法指令来执行乘法)

喂我(2 个十六进制数字和 prsseeee 位):CC
秋季学期
12 个单位
CA 居民
停车
总费用 = 688 美元

喂我(2 个十六进制数字,带有 prsseeee 位):4C
秋季学期
12 个单位
CA 居民
禁止停车
总费用 = 603 美元

喂我(2 个十六进制数字与位 prsseeee):8C
秋季学期
12 个单位
非居民
停车
总费用 = 4156 美元


喂我(2 个十六进制数字与位 prsseeee):0C
秋季学期
12 个单位
非居民
禁止停车
总费用 = $ 4071

喂我(2 个十六进制数字与位 prsseeee):D1
冬季学期
1 单元
CA 居民
停车
总费用 = 139 美元

喂我(2 个十六进制数字与位 prsseeee):91
冬季学期
1 单元
非居民
停车
总费用 = 428 美元


这是我的代码:

这一定是一些逻辑问题,比如说我输入了cc。它打印出正确的字符串,但总量是错误的。如果我输入 4c,我会得到正确的字符串,但停车除外。它完全跳过了,总数也是错误的。谢谢你的帮助。

编辑:这是我输入 CC 时结果的图片。如您所见,它正确键入了类别,但没有得到相同的结果。我相信我的问题是我如何拥有声明标签。 控制台窗口结果

0 投票
0 回答
160 浏览

exception - 带除法的 Hla 程序集异常

当我使用这段代码时,我得到了一个异常。至少这是我从学校的编译器中得到的。

给定 i,j 的值,j= 348 和 i= 457830(i 被声明为 int 32,j 被声明为 int16)

我应该在 EAX 中返回的值是:(i - j) % (3+j) 我想要的只是我得到的余数,但除了这个例外,我无法为我的作业获得分数。

0 投票
0 回答
60 浏览

assembly - 代码不减 1

我目前正在尝试学习组装,但我遇到了一些困难

这是我到目前为止所拥有的

我的代码应该取给定的数字并从中减去 1。它在最后继续打印 15。不知道为什么?

0 投票
2 回答
520 浏览

assembly - 不懂变速、旋转和 LAHF

例如,这是我的作业

编写一个 HLA 汇编程序,提示输入一个 int8 值进行检查,然后以二进制格式打印它。例如,这里将是各种输入值的程序输出

我能够获得答案的源代码,但我无法理解。

我把我的思考过程放在评论里

我们还不允许使用循环。

我想我不明白 shl 和 LAHF 部分

据我了解,LAHF 表示从标志加载 AH。因此,这会将标志放入 AH。有道理,这就是 AH 的来源。此外, shl 将 0 放入位 0,然后将位 7 中的内容转移到进位标志中。但我只是不确定这意味着什么。