0
키보드에서이 코드의 입력으로 1을 입력하면 rbx가 a31h로 변경됩니다. 그러나 숫자 '1'의 ASCII 값은 30h입니다. 왜 rbx가 30h가 되었습니까? 당신이 read
콜이 이 바이트를 얻는 것을 의미 길이로 1024을 지정했기 때문에ASCII 및 64 비트 레지스터 어셈블리
section .text
global _start
_start:
mov rax,1
mov rdi,1
mov rsi,msg
mov rdx,len
syscall
mov rax,0
mov rdi,0
mov rsi,num
mov rdx,1024
syscall
mov rbx,[num]
mov rax,60
mov rdi,0
syscall
section .data
msg: db 0Ah,"Enter here:",0
len: equ $ - msg
section .bss
num: resb 10
, 당신은 m로 할 수 있습니다 'movzx'도 너무 많아 사람들이 실수로'와'방법이 최선이라고 생각하지 않을 것입니다. – Jester
@Jester, 감사합니다. OP가 어떻게했는지에 대한 경고였습니다. _best_ 방법에 대해 너무 열심히 생각하지 않았습니다. 그러나 귀하의 충고에 따라 추가했습니다. – paxdiablo
아이디어가 있습니다. 도움을 주셔서 감사합니다. – Rashintha