AAA ~ AND 까지 입니다.

박경태 2007.03.10 22:59 조회 수 : 8486 추천:126

제가 글로 표현하기 난해한 부분이 있었는데, 잘 이해바랍니다. ^^;;;

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를 더 설명할까요? 음..)
번호 제목 글쓴이 날짜 조회 수
공지 [공지] 커널 스터디 관련 Q&A 게시판 입니다. [5] woos 2016.04.09 2197
1605 현재 2명 출석... 김기태 2008.06.21 8968
1604 지금까지 공부한 boot 과정 순서도입니다. [5] file 김종화 2007.04.09 8944
1603 읔, 이번주 스터디 불참, [2] 강진성 2010.04.09 8924
1602 진행사항 및 다음주 일정 조사입니다~ [7] 남현우 2008.05.18 8912
1601 lilo 분석자료 [4] file 남현우 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 정리 자료입니다. file 선준규 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] file 백창우 2007.10.24 8480
1586 blkb 명령어에 대하여..... [1] 송원종 2008.11.07 8470
XE Login