cpu-registers

    0热度

    1回答

    在使用Turbo Debugger执行我的代码时,我的bx寄存器中有一个0001值。 (我只能查看bx寄存器在Turbo调试器,以及怎么也找不到查看整个ebx方问题:?如何看待整个EAX/EBX/...寄存器) 后,立即当我发送ebx到DD变量sum1时,发送的值变为30310001h。 它是什么原因,我该如何避免它? 我是有原因的唯一的猜测:sum1收到一个无形的价值,这包括在ebx但不bx(由

    4热度

    2回答

    我读this和它说,register关键字最有可能从下一个C++标准中删除。它还说,register在2011年弃用那么,什么是错register存储类的? 我觉得现代的编译器是非常聪明的,他们隐式的优化常用的变量速度(快速访问),并把它们放入CPU寄存器。 然而,C++专家也说没有或从来不使用register。因此,register关键字有什么问题?

    1热度

    1回答

    考虑下面的汇编语言程序: I1: Move R3, R7 /R3 ← (R7)/ I2: Load R8, (R3) /R8 ← Memory (R3)/ I3: Add R3, R3, 4 /R3 ← (R3) + 4/ I4: Load R9, (R3) /R9 ← Memory (R3)/ I5: BLE R8, R9, L3 /Branch if (R9) > (R8)/ 该

    1热度

    1回答

    学习如何遍历命令行参数,我想是这样 ARG [0]输出:CMDL ARG [1]:d:/test.src ARG [2]:FOO 在循环中,我推送eax,epb和ecx,然后输出arg值。然后弹出3个寄存器,递增ECX,清理堆栈等 我有一个可变的.bss中保留: c: resd 1 这是我的循环结构: .do: push ebp push eax push ecx

    1热度

    1回答

    我写了LC3机器上的汇编程序。 我的装配程序是一个程序LC3倍增R2和R3,并将结果存储在R1。 这是我的源代码(带注释) ;Sets pc to this address at start of program .ORIG x3000 ;R1 will store the result lets clear it(ANd with 0) AND R1,R1,x0 ;R2 will be

    0热度

    1回答

    我可能会被迫编写一些涉及多个输入数组和结果数组的性能关键C/C++代码(不必介意确切的类型)。由于某些原因,我想在我的输出数组的小块上工作,根据输入对它们进行修改 - 但是没有经常读写它们回到内存,因为我不相信缓存(也就是说,我担心输入数组会覆盖它,最终我会做内存读写操作,这真是太可怕了......)所以,我正在考虑安全地使用它,并试图留在寄存器中。 我可以得到一个小的,本地的,固定长度的数组只能

    0热度

    1回答

    我想一个字节从寄存器RDX移动到寄存器RBX,像这样: mov %rdx , (%rbx,%r15,1) 其中 RDX包含0x33 ,R15是指数和rbx在开始时包含0。 我已经尝试过在很多方面使用这种方法,总是以SIGSEGV错误结束。 最终我要创建一个RBX寄存器,其将包含下RDX的值的数组

    0热度

    1回答

    这是我的LC3汇编代码 .ORIG x3000 AND R0,R0, #0 AND R2,R2, #0 ADD R2,R2, #7 JSR SUB ADD R2,R2, ASCII ADD R0,R2,#0 TRAP x21 SUB ADD R2,R2,#9 ADD R7,R7,#1 RET HALT ASCII .FILL x0000 .END 当我尝试汇编代码中,

    1热度

    1回答

    我工作的一个练习考试问题 的问题 在这个程序中,用户输入两个数字的执行。 xGuess的价值是什么,所以我们可以剥离ASCII模板?说明。 .ORIG x3000 TRAP x23 LD R2, ASCII ADD R1, R2, R0 TRAP x23 ADD R0, R0, R2 ADD R0, R0, R1 ASCII .FILL xGuess .END 使用Lc3 As

    1热度

    1回答

    我正在做一个练习考题。 问题是 这有什么错在这行代码LC3? (将出演线) ADD R3, R3, 0; **BRNZ ISPOS;** HALT .BLKW 250 ISPOS NOT R3, R3 .... 我看到星号的行是Branch和条件代码为负和零,基本上去标签ISPOS如果条件代码为负或零或以其他方式阻止该程序。 我会说这行LC3代码没有问题。有没有人看到它的任何问题?