c로 어셈블러를 만들고 있습니다.
블1랙캣
c로 어셈블러를 작성하고있고 ( 개인용 어셈코드를 이용한것입니다) Ex) 어셈블리코드STARTmov ebx , 15L1:mov eax , 0add eax , 3cmp eax , ebxjnz L1:END이것을 기계어로 번역해야하는데 로컬카운트를 이용하라는디 저기 점프문(jnz) 문을 이용할때 다시 L1으로 보내야하는데그럴때 c코드로 어떻게 해야될까요.. 고정시키면 안되요.. 어셈코드가 바뀌면 고정시켜도 소용이 없잖아요... 어떻게 하면 고정하지 않고 점프문을 c코드로 번역해서기계어로 번역할수 있을까여..아 제가 명확하게 요구를 한 것이 없네요. 죄송합니다..제가 원하는것이 C코드입니다. 그러나 goto 를 쓴다면 어셈블리 코드가 변경될때 적용하기 힘들다고 생각합니다..지금 제가 작성해야하는것이 어셈블리코드를 작성해서 이것을 기계어로 바꿔주는 어셈블러를 작성하고 있고, 이 기게어를 해석하는 VM 을 만들고 있습니다. 그리고 지금은 어셈블러를 설계하고 있습니다.PASS1을 작성하여 이 곳에 어셈코드의 레이블의 주소와 변수의 주소를 대입시키는 심볼테이블을 작성했고요.근데 이것으로 기계어로 번역해야하는 pass2 를 작성을 못했습니다. 또한 제가 작성한 pass1이 명확하지 않고요기준은 1byte 이고, 모든 변수 및 레지스터는 1byte를 기준으로 작성해야합니다. @@지금 가장 궁금한건 어떻게 기계어로 번역해 주어야 하고 VM에서 어떻게 해석하는 방법이 알고 싶습니다.@@ 그래서 내린 결론이 하나하나 번역을 해주는 과정을 하고 있는디 jmp 문을 만나게 된다면, 다시 상위 기계어로 올라가야하는 방법을 모르겠습니다. 이 설계방법 말고 다른 방법이 있으면 그 설계방법의 힌트를 알려주신다면 감사하겠습니다
-
찬늘봄
상대번지 점프, 절대번지 점프. 두가지가 있었죠?
기본은 같으니까.
L1 포인트까지 작성된 어셈코드 길이를 기억하고
JNZ 에서 L1의 값을 주면 되겠네요.
L1포인트까지 작성된 어셈코드 길이+ 어셈시작 메모리 번지 값이 JNZ에서 이동해야할 절대 좌표가 되겠고
JNZ위치에서 L1 값을 빼면 상대 좌표가 되겠죠.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2700484 | 두 개가 차이가 뭔지 알려주세요...(소수 찾는 프로그램) (2) | 날위해 | 2025-07-05 |
2700426 | 인터넷 창 띄우는 질문이요 (1) | 정훈 | 2025-07-04 |
2700400 | 원넓이를 계산이요 ㅜㅜ | 천칭자리 | 2025-07-04 |
2700368 | if에 관해서 질문이요... | Orange | 2025-07-04 |
2700339 | 이거 결과값이 왜이런건지.. (4) | 그댸와나 | 2025-07-04 |
2700313 | 파일 읽어서 저장하는데 빈파일일 경우 문재가 발생하네요.. (2) | 크나 | 2025-07-03 |
2700287 | 구조체 동적할당 연습을 하는데 오류가 뜹니다...(해결) (3) | 아련나래 | 2025-07-03 |
2700264 | 문자와 숫자 동시에 입력??? | 글고운 | 2025-07-03 |
2700236 | txt파일로만 쓰고 읽게 하려면 어떻게 해야 하나요..?? (8) | 미국녀 | 2025-07-03 |
2700211 | 전위 연산자 (2) | 어른처럼 | 2025-07-02 |
2700183 | C에서 파일이름을 받고, 그 파일의 사이즈를 출력해줘야하는데 내용이 출력이 안되네요 ;ㅅ; | 피스케스 | 2025-07-02 |
2700150 | 꼭좀 도와주세요ㅠㅠㅠ | 호습다 | 2025-07-02 |
2700095 | 연산문제...질문... | 오빤테앵겨 | 2025-07-01 |
2700070 | while문 , 3의배수 출력하는 프로그램좀 짜주세욤. | 횃불 | 2025-07-01 |
2700041 | 초보인데요 ㅎ 배열안에 배열을 집어넣을수 있나요?? | 헛장사 | 2025-07-01 |
2700012 | 배열// (1) | 전갈자리 | 2025-07-01 |
2699895 | 무한루프에 빠집니다.!! 해결좀부탁드려요 (10) | 선아 | 2025-06-30 |
2699842 | 질문을 너무 많이 하네여.....죄송.... (2) | 해님꽃 | 2025-06-29 |
2699816 | 오류 질문입니다.. (1) | 해비치 | 2025-06-29 |
2699763 | 질문입니다 ! 꼭 좀 도와주세요ㅠㅠ (2) | 미라 | 2025-06-28 |