어셈블리명령어.7z
0.01MB
어셈블리명령어.txt
0.00MB

MOV Move 데이터 이동(전송)
PUSH Push 오퍼랜드의 내용을 스택에 쌓는다
POP Pop 스택으로부터 값을 뽑아낸다.
XCHG Exchage Register/ memory with Register 첫 번째 오퍼랜드와 두번째 교환
IN Input from AL/AX to Fixed port 오퍼랜드로 지시된 포트로부터 AX에 데이터 입력

OUT Output from AL/AX ot Fixed port 오퍼랜드가 지시한 포트로 AX의 데이터 출력
XLAT Translate byte to AL BX:AL이 지시한 테이블의 내용을 AL로 로드
LEA Load Effective Address to Register 메모리의 오프셋 값을 레지스터로 로드
LDS Load Pointer to DS "REG<(MEM), DS<(MEM+2)"
LES Load Pointer to ES "REG<(MEM), ES<(MEM+2)"
LAHF Load AH with Flags 플래그의 내용을 AH의 특정 비트로 로드
PUSHF Push Flags 플래그 레지스터의 내용을 스택에 쌓음
POPF Pop Flags 스택으로부터 플래그 레지스터로 뽑음
ADD Add 캐리를 포함하지 않은 덧셈
SBB Subtract with Borrow 캐리를 포함한 뺄셈
DEC Decrement 오퍼랜드 내용을 1 감소
NEG Change Sign 오퍼랜드의 2의 보수(부호 반전)
CMP Compare 두개의 오퍼랜드 비교
ADC Add with Carry 캐리를 포함한 덧셈
INC Increment 오퍼랜드 내용을 1 증가
AAA ASCII adjust for Add 덧셈 결과 AL값을 UNPACK 10진수로 
보정
DAA Decimal adjust for Add 덧셈 결과 AL값을 PACK 10진수로 
보정
SUB Subtract 캐리를 포함하지 않은 뺄셈
AAS ASCII adjust for Subtract 뺄셈 결과 AL값을 UNPACK 10진수로
보정
DAS Decimal adjust for Subtract 뺄셈 결과 AL값을 PACK 10진수로 
보정
MUL Multiply 곱셈
ADD Add 캐리를 포함하지 않은 덧셈
SBB Subtract with Borrow 캐리를 포함한 뺄셈
DEC Decrement 오퍼랜드 내용을 1 감소
NEG Change Sign 오퍼랜드의 2의 보수(부호 반전)
CMP Compare 두개의 오퍼랜드 비교
ADC Add with Carry 캐리를 포함한 덧셈
INC Increment 오퍼랜드 내용을 1 증가
AAA ASCII adjust for Add 덧셈 결과 AL값을 UNPACK 10진수로 
보정
DAA Decimal adjust for Add 덧셈 결과 AL값을 PACK 10진수로 
보정
SUB Subtract 캐리를 포함하지 않은 뺄셈
AAS ASCII adjust for Subtract 뺄셈 결과 AL값을 UNPACK 10진수로
보정
DAS Decimal adjust for Subtract 뺄셈 결과 AL값을 PACK 10진수로 
보정
MUL Multiply 곱셈
NOT Invert "오퍼랜드의 1의 보수, 비트 반전"
SHL/SAL Shift logical/arithmetic Left 왼쪽으로 오퍼랜드만큼 자리 이동
(최하위 비트 0)
SHR Shift logical Right 오른쪽으로 오퍼랜드만큼 자리 이동
(최상위 비트 0)
SAR Shift arithmetic Right 오른쪽 자리이동
최상위 비트는 유지
ROL Rotate Left 왼쪽으로 오퍼랜드만큼 회전 이동
ROR Rotate Right 오른쪽으로 오퍼랜드만큼 회전 이동
RCL Rotate Through Carry Left 캐리를 포함하여 왼쪽으로 오퍼랜드
만큼 회전 이동
RCR Rotate Through Carry Right 캐리를 포함하여 오른쪽으로 오퍼랜드
만큼 회전 이동
AND And 논리 AND
TEST "And Function to Flags, no result" 첫 번째 오퍼랜드와 두 번째 오퍼랜드를 
AND하여 그 결과로 플래그 세트
OR Or 논리 OR
XOR Exclusive Or 논리 XOR
CALL Call 프로시저 호출
JMP Unconditional Jump 무조건 분기
RET Return from CALL CALL로 스택에 PUSH 된 주소로 복귀
JO Jump on Overflow 오버플로가 발생하면 분기
JS Jump on Sign 부호 플래그가 1이면 분기
INT Interrupt 인터럽트 실행
INTO Interrupt on Overflow 오버플로우가 발생하면 인터럽트 실행
IRET Interrupt Return 인터럽트 복귀(리턴)
JCXZ Jump on CX Zero Cx가 0이면 분기
LOOP Loop CX times CX를 1감소하면서 0이 될 때까지
지정된 라벨로 분기
JNO Jump on not Overflow 오버플로우가 아닌 경우 분기
JNS Jump on not Sign 부호 플래그가 0이면 분기
CALL Call 프로시저 호출
JMP Unconditional Jump 무조건 분기
RET Return from CALL CALL로 스택에 PUSH 된 주소로 복귀
JO Jump on Overflow 오버플로가 발생하면 분기
JS Jump on Sign 부호 플래그가 1이면 분기
INT Interrupt 인터럽트 실행
INTO Interrupt on Overflow 오버플로우가 발생하면 인터럽트 실행
IRET Interrupt Return 인터럽트 복귀(리턴)
JCXZ Jump on CX Zero Cx가 0이면 분기
LOOP Loop CX times CX를 1감소하면서 0이 될 때까지
지정된 라벨로 분기
JNO Jump on not Overflow 오버플로우가 아닌 경우 분기
JNS Jump on not Sign 부호 플래그가 0이면 분기
CLC Clear Carry 캐리 플래그 클리어
CMC Complement Carry 캐리 플래그 반전
CLD Clear Direction 디렉션 플레그 클리어
CLI Clear Interrupt 인터럽트 플래그 클리어
HLT Halt 정지
LOCK Bus Lock prefix Lock
STC Set Carry 캐리 플레그 셋
NOP No operation
STD Set Direction 디렉션 플레그 셋
STI Set Interrupt 인터럽트 인에이블 플레그 셋
WAIT Wait 플로세서를 일시 정지
ESC Escape to External device Escape 명령
DB Define Byte Name DB 초기값
DW Define Word Name DW 초기값
DD Define Double Word Name DD 초기값
DQ Define Quad Word Name DQ 초기값
DT Define Ten Bytes Name DT 초기값
EQU 변수 이름에 데이터 값이나 문자열 정의 Name EQU 데이터값/문자열
= EQU와 달리 정의된 값을 변경 가능 -
EVEN 어셈블리 지시어가 사용되는 곳의 주소가 짝수로 되도록 함 -
PAGE 어셈블리 리스트의 형식을 결정 PAGE[length][width]
TITLE 어셈블리 리스트의 각 페이지에 제목 출력 Title text

 

어셈블리 명령어 정리 엑셀 파일 포함.

'Blog History' 카테고리의 다른 글

277  (0) 2020.05.18
276  (0) 2020.05.18
274  (0) 2020.05.18
273  (0) 2020.05.18
272  (0) 2020.05.17

+ Recent posts