디버그를 통해 테스트하려는 어셈블리 프로그램이 있지만 프로그램에 일반적으로 정수에 대한 사용자 입력이 있습니다. 프로그램을 디버그하고 여전히 프로그램에 정수를 입력 할 수 있지만 여전히 레지스터의 값을 볼 수 있다는 의미로 '실행'할 수 있습니까?사용자 입력이 필요한 프로그램 /보기 레지스터를 디버깅하는 방법
미리 도움을 주셔서 감사합니다.
디버그를 통해 테스트하려는 어셈블리 프로그램이 있지만 프로그램에 일반적으로 정수에 대한 사용자 입력이 있습니다. 프로그램을 디버그하고 여전히 프로그램에 정수를 입력 할 수 있지만 여전히 레지스터의 값을 볼 수 있다는 의미로 '실행'할 수 있습니까?사용자 입력이 필요한 프로그램 /보기 레지스터를 디버깅하는 방법
미리 도움을 주셔서 감사합니다.
프로그램을 디버깅하고 프로그램에 정수를 입력 할 수 있지만 여전히 레지스터의 값을 볼 수 있다는 의미에서 '실행'할 수 있습니까?
예, 소금을 댈만한 디버거는 명령에 따라 코드 명령을 실행할 수 있어야합니다.
예를 들어 볼랜드의 Turbo Debugger
과 오픈 와콤 Watcom Debugger
은 Trace Into
과 Step Over
실행 옵션이 있습니다. 두 개는 유사하지만 동일하지는 않습니다. 후자는 call subroutine
명령어의 일부로 전체 서브 루틴을 실행하고 전자는 call
이든 아니든 단일 명령어 만 실행합니다.
디버거에서 어떻게 할 수 있는지 확인하십시오. UI 및/또는 문서를 찾습니다.
또한 디버거를 사용하면 일반적으로 브레이크 포인트가 발생할 때까지 선택한 명령에 중단 점을 설정하고 코드를 실행할 수 있습니다. 당신도 그것을 사용할 수 있습니다.
그래, 고마워 .. 솔직히 내가 사용하고있는 디버거가 무엇인지 모르겠다. 생각하기는하지만 실제로는 nasmide이거나 실제로는 DOS 셸에서 디버깅하는 것 뿐이다. 어쨌든 나는 기본적인 디버깅을 할 수있는 사용자 입력 대신 몇 가지 설정 값을 넣기로했다. 도움을 주셔서 감사합니다, 나는 그 디버거 중 하나를 다운로드 할 수 있는지 볼 수 있습니다. – Calibre
Open Watcom C/C++의 일부로 확실히'wd.exe'를 다운로드 할 수 있습니다. –
보통 오래된 DEBUG (Uugh ... Uugh ...) 인 경우 int 21h를 사용하지 말고 대신'p'roceed를 사용하십시오. 그것은 당신이 성격을 입력 할 때까지 기다려야합니다. 내가 기억 하듯이, dos는 전혀 작동하지 않는다. –
어떤 디버거입니까? 어떤 OS인가? 사용자 입력을 어떻게 읽습니까? 코드를 보여주세요. – nrz
미안하지만, 그게 분명하지 않아서, DosBox 내부에서 nasmide 디버거를 사용하고 있습니다. 현재 Int 21H 인터럽트 중 하나를 사용하고 있습니다. 특히 사용자 입력을 읽으려면 AH = 01을 사용하십시오. – Calibre