스택에 로컬 변수를 만들었거나 문자열 대신 메모리를 할당 했으므로 값을 입력하고 싶습니다. 내가 할 방법을 undertand에 할 strcat(my_str1, "something1");
strcat(my_str1, get_var2());
strcat(my_str1, "something3");
strcat(my_str1, get_var4());
그
나는 1-9 사이의 한자리 수를 묻고 다음에 그것을 저장하는 8086 어셈블리 언어로 프로그램을 작성하고있다. 1-9 사이가 아닌 경우 루프백해야합니다. 요구 사항을 충족 할 때까지 테스트하고 루프 백 (또 다른 숫자를 입력 할 수있는) 좋은 방법은 무엇입니까? 지금까지 내 코드 : section .data
prompt1 db "Enter a si
보호 모드로 전환 한 후 내 부트 로더에서로드 된 커널로 이동하려고합니다. 커널은 정상적으로로드되지만 로드러의 두 번째 단계에서 커널의 주 기능을 호출 할 때 잘못된 주소를 호출합니다. global load_kern
extern main
[bits 32]
load_kern:
call main
cli
hlt
난 후 조립
리눅스에서 nasm으로 "숫자 추측"게임을 쓰려고합니다. 나는 이해할 수없는 문제가 있습니다 ... scanf가 실행될 때 my variable mysteriousNumber 0으로 설정되어 있고 나는 이유를 모르겠다. ... 누군가 내가 뭘 잘못 설명 할 수 있니? (내 영어 실력에 대한 죄송합니다) ; GuessTheNumber
; mainasm :
rdtsc 명령어를 사용하여 내 프로그램을 실행하는 데 필요한 CPU의 클록 사이클을 계산할 때 원하는대로 계산하고 싶습니다. "AFD"에서 rdtsc 명령어를 사용하기위한 구문은 무엇이되어야합니까? 는하지만이 실행됩니다으로 "AFD는"내 프로그램을 종료로 내가 rdtsc 명령을 사용하고 ...
https://github.com/cfenollosa/os-tutorial/tree/master/05-bootsector-functions-strings에서 배우면서, 나는 나 자신의 부트 섹터를 작성하려고 노력해왔다. 현재 주어진 문자열을 인쇄하려고합니다. boot_main.asm print:
pusha
start:
mov al, [
나는 그것이 가능하다는 것을 확신하지만 .data 섹션에서 (nasm으로) 선언되었을 때 데이터에 액세스하는 방법을 찾을 수 없습니다. msg: db 0xEA, 0xBA, 0x35, 0xB4, 0x88, 0x24, 0x14, 0x2C, 0xA1, 0x97, 0x5F, 0x1B, 0x56, 0xFA, 0xA3
예를 들어 4 번째를 레지스터로 이동하려면 어
나는 작은 OS를 직접 작성하고 있습니다. 인터럽트 벡터 테이블을 오버라이드하려면 0000의 물리적 주소를 변경해야한다는 온라인 기사를 많이 읽었습니다. 인터럽트 번호 * 4와 0000 : (인터럽트 번호 * 4) +2. 정확히 코드를 작성했지만 가상 시스템에서 실행하려고하면 아무 일도 일어나지 않습니다. 너희 중 누구도 지식을 공유하고 내가 뭘 잘못 생각