어셈블리어에서 수(진수)의 표현 |
hexadecimal(16진수) : 수의 뒤에 H binary(2진수) : 수의 뒤에 B octal(8진수) : 수의 뒤에 O 또는 Q decimal(10진수) : 수의 뒤에 아무것도 적지 않으면 10진수 임
☞ - 를 붙이지 않으면 unsigned이고 - 를 붙이면 signed 임 , 즉 부호를 붙이면됨. byte1 BYTE 255 ; value is FF byte5 BYTE -1 ; value is FF
※ starsAndSpaces BYTE 24 DUP("* "), '*' ; "* " 로 채워진 24바이트와 *의 아스키코드 값을 합한 25바이트
※ QWORD : 8 바이트 TBYTE : 10 바이트
|
instruction operand의 3가지 타입 | ||||||||||
1. constants(상수) 2. designate CPU registers 3. reference memory locations
|
PTR operator |
☞ mov [ebx], 0 ; ebx레지스터가 가리키는 곳의 용량이 불분명함으로 이 코드는 에러임
☞ mov BYTE PTR [ebx], 0 ; BYTE PTR은 마치 C언어에서 캐스팅 해주듯 ebx가 가리키는 곳이 BYTE크기임을 나타내어 에러나지 않음
☞ add eax, [edx] ; 이 경우 edx가 가리키는 곳의 값을 eax(DWORD)라는 4바이트 사이즈의 공간에 넣어야하는것이 분명하므로 add eax, DWORD PTR [edx] 이렇게 적어주지 않아도 에러나지 않음 |
☞ APPENDX 를 참고하면 instruction 니모닉과 오버랜드에 따른 기계어와 명령수행에 필요한 클럭(소요시간)을 알수 있음 |
|
'Assembly' 카테고리의 다른 글
2013.08.27_EFLAGS레지스터의구조 (0) | 2013.08.27 |
---|---|
2013.08.27_ASM_APPENDIX 활용하기 and 4장 Basic Instruction (0) | 2013.08.27 |
2013.08.23_ASM_Debug 모드 및 이론설명 (0) | 2013.08.23 |
2013.08.21_Visual Studio 10.0 을 이용한 Disassembly (0) | 2013.08.22 |
2013.08.14_ASM_테스트 (0) | 2013.08.14 |