성엽이
KKIMSSI
성엽이
전체 방문자
오늘
어제
  • 분류 전체보기 (454)
    • :) (2)
    • C프로그래밍이론 (9)
    • C++프로그래밍 (64)
      • STL (1)
    • C# (2)
    • Visual studio 10.0 (9)
    • AT91SAM7S256 (21)
    • 논리회로 (14)
    • AVR2560 (11)
    • TCPIP (16)
    • NetWork (4)
      • Ubuntu Linux (2)
    • Assembly (21)
    • UNIX 프로그래밍 (6)
    • RFID 분석 (1)
    • Win32 API (7)
    • Cortex-M3 (4)
    • Unity (91)
    • Flutter (9)
    • OwnProject (11)
      • It's mine (5)
      • 마인드스톰 실습 (1)
      • 보고서 자료 (2)
      • RPi B+ (2)
    • ETC (25)
      • 상식 (3)
    • MFC (40)
    • PostgeSQL (18)
    • 영상제어 (6)
      • VFW_영상처리 (1)
    • Python (0)
    • Java (30)
      • SpringBoot (2)
      • Javascript (1)
      • JSP (13)
      • Spring (8)
    • Oracle (4)
      • SQL (3)
    • HTML (6)
      • Thymeleaf (1)
      • CSS (1)
      • Bootstrap (3)
    • IDE (1)
      • VS Code (1)
    • Android (2)
    • Privacy Policy (0)
    • MYSQL (2)
      • MariaDB (2)
    • AWS (5)
    • 개인공부 (0)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록
  • 관리자
  • 글쓰기

공지사항

인기 글

태그

  • Boot Code 분석
  • 문자열 나누기
  • MFC
  • WINAPI
  • ARM Reverse Engineering

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
성엽이

KKIMSSI

2013.09.02_ASM_Convering Instruction
Assembly

2013.09.02_ASM_Convering Instruction

2013. 9. 2. 20:19


 Division Instruction

 


 - dividend = quotient*divisor + remainder


=> 나눌때는 항상 DX 를 초기화(1 or 0)하거나 부호를 결정하여 확장 해주어야 한다.

매번 대입명령어나 빼기 명령어를 이용하여(mov edx,0  , sub edx, edx ) 값을 정해줘야 하는데 이를 간단하게 변환해주는 명령어가 있다.


 cbw, cwd, cdq, cwde Instructions

 


  ▶ 부호 변환이 자유롭다. 0 or 1 을 일일히 넣어주는 것보다, 이 명령어를 쓰면 값의 앞부분을 ( F or 0 으로 )채워준다.  


   - cbw    : AL    => AX

   - cwd    : AX    => DX:AX

   - cdq    : EAX   => EDX:EAX

   - cwde  : AX     => EAX ( 단순 확장 , 캐스팅 )




  ▶ 결과적으로 mov or sub 를 한것과 동일.




movzx, movsx Instruction 

 


  ▶ 값을 대입하고 나서 바로 0 으로 ( movzx ) 초기화 시켜주거나, 부호에 따라서 값을 ( movsx ) 저장시켜준다.




======== 온도 섭씨->화씨, 화씨->섭씨 =========

Convert_temp.asm

Convert_temp4_4_1.asm

=============================================

저작자표시 (새창열림)

'Assembly' 카테고리의 다른 글

2013.09.10_ASM_push_instructions, pop_instructions  (0) 2013.09.10
2013.09.04_jmp_instruction  (0) 2013.09.04
2013.08.29_Division Instructions  (0) 2013.08.29
2013.08.28_ASM_Basic Instruction  (0) 2013.08.28
2013.08.27_EFLAGS레지스터의구조  (0) 2013.08.27
    'Assembly' 카테고리의 다른 글
    • 2013.09.10_ASM_push_instructions, pop_instructions
    • 2013.09.04_jmp_instruction
    • 2013.08.29_Division Instructions
    • 2013.08.28_ASM_Basic Instruction
    성엽이
    성엽이

    티스토리툴바