- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的一次采访中,我在"new"原始程序集中遇到了一个非常复杂的问题(为什么 QA 在告诉我他们的 QA 基于 Python 的测试时需要 assembly 知识......?),它是这样的:
假设您的汇编语言仅包含以下指令:
'inc REG'
: 给给定的寄存器加一。 'dec REG'
: 将给定的寄存器减一。 'jnz LABEL'
: 如果前一条指令的结果不为零,则跳转到给定的 LABEL。 'HELT'
: 停止运行。 最佳答案
我不会给出完整的答案,但这里的关键是你必须定义一个 mov
自己作息。假设 dec X
哪里X
持有 0 产生一个负(或非常大)的数字,可以这样做:
MOV_AD: ; copy value in A to D, using E as scratch space
inc A ; must be non-zero for jnz to work below
COPYLOOP:
inc D
inc E
dec A
jnz COPYLOOP
dec D ; undo the first inc A in D
; E now contains the initial value of A + 1
MOVBACK: ; move value in E back to A
inc A
dec E
jnz MOVBACK
dec A ; undo the first inc A
WIPE_E: ; wipe the scratch space
dec E
jnz WIPE_E
mov
在例程中,您可以将加法实现为重复递增,将乘法实现为重复加法。在这两种情况下,您都需要
inc
获取技巧
jnz
工作,在乘法例程中,你需要以减法结束。
关于assembly - 仅使用 inc dec 和 jnz 命令实现 c=a*b,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12881474/
我必须编写一个程序,将无符号十六进制转换为十进制,将十进制转换为十六进制,将有符号十六进制转换为十进制,将十进制转换为十六进制,而不使用流过滤器“十六进制”和“十进制”。我的程序适用于 hex 到 d
'2009-12 Dec' should be converted to '31-DEC-2009' '2010-09 Sep' should be converted to '30-SEP-2010
我想在串行监视器中写入一个十六进制数,这应该转换为十进制整数。 LCDShield lcd; byte byteR; int color = 0; if (Serial.available()) {
我需要一些帮助,将我从汽车中的 OBD 适配器获得的答案转换为十进制,然后将转换后的任何值添加到公式并打印出来。 private class ConnectedThread extends Threa
我必须编写一个程序来读取 2 个数字中不带 0 的整数,并说明第二个是否由第一个的循环变换构成。例如:4123,3412,2341 和 1234 是由 1234 循环变换而成。现在这是我的代码: #i
Delphi documentation表示可以重载 Inc 和 Dec 运算符;我认为没有有效的方法可以做到这一点。以下是重载 Inc 运算符的尝试;有些尝试会导致编译错误,有些会导致运行时访问冲突
在 Meteor 排行榜示例中有这一行: Players.update(Session.get("selected_player"), {$inc: {score: 5}}); 我怎样才能优雅地减
实际上我猜这个问题是重复的,但我不明白我的 SQL 代码有什么问题。我的错误是 Notice: Undefined index: CI in C:\wamp\www\LOCATIONVIEWER\ex
我有: std::cout << "Start = " << std::dec << (&myObject) << std::endl; 以十进制输出地址。但是,地址仍然是十六进制的?? (我正在为
我想将二进制字符串转换为 dec。 public class HelloWorld{ public static void main(String []args){ Syst
我在 Delphi 2010 中使用 Inc 和 Dec 过程时遇到问题。 这是我的代码片段: if NOT(frmMain.Height = 0) then begin Dec(frmMain.
在反汇编代码中: movsx eax,[address1] # a few fpu computations dec eax # so many fpu computations jz label2
我正在尝试使用 findAndModify 以原子方式更新文档的一个值,根据我的阅读,这在同一文档中是原子的。根据我的单元测试,这些值没有被修改。 我在 Java 中使用 mongoTemplate,
我正在用 C++ 创建一个包含 3 列 Dec Okt Hex 的表格。 输入应该是一个大于或等于1的整数,然后打印一个三列的表格,其中从1到加载的所有整数以十进制、八进制和十六进制指定。 例如我们输
字符串 str_hex 包含字母 A-J 的十六进制值,对应于十进制值 65-74。我正在尝试将每个十六进制值转换为其十进制值 following this example .它适用于 for 循环内
由于本学期我在物理学校学习了数字系统类(class),所以我决定尝试将我们在那里学到的知识应用到我自学的编程实践中。是的,出于某种原因我们根本不这样做。不管怎样,下面是我的代码: #include
00101=5位数字,忽略两个零并计算 0+(5-2-1)^2 = 4 4+(5-3-1)^2 = 5 5+(5-4-1)^2 = 5 最终答案是否正确? char[] charArray = bin
作为练习的一部分,我必须重写一个递归函数,以使新函数不递归。这两个函数都需要将正十进制整数输入转换为它们的等效二进制数。 这是使用递归的代码: void convert(int n) { //recu
此代码将 unsigned long vector 变量 cR1 转换为 NB_ERRORS 数字(在 a 变量中我打印了这些数)。 #include #include #include int
我在将十六进制值转换为带符号的十进制值时遇到问题。我正在使用 Qt,这是示例代码。 #include #include int main(int argc, char *argv[]) {
我是一名优秀的程序员,十分优秀!