0
の数が、私は、アセンブラで次のコードを持っている私を示しています。ありませんが、コンソール
section .text
global _start
_start:
inicio:
mov ax,12345
mov cx,5
mov dx,0
imprime:
mov bx,10
div bx
add dl,30h
mov dh,0
push dx
mov dx,0
loop imprime
mov cx,5
imp:
mov ah,02h
pop dx
int 0x80
loop imp
mov rax, 60
mov rdi, 0
syscall
私はそれを印刷するためにINT 21hとを入れて、私を残していなかった、私は0x80を
プラットフォーム? (OS +ビット)。 'のint 21h'は' 0x80'が32B LinuxのINT、 'syscall'が64BのLinux(またはあまりにもそれを使用して、他のOS)であり、MS-DOSです。あなたはあなたのものに固執する、他のOSのAPIを呼び出すことはできません。 (各APIは、それが '0x80'はほぼ確実にバグであるint型と一緒になってそう'ああ、MOV、02h' ...独自の関数やパラメータですが、Linuxの32BのAPIはeax' 'に値を期待しています)。 – Ped7g
@ Ped7g私はubuntu 64ビットのLinuxとyasmを使用していますが、もし私がsyscallを使っているのであれば、 –
@ Ped7g、私はsyscallを置くと出てきます: "違反セグメント( 'core'生成) –