함수 opcode의 어셈블리 명령어를 모니터하려고합니다. 메모리의 함수에서 스텁 주소를 빼서 함수 크기를 바이트 단위로 얻습니다. 현재 mov 명령 만 찾고 있습니다. currentByte를 표시 할 때 조립체에서 FIADD 인 0xDA의 16 진수 값을 가진 Ú 만 출력합니다. http://ref.x86asm.net/coder32.html#xDA mov
https://schweigi.github.io/assembler-simulator/을 통해 asm 및 스택 오버플로를 이해하려고합니다. 정상적인 스택 오버플로가 스택 경계을 넘어 RAM으로 푸시되었음을 이해했습니다. 스택 오버플로가 RAM 경계 인을 넘어 뜨리면 내 질문이 발생합니다. 시뮬레이터에서 당신이 코드 프로그램이있는 경우 : PUSH 53 ; 5
오피 FX0A의 설명입니다 키가 이미 연산 코드가 호출되는 동안 누르면 Wait for a keypress and store the result in register VX
내 질문은, 그것은 키를 누를 생각입니까? 또는 키를 놓은 다음 다시 누를 때까지 키 누르기로 간주되지 않습니까? 즉, 키 값을 누르거나 not_pressed에서 pressed로 값이
mov rcx,rdx (https://defuse.ca/online-x86-assembler.htm 사용)을 인코딩하는 x86_64 인코딩은 48 89 D1입니다. this reference으로 연산 코드를 검사하면 바이트 시퀀스가 명령을 인코딩하는 방법을 알 수 있습니다. 그러나이 테이블의 두 행 아래 (op-code 8B)는 매우 비슷한 mov 명령
저는 Nucleo STM32F303RE에서 ARM 아키텍처를 시작하려고합니다. 명령어가 어떻게 인코딩되는지 이해하려고합니다. 나는 간단한 LED 깜박임 프로그램을 실행 한 처음 몇 분해 응용 명령은 다음과 같습니다 - 각 32 08000188: push {lr}
0800018a: sub sp, #12
235 __initialize_hardware_
opcode에서 'LDC'의 전체 형태는 무엇입니까? 이 나는 문서를 찾을 수 있지만, 아무 대답이 없다 : https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-6.html#jvms-6.5.ldc 내가 JVM에서 배우고, 내가 86-op 코드도 그것을 알고있다. 그렇다면 역사는 무엇입니까? 하십시오, 감사
저는 x86 디코더를 만들고 있습니다. 명령어의 니모닉을 계산하는 효율적인 방법을 이해하고 찾는데 어려움을 겪고 있습니다. opcode 6 MSB가 opcode 비트라는 것을 알고 있지만 니모닉 테이블에서 6 비트를 사용하는 곳을 찾을 수 없습니다. 내가 찾은 유일한 니모닉 테이블은 6 비트 MSB가 아닌 전체 opcode 바이트 자체입니다. opcode
나는 다음과 같은 어셈블리 코드가 있습니다 global _start
section .text
_start:
add byte [eax], al
컴파일하고, 나는 오피 보려고 연결 후 : 내가 널 오피 코드를 이유는 무엇입니까 $ objdump -d eax.o
eax.o: file format elf32-i386
Disassembly of