- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试创建一个微编程函数,给定堆栈中的 4 个值,交换第三个和第四个值。我将其称为“mswap”,这是到目前为止的微代码:
mswap1 SP = SP - 1
mswap2 SP = SP - 1<br/>
mswap3 MAR = SP - 1<br/>
mswap4 rd
mswap5 MAR = H<br/>
mswap6 wr
mswap7 MAR = SP<br/>
mswap8 rd
mswap9 MAR = SP - 1
mswap10 wr<br/>
mswap11 MAR = H
mswap12 rd
mswap13 MAR = SP
mswap14 wr
mswap15 SP = SP + 1
mswap16 SP = SP + 1; goto Main1
这是一个示例程序:
.main开始:BIPUSH 0x39 比推 0x30 比普什 0x36 比推 0x35 移动应用程序 出去 出去 出去 出去 停.end-main
它应该给出 5690 的输出可悲的事实,输出只有 56这是我“错过”了两个桩元素..这是由于过度使用 SP = SP -1 造成的吗?当编写类似的函数来交换第二个和第三个元素时,它工作得很好
最佳答案
mswap5正在使用H,但H尚未设置。您的意思是在之前的指令中设置它吗?
只需要两次读取和两次写入。
无需更改 SP 即可访问堆栈。使用H,那么你就不必在程序结束时调整SP。
关于java - IJVM 练习,交换 4 个元素堆栈中的 2 个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34771940/
我已将代码片段翻译为 IJVM,但不确定它是否有效。告诉我我做得对还是错。或者我如何检查代码是否有效。这是代码。 a = 0 sum = x while( a<= x){ sum += a; a++
我正在编写一个简单的程序来计算 MIC1 架构的 IJVM 中几个整数的绝对值。我正在使用位于 here 的模拟器. 这是代码: BIPUSH 0xC0 DUP ISTORE i1 ISTORE i
我正在尝试创建一个微编程函数,给定堆栈中的 4 个值,交换第三个和第四个值。我将其称为“mswap”,这是到目前为止的微代码: mswap1 SP = SP - 1 mswap2 SP = SP -
我是一名优秀的程序员,十分优秀!