McGraw-Hill의 LC3 시뮬레이터를 사용하여 일부 LC3 어셈블리 코드에서 작업하고 있습니다. 어떤 이유로 든 내 코드를 어떻게 수행하든 내 .END 호출을 계속 지나가고 내 레지스터를 변경하게됩니다. 내가 놓친 게 있니? 가장 최근 코드 : .ORIG x3000
BR MAIN
;;value to square
SquareVal .FILL x
저는 C로 프로그래밍하는 CS 학생입니다. LC3는 가르치는 목적을위한 가짜 어셈블리 언어입니다. 컴퓨터 이름> GDB mysim -norun testfde.obj 이 문제를 산출, 명령이 인식되지 않습니다. mysim은 실행 파일이며 testfde.obj은 lc3 어셈블리 실행 파일이며 -norun은 mysim 실행이 명령 줄임을 의미합니다. mysim
그래서 LC3의 프로그램에서 작업 중이며 마스킹 문제가 있습니다. 나는 적절한 길이의 모든 1의 가면을 만드는 것으로 괜찮습니다. 모든 것을 적절한 필드로 이동하는 것이 좋지만, AND 비교를 마친 후에는 내 삶의 모든 것을 오른쪽으로 되돌릴 수 없습니다. LC3에서 어떻게 바뀌 었습니까? 반복 비교에서 무언가를 봤지만 다른 위치의 비트를 비교하는 방법을
두 개의 입력 번호를 사용하여 x * y = z을 인쇄하는 LC3 어셈블리 언어 프로그램을 작성하려고합니다. 숫자가 0-9 인 경우 사용할 수 있지만 위의 숫자는 이상한 문자 또는 기호가 표시됩니다. 어떻게하면 GETC 하나당 1 개의 입력을받을 수 있지만 두 개의 숫자 만 입력 할 수 있도록 만들 수는 있습니다. 10 * 12= 120? 도움이 될 것입니
카운터가있는 LC-3 프로그램이 있습니다. TRAP x21을 사용하여 카운터를 인쇄 할 수 있습니다. 그러나 카운터 번호가 두 자릿수이면 내 프로그램이 작동하지 않습니다. 예 : 9 완벽하게 인쇄,하지만 같은 19 나는 내 등록 인쇄하기 전에 내가 2로 나누어 숫자를 잘라하는 루프를 필요로하는 카운터를 포함하는 것으로 추측하고있다 (동일하지 않습니다 십진수
저는 Altera DE1 보드에서 구현중인 간단한 16 비트 프로세서 용 VHDL 코드로 유한 상태 기계를 작성하려고했습니다. Finite State Machine에서는 16 비트 STD_LOGIC_VECTOR에 의해 FSM으로 가져 오는 다른 16 비트 명령어를 처리하는 CASE 문이 있습니다. 그러나 Finite State Machine이 명령을 디코딩
내가 수행해야하는 작업은 비트 왼쪽 시프트와 LC-3 Assembly을 사용한 비트 오른쪽 시프트를 모두 구현해야합니다. 기본적으로 모든 비트는 시프트 방향으로 한 공간 위로 이동해야하며 0은 생성 된 빈 공간을 채 웁니다. 예 : 오른쪽 Shift : 01001001
00100100→
왼쪽 Shift : 01001001
←10010010
I 성
사용자 입력을받은 후 입력을 앞뒤로 표시 한 다음 입력 시간을 알려주는 lc3을 사용하여 프로그램을 작성해야합니다. 나는이 일을하는 방법을 완전히 뒤엎고 모든 곳을 수색했으며 나에게 도움이 될만한 것을 찾을 수 없다. 사용자 입력을 할 수는 있지만 저장 방법이나 되돌릴 방법을 모릅니다.
값은 .BLKW 개체에 저장되며 LDR R0, R1,0 - ADD R1, R1,1이있는 루프에로드됩니다 (.BLKW 주소를 증가시킵니다). 문제는 저장된 HEX 값을 이진 값으로 변환 한 다음 변환을 16 비트 이진 형식의 CONSOLE로 출력하는 방법입니다. 어떤 아이디어라도 대단히 감사하겠습니다! 나는 값을 ANDing하는 것에 대해 생각해 왔지만, 그