제가 글로 표현하기 난해한 부분이 있었는데, 잘 이해바랍니다. ^^;;;
AAA—ASCII Adjust After Addition
16진수 덧셈의 결과를 ASCII 숫자 덧셈의 결과로 조정합니다.
MOV AX '8' (0x0038)
ADD AX '2' (0x0032) ; AX : 0x006A
AAA ; -> AX의 값이 0x0100으로 조정됨)
OR AX, 0x3030 ; -> AX의 값은 '10' (0x3130)으로 조정됨)
64-bit Mode에서는 invalid 합니다.
AAD—ASCII Adjust AX Before Division
ASCII 숫자 나눗셈을 하기 전에 AX의 값을 조정합니다.
MOV AX 0x0307
AAD ; AX : 0x0025
div bl(5) ; al : 몫, ah : 나머지
64-bit Mode에서는 invalid 합니다.
AAM—ASCII Adjust AX After Multiply
16진수 곱셈의 결과를 ASCII 곱셈의 결과로 조정합니다.
mov bl 05h
mov al 06h
mul bl ; ax : 0x001e
AAM ; ax : 0x0300
64-bit Mode에서는 invalid 합니다.
AAS—ASCII Adjust AL After Subtraction
16진수 뺄셈의 결과를 ASCII 연산의 결과로 조정합니다.
mov AX 0x0038 ('8')
sub AX 0x0039 ('9')
AAS ; AX : 0xFF09
or AX 0x0030 ; AX : 0xFF39 ('-9')
64-bit Mode에서는 invalid 합니다.
ADC—Add with Carry
덧셈을 수행하고 Carry의 값이 있는 경우 1을 더합니다.
ADD—Add
덧셈을 수행
다음에 잇는 XMMS 연산은 아래 파일에서 그림을 참조하시는게 빠릅니다.
http://saikat.guha.cc/ref/x86-64vol4.pdf (30Page)
ADDPD—Add Packed Double-Precision Floating-Point Values
XMMS8-XMMS15에 있는 Packed된 8바이트 Double 덧셈을 수행
ADDPS—Add Packed Single-Precision Floating-Point Values
XMMS8-XMMS15에 있는 Packed된 4바이트 float 덧셈을 수행
ADDSD—Add Scalar Double-Precision Floating-Point Values
XMMS8-XMMS15에 있는 8바이트 Double 덧셈을 수행
ADDSS—Add Scalar Single-Precision Floating-Point Values
XMMS8-XMMS15에 있는 4바이트 float 덧셈을 수행
ADDSUBPD—Packed Double-Precision Floating-Point Add/Subtract
XMMS8-XMMS15에 있는 8바이트 Double 덧셈과 뺄셈을 수행
ADDSUBPS—Packed Single-Precision Floating-Point Add/Subtract
XMMS8-XMMS15에 있는 4바이트 float 덧셈과 뺄셈을 수행
AND—Logical AND
logical AND 연산을 수행하고, 결과값을 Destination에 저장
다소 많이 부족해보이네요.. 휴~~
(ADC, ADD, AND를 더 설명할까요? 음..)
AAA—ASCII Adjust After Addition
16진수 덧셈의 결과를 ASCII 숫자 덧셈의 결과로 조정합니다.
MOV AX '8' (0x0038)
ADD AX '2' (0x0032) ; AX : 0x006A
AAA ; -> AX의 값이 0x0100으로 조정됨)
OR AX, 0x3030 ; -> AX의 값은 '10' (0x3130)으로 조정됨)
64-bit Mode에서는 invalid 합니다.
AAD—ASCII Adjust AX Before Division
ASCII 숫자 나눗셈을 하기 전에 AX의 값을 조정합니다.
MOV AX 0x0307
AAD ; AX : 0x0025
div bl(5) ; al : 몫, ah : 나머지
64-bit Mode에서는 invalid 합니다.
AAM—ASCII Adjust AX After Multiply
16진수 곱셈의 결과를 ASCII 곱셈의 결과로 조정합니다.
mov bl 05h
mov al 06h
mul bl ; ax : 0x001e
AAM ; ax : 0x0300
64-bit Mode에서는 invalid 합니다.
AAS—ASCII Adjust AL After Subtraction
16진수 뺄셈의 결과를 ASCII 연산의 결과로 조정합니다.
mov AX 0x0038 ('8')
sub AX 0x0039 ('9')
AAS ; AX : 0xFF09
or AX 0x0030 ; AX : 0xFF39 ('-9')
64-bit Mode에서는 invalid 합니다.
ADC—Add with Carry
덧셈을 수행하고 Carry의 값이 있는 경우 1을 더합니다.
ADD—Add
덧셈을 수행
다음에 잇는 XMMS 연산은 아래 파일에서 그림을 참조하시는게 빠릅니다.
http://saikat.guha.cc/ref/x86-64vol4.pdf (30Page)
ADDPD—Add Packed Double-Precision Floating-Point Values
XMMS8-XMMS15에 있는 Packed된 8바이트 Double 덧셈을 수행
ADDPS—Add Packed Single-Precision Floating-Point Values
XMMS8-XMMS15에 있는 Packed된 4바이트 float 덧셈을 수행
ADDSD—Add Scalar Double-Precision Floating-Point Values
XMMS8-XMMS15에 있는 8바이트 Double 덧셈을 수행
ADDSS—Add Scalar Single-Precision Floating-Point Values
XMMS8-XMMS15에 있는 4바이트 float 덧셈을 수행
ADDSUBPD—Packed Double-Precision Floating-Point Add/Subtract
XMMS8-XMMS15에 있는 8바이트 Double 덧셈과 뺄셈을 수행
ADDSUBPS—Packed Single-Precision Floating-Point Add/Subtract
XMMS8-XMMS15에 있는 4바이트 float 덧셈과 뺄셈을 수행
AND—Logical AND
logical AND 연산을 수행하고, 결과값을 Destination에 저장
다소 많이 부족해보이네요.. 휴~~
(ADC, ADD, AND를 더 설명할까요? 음..)
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | [공지] 커널 스터디 관련 Q&A 게시판 입니다. [5] | woos | 2016.04.09 | 2197 |
1605 | 현재 2명 출석... | 김기태 | 2008.06.21 | 8968 |
1604 | 지금까지 공부한 boot 과정 순서도입니다. [5] | 김종화 | 2007.04.09 | 8944 |
1603 | 읔, 이번주 스터디 불참, [2] | 강진성 | 2010.04.09 | 8924 |
1602 | 진행사항 및 다음주 일정 조사입니다~ [7] | 남현우 | 2008.05.18 | 8912 |
1601 | lilo 분석자료 [4] | 남현우 | 2007.05.21 | 8851 |
1600 | 허허~ 이런이런~ [4] | 변유준 | 2007.06.13 | 8832 |
1599 | 7차 분들이 드디어 시작했네요. 한번 우리를 따라와보시라~! 하하 [5] | 윤석훈 | 2010.04.08 | 8790 |
1598 | [잡담] 가지고놀 괜찮은 Exynos 4412 보드하나~ [2] | 우상정 | 2012.07.11 | 8729 |
1597 | EMt-64 4기 팀에 참여 명단 알려주세요. | 백창우 | 2008.08.12 | 8709 |
1596 | 이번주 진행사항 | 남현우 | 2008.05.24 | 8706 |
1595 | 1월3일 모임 | 조용락 | 2009.01.02 | 8701 |
1594 | head.S 정리 자료입니다. | 선준규 | 2007.05.24 | 8697 |
1593 | Slab, Slub, Slob에 관해서... [2] | 조성진 | 2013.05.06 | 8648 |
1592 | procfs, sysfs | 홍문화 | 2011.04.12 | 8633 |
1591 | 만들면서 배우는 OS 커널의 구조와 원리 - 정리 되어있네요 | 박 경훈 | 2011.05.03 | 8542 |
1590 | 매핑(mapping)의 의미 [4] | 홍문화 | 2011.05.03 | 8502 |
1589 | 3기분들 5기 스터디 신청하시죠?? | 송형주 | 2008.08.11 | 8501 |
» | AAA ~ AND 까지 입니다. | 박경태 | 2007.03.10 | 8486 |
1587 | 리눅스 커널의 이해 [2] | 백창우 | 2007.10.24 | 8480 |
1586 | blkb 명령어에 대하여..... [1] | 송원종 | 2008.11.07 | 8470 |
.