그림 10f322에 대해 mpasm을 사용하여 어셈블리 프로그램을 만들었고이 프로그램에서 내 테이블의 모든 문자를 읽을 수있게하려고합니다.이 값을 내 WREG에 다시 배치합니다. 내 코드가 실행되면 FSR 레지스터에 저장된 값을 읽어 내고 지정된 주소에 저장된 값을 가져 오는 것으로 가정합니다. 이 FSR 값은 다음 문자를 얻기 위해 증가합니다. 그러나 프로그램을 실행할 때 포인터가 올바르게 증가하지만 메모리에 저장된 값이없는 것 같아 코드에서 정크 값을 가져옵니다. 내 지시문이 작동하지 않는 이유는 무엇입니까?PIC 10F322 db 테이블에서 읽음
org 0x0000
FSR Equ 0x04
INDF Equ 0x00
START
movlw TABLE
movwf FSR ; move w value int address FSR
Loop: movf INDF, 0 ; move character pointed in table back to w reg
incf FSR ; increment incfg
goto Loop
TABLE:
db "HELLO"
db "Man"
END
나는 데이터가 프로그램 메모리에 저장하지 않습니다. 대신 데이터 메모리에 데이터를 넣고 싶습니다. DB와 마찬가지로 쉽게이 작업을 수행 할 수있는 어셈블리 지시문이 있습니까? 내 어셈블러는 MPASM입니다.
데이터를 저장하기 위해 프로그램 메모리가 아닌 액세스 데이터 메모리를 사용하고 싶습니다. DB와 같은 어셈블러 지시문을 통해이 작업을 수행하는 방법을 알려주시겠습니까? –
@ Mr.Student : DB는 코드 바이트 선언에 사용되며 데이터 RAM에는 사용되지 않습니다. 데이터 RAM의 내용을 읽으려면 먼저 내용을 설정해야합니다. –
그게 내가 묻고있는거야, 어떻게 데이터 RAM의 내용을 설정할 수 있습니까? –