我正在尝试学习如何使用汇编语言来改变牌组.我精通java,我可以很容易地将java翻译成C,但我在ASM上遇到了困难.这是我现在遇到的代码块:
MOV R8, [RDI+RSI*4]
MOV R9, [RDI+RDX*4]
MOV [RDI+RSI*4], R9
MOV [RDI+RDX*4], R8
Run Code Online (Sandbox Code Playgroud)
我一直在
error: impossible combination of address sizes
Run Code Online (Sandbox Code Playgroud)
它是用命令运行的
nasm -f elf FILE-NAME.asm
Run Code Online (Sandbox Code Playgroud)
我猜它与我正在使用的寄存器有问题,但我不知道汇编中的规则.我正在学习使用tutorialspoint但是如果有人对其他地方有任何建议我可以更好地学习它,这将是有帮助的.我也在这个答案上看到所有使用的寄存器都有相同的大小,为什么会出错呢?
我遇到onclick问题,特别是下面代码中的onclick ="Foo()".点击后,我得到了未定义,但我已将功能包含在顶部,甚至在功能之外.
$( document ).ready(function() {
function Foo() {
console.log('clicky click click');
document.getElementById('categoryBubble').style.display = 'none';
}
$('.mutliSelect select').on('change', function() {
var title = $(this).closest('.mutliSelect').find('option').val();
title = $(this).val() + "";
if ($(this).is(':selected')) {
// the code for if goes here
} else {
console.log('im working here #2');
var html = '<span id="categoryBubble" title="' + title + '">' + title + '</span>' + '<span onclick="Foo()" class="Xout">x</span>';
$('.multiSel').append(html);
$(".hida").hide();
}
});
});
Run Code Online (Sandbox Code Playgroud)