인사말,리눅스에서 NASM을 쓰고 있는데 다음과 같은 문제가 있습니다. 사용자가 문자열을 입력하고 크기를 반환하는 함수에 전달해야하는 간단한 프로그램을 작성해야합니다. %include "macros.inc"
section .data
prompt1 db "Enter string: ",0
prompt1len equ $-prompt1
promp
미리 정의 된 숫자를 미리 정의 된 힘으로 가져 와서 결과를 반환하는 간단한 프로그램을 작성했습니다. Linux 용 NASM 어셈블리에 있습니다. 스택을 사용하여 함수에 변수를 전달하는 방법에 대해 머리를 쓰려고 노력했으며 제대로했는지 확인하려고했습니다. 정확한 숫자를 반환하지만 올바른지 전혀 알 수 없습니다. section .text
global
두 개의 오브젝트 파일을 만들었습니다. 하나는 NASM -f는 Win32로 구성되어 있습니다 C:\home\os> objdump -d boot.obj
boot.obj: file format pe-i386
Disassembly of section .text:
00000000 <.text>:
0: 02 d0 add %al,%dl
에 두 개의 실수를 입력,하지만 난에 마지막으로 부동 소수점 값을 입력 끝났어요 직후 결함을에 세그먼트 array2, 어떤 아이디어가 있습니까? 대신 카운터 ESI를 사용하지 왜 -
segment .bss
;
segment .data
prompt1 db "Do you have data to enter? (-1 = yes,0 = no)?: ", 0
그래서이 책의 "단계별 어셈블리 언어"는 정말 멋지지만 실제로 메모리와 레지스터 데이터를 작업 할 때 2의 보수가 어떻게 작동하는지에 대해서는 다소 비밀 스러웠습니다. 그와 함께, 나는 서명 된 값들이 메모리에 어떻게 표현되는지에 대해서 확신하지 못한다. 나는 나를 혼란스럽게 만든다. anywho ... "-1 = $ FF, -2 = $ FE 등등"이라
저는 Java로 게임 서버를 구축하고 있습니다. 네트워킹은 JBoss Netty에 의해 처리 될 것이고, JNI를 사용하여 어셈블리 코드에 대한 래퍼 인 C++ 함수를 호출하면 (NASM으로 어셈블 됨) I/O 작업이 완료 될 것입니다. 어셈블리에서뿐만 아니라 대량의 데이터를 처리 할 수 있습니다. 이 접근법에 어떤 종류의 이득이 있습니까?
나는 사용자가 제공 한 이름을 표시하는 간단한 프로그램을 작성 중이다. 결과는 내가 명령을 입력하고 예상 결과를 얻을 수 있어야한다는 것입니다. 명령 ./hello John
결과 프로그램이 이름을 표시 주위에 도착하지만 Hello, John.
, 그렇지 않습니다. 나는 그것이 논쟁의 길이를 계산하는 것과 관련이 있다고 믿습니다. 니가 내 코드를보고
정수 문자 공백 정수 형식으로 파일에서 3 개의 값을 읽으려고합니다. 예를 들면 : 5, 그 정확한 형식, 즉 3 : 5 후 어떤 공백, 내가 성공적으로 열 수는 fopen라는 쉼표 뒤에 공백과 3 후 어떤 공백 파일과 나는 fgetc를 사용하여 동일한 파일에 액세스하고 내용을 인쇄했습니다. 지금은, 스택에 반대 순서로 매개 변수를 밀어 어셈블리에서 C 함