2015-01-06 6 views
0

ax, bx 등의 데이터를 저장하는 데 내 자신의 이름을 사용하려고합니다. 심지어 가능할까요? 그렇다면 어떻게 정의되지 않은 기호 오류를 해결할 수 있습니까? 감사.정의되지 않은 기호 : ARAD1

+0

다음과 같이 할 수 있습니다. 더 높은 수준의 프로그래밍 언어를 사용할 수 있습니다. – rightfold

+0

고급 언어 사용을 고려 했습니까? –

+0

데이터 위치에 대한 레이블을 확실히 정의 할 수 있습니다. 다시 게시하기 전에 어셈블러 및 CPU 아키텍처에 대해 더 많이 배워야합니다. –

답변

0

좋아요. 그래서 TASM을 사용하고 해결책을 찾았습니다. 내가 사용한 것은 dseg 뿐이다.

dseg segment 
    a DB 2 ; a is my newly variable (or array) 
dseg ends 
cseg segment 
assume cs:cseg, ds:dseg 
    Start: mov ax, dseg 
      mov ds, ax 
      mov al, a 
cseg ends 
end Start 

이것은 정확히 어떻게했는지 완벽하게 작동합니다. DB는 8 비트 변수를 정의하기위한 키워드입니다. 사용할 수있는 키워드는 다음과 같습니다.

Type |     | Allocates   | Min-Max values                   | 
DB | Define Byte  | allocates 1 byte | 0 to 255 (or) -127 to 128                 | 
DW | Define Word  | allocates 2 bytes | 0 to 65535 (or) -32767 to 32768               | 
DD | Define Doubleword | allocates 4 bytes | 0 to 4294967295 (or) 2147483647 to 2147483648            | 
DQ | Define Quadword | allocates 8 bytes | 0 to 18446744073709551615 (or) -9223372036854775807 to 9223372036854775808    | 
DT | Define Ten Bytes | allocates 10 bytes | 0 to 1208925819614629174706175 (or) -604462909807314587353087 to 604462909807314587353088 | 

희망이 있습니다.