HOME > 상세정보

상세정보

IA-32 프로세서 어셈블리 언어

IA-32 프로세서 어셈블리 언어 (40회 대출)

자료유형
단행본
개인저자
김상복 구명모 , 공저 박찬이 , 공저
서명 / 저자사항
IA-32 프로세서 어셈블리 언어 / 김상복 ; 구명모 ; 박찬이 공저.
발행사항
서울 :   정익사 ,   2005.  
형태사항
[510] p. : 삽도 ; 26 cm.
기타표제
부동 소수점 명령어 포함
ISBN
8935303860
일반주기
색인수록: p. [504-510]  
000 00700namccc200241 k 4500
001 000045147815
005 20100806100418
007 ta
008 050126s2005 ulka 001a kor
020 ▼a 8935303860 ▼g 93000: ▼c \18,000
040 ▼a 211009 ▼c 211009 ▼d 211009
082 0 4 ▼a 005.136 ▼2 22
090 ▼a 005.136 ▼b 2005
100 1 ▼a 김상복 ▼0 AUTH(211009)72393
245 1 0 ▼a IA-32 프로세서 어셈블리 언어 / ▼d 김상복 ; ▼e 구명모 ; ▼e 박찬이 공저.
246 0 3 ▼a 부동 소수점 명령어 포함
246 0 3 ▼a Visual C++와 어셈블리와의 연결
260 ▼a 서울 : ▼b 정익사 , ▼c 2005.
300 ▼a [510] p. : ▼b 삽도 ; ▼c 26 cm.
500 ▼a 색인수록: p. [504-510]
700 1 ▼a 구명모 , ▼e 공저
700 1 ▼a 박찬이 , ▼e 공저

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/제2자료실(3층)/ 청구기호 005.136 2005 등록번호 111312326 (4회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 중앙도서관/교육보존B/보건 청구기호 005.136 2005 등록번호 141041790 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 3 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.136 2005 등록번호 121103325 (17회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 4 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.136 2005 등록번호 121103326 (19회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/제2자료실(3층)/ 청구기호 005.136 2005 등록번호 111312326 (4회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 중앙도서관/교육보존B/보건 청구기호 005.136 2005 등록번호 141041790 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.136 2005 등록번호 121103325 (17회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.136 2005 등록번호 121103326 (19회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

일반적으로 배우기 힘들다는 어셈블리 언어를 더 쉽게 접근할 수 있도록 구성하였다. 단원마다 쉽게 설명하도록 하였으며, 예제를 통하여 어셈블리 언어를 이해하고 실제 응용할 수 있는 능력을 키울 수 있도록 구성하였다.
처음부터 끝까지 어셈블리 언어를 이용하여 프로그래밍 하는 것에만 국한된 것은 아니다. 그리고 고급언어로 작성하더라도 하드웨어 동작과 연산에 관련된 부분을 어셈블리 언어로 작성하여 고급언어로 작성되는 프로그램에 접목할 수 있도록 구성하였다.
C 언어와 어셈블리 언어를 모듈로 작성하여 어떻게 링크시켜 실행 파일을 만들 수 있는가를 예제와 함께 설명하였다.


정보제공 : Aladin

저자소개

김상복(지은이)

<배우기 쉬운 FORTRAN>

정보제공 : Aladin

목차


목차
제1장. IA(Intel Architecture) 계열 프로세서 변천
 1.1 소개 = 14
 1.2 어셈블리 언어를 배워야 되는 이유? = 14
 1.3 어셈블리 언어의 응용분야 = 15
 1.4 IA-32 프로세서 발전 개요 = 15
 1.5 IA-32 프로세서 변천 = 16
  1.5.1 Intel 8086/8088 = 16
  1.5.2 Intel 80286(IBM PC-AT) = 17
  1.5.3 Intel 80386 = 17
  1.5.4 Intel 80486 = 18
  1.5.5 Intel Pentium = 19
제2장. IA-32 프로세서의 기본은 Intel 8086/8088
 2.1 Intel 8086/8088의 기본적인 구조 = 24
 2.2 Intel 8086/8088의 메모리 = 25
 2.3 Programming 모델 = 26
  2.3.1 범용 레지스터 = 26
  2.3.2 포인터와 인덱스 레지스터 = 27
  2.3.3 명령어 레지스터 : IP(Instruction Pointer) = 28
  2.3.4 세그먼트 레지스터(Segment Register) = 28
연습 문제 = 38
제3장. 프로그래머 관점에서 바라본 펜티엄4 프로세스
 3.1 IA-32 프로세서의 기본 실행 환경 = 42
 3.2 IA-32 프로세서 레지스터 = 43
  3.2.1 IA-32 범용 레지스터 = 44
  3.2.2 세그먼트 레지스터 = 46
  3.2.3 명령어 포인터 레지스터 : EIP(Instruction Pointer Register) = 49
  3.2.4 상태 제어 플래그(EFLAGS) 레지스터 = 50
  3.2.5 시스템 플래그 = 51
 3.3 IA-32 프로세서의 동작 모드 종류 = 52
 3.4 메모리 구성 = 54
 3.5 32비트 레지스터 모드에서의 특성 = 56
 3.6 IA-32 프로세서 상에서의 실제 모드 = 57
  3.6.1 실제 모드 IA-32 프로세서의 세그먼트와 세그먼트 레지스터 = 57
  3.6.2 IA-32 프로세서 실제 모드에서 사용가능한 레지스터와 주소 지정 방식 = 58
 3.7 메모리 주소지정의 개념 = 59
  3.7.1 메모리 주소지정의 기구 = 60
  3.7.2 실제 모드 IA-32 프로세서 상에서의 20비트 주소계산의 emulation = 63
연습 문제 = 64
제4장. IA-32 프로세서의 데이터 형식
 4.1 기본 데이터 크기(Fundamental data size) = 66
 4.2 표기법 = 67
 4.3 수치 데이터 형(numeric data types) = 67
  4.3.1 정수(Integers) = 68
 4.4 문자열 데이터 형(string data types) = 71
 4.5 BCD(Binary Coded Decimal) = 72
  4.5.1 (unpack) BCD 및 pack BCD 정수 = 72
 4.6 메모리 내의 데이터 저장 = 73
연습 문제 = 74
제5장. 프로그램 기초와 주소 지정 방식
 5.1 IA-32 어셈블리 언어 형식 = 78
  5.1.1 레이블(Label) 필드 = 78
  5.1.2 OP 코드(umumonic)와 오퍼랜드 필드 = 79
  5.1.3 설명문 필드 = 79
 5.2 지시어(directive) = 80
  5.2.1 리스트 지시어 : PAGE 및 TITLE = 80
  5.2.2 세그먼트 지시어 = 81
  5.2.3 프로세스와 실수연산 프로세스의 지정 = 85
  5.2.4 스택 생성 = 85
 5.3 단순 세그먼트 지시어 = 86
  5.3.1 .MODEL = 86
  5.3.2 .STACK 지시어 = 86
  5.3.3 .DATA와 @DATA 지시어 = 86
  5.3.4 .CODE 지시어 = 87
  5.3.5 프로그램의 시작(.STARTUP)과 종료 지시어(.EXIT) = 88
 5.4 어셈블리 언어로 원시 프로그램을 작성하기 위한 간단한 명령어 = 89
  5.4.1 데이터 전송 명령어 = 89
 5.5 원시 프로그램의 작성 = 91
 5.6 원시 프로그램의 어셈블과 실행 과정 = 93
  5.6.1 어셈블리 과정 = 94
  5.6.2 링크 과정 = 94
  5.6.3 실행 과정 = 95
  5.6.4 ML 명령에 의한 어셈블과 링크 과정 = 95
 5.7 정수 및 문자 데이터 정의 = 95
  5.7.1 바이트 크기 데이터 정의 : DB = 96
  5.7.2 워드 크기 데이터 정의 : DW = 99
  5.7.3 더블 워드 크기 데이터 정의 : DD = 99
  5.7.4 8바이트 크기 데이터 정의 : DQ = 99
  5.7.5 10바이트 크기 데이터 정의 : DT = 100
  5.7.6 문자열(string) = 1000
  5.7.7 등호("=") 지시어 = 101
  5.7.8 EQU 지시어 = 102
 5.8 구조체(STRUC) 정의 = 104
 5.9 시스템 호출(System call)을 이용한 INT 21h 함수 = 104
  5.9.1 시스템 호출이란 = 106
  5.9.2 시스템 호출의 종류 = 106
 5.10 주소 지정방식(Addressing mode) = 109
  5.10.1 즉치 주소 지정방식(Immediate Addressing) = 110
  5.10.2 레지스터 주소방식(Resister Addressing) = 110
  5.10.3 메모리 참조 주소 지정방식 = 111
  5.10.4 메모리 위치를 가리키는데 사용되는 연산자들 = 118
 5.11 16비트 레지스터와 32비트 레지스터의 혼용 = 122
연습 문제 = 123
제6장. IA-32 정수형 범용 명령어
 6.1 MOV 이외의 데이터 전송 명령어 = 126
  6.1.1 데이터 교환(Exchange) 명령어 = 126
  6.1.2 BSWAP(Byte swap) = 127
  6.1.3 주소를 목적지 레지스터로 옮기는 전송 명령어 = 128
  6.1.4 XLAT/XLATB : Table Look-Up translation = 129
 6.2 형 변환(주호 확장, ZERO 확장) 명령어 = 131
  6.2.1 MOVSX 명령어 : [Signe-extend move 명령어 : MOVSX] = 132
  6.2.2 MOVZX : [Zero-extend move 명령어 : MOVZX] = 133
  6.2.3 NEG(NEGate) = 134
 6.3 산술 명령어 = 135
  6.3.1 INC와 DEC 명령어 = 135
  6.3.2 덧셈 및 뺄셈 명령어 = 138
  6.3.3 XADD : Exchange and ADD = 141
  6.3.4 뺄셈 명령어 : SUB와 SBB = 142
 6.4 형 변환 명령어 : CBW, CWD/CWDE, CDQ = 144
  6.4.1 CBW/CWDE = 144
  6.4.2 CWD/CDQ = 145
 6.5 곱셈 = 146
  6.5.1 부호 없는 정수의 곱셈 = 147
  6.5.2 부호 있는 곱셈(IMUL) = 149
  6.5.3 IMUL 곱셈 명령어 = 151
 6.6 나눗셈 = 152
  6.6.1 부호 없는 정수의 나눗셈 : DIV 명령어 = 153
  6.6.2 부호 있는 정수 나눗셈 = 155
연습 문제 = 162
제7장. 제어문과 반복문
 7.1 무조건 분기 명령어(JMP) = 166
  7.1.1 Short JMP 명령어 = 167
  7.1.2 Near JMP 명령어 = 169
  7.1.3 far JMP 명령어 = 169
 7.2 조건부 점프 명령어 = 171
  7.2.1 비교 명령어(Compare) = 171
  7.2.2 조건 분기류 명령어 = 173
  7.2.3 Pretest Loops = 176
  7.2.4 조건식의 결정구조 = 182
 7.3 반복 수행문 카운터 제어 구조 = 187
  7.3.1 LOOP/LOOPcc 명령어 = 187
  7.3.2 LOOPE/LOOPZ = 191
  7.3.3 LOONE/LOOPNZ = 192
  7.3.4 JECXZ = 194
연습 문제 = 195
제8장. 배열과 문자열 처리
 8.1 배열의 필요성 = 200
 8.2 인덱스 주소 지정방식(Index Addressing) = 201
 8.3 베이스 인덱스 주소 지정방식 = 203
 8.4 베이스 상대 인덱스 주소 지정방식 = 206
 8.5 스케일된 인덱스 주소 지정방식 = 207
 8.6 데이터 저장을 위한 배열이 초기값 설정과 배열의 요소 액세스 = 210
 8.7 Lengthof, Sizeof와 Type 연산자 = 212
 8.8 문자열 처리 명령어(string instructions) = 220
  8.8.1 문자열 동작의 특징 = 221
  8.8.2 MOVS/MOVSB/MOVSW/MOVSD : 문자열 전송 명령어 = 222
  8.8.3 REP : 반복 문자열 접두어 = 226
  8.8.4 LODS/LODSB/LODSW/LODSD : Lode string 명령 = 231
  8.8.5 STOS/SOSB/STOSW/STOSD : Store string : 문자열을 저장 = 232
  8.8.6 CMPS/CMPSB/CMPSW/CMPSD : Compare String Operands : 문자열을 비교 = 233
  8.8.7 SCAS(Scan string) : 문자열을 조사 = 237
연습 문제 = 240
제9장. 프로시저
 9.1 스택(Stack) = 245
  9.1.1 PUSH와 POP 명령 = 246
 9.2 간단한 프로시저 = 252
  9.2.1 PROC-ENDP 지시어 = 252
  9.2.2 CALL 명령과 복귀명령 RET = 253
  9.2.3 프로시저로 인수(parameters)를 전달하는 방법 = 256
  9.2.4 스택 프레임(Stack Frame)과 EBP의 효율적 사용 = 259
  9.2.5 스택 상에서의 지역 변수 사용 = 263
 9.3 재귀 기법(Recursion) = 265
 9.4 세그먼트간의 프로시저 호출 명령 = 269
 9.5 세그먼트 오버라이트 프리픽스와 GROUP 의사 명령어 = 270
 9.6 EXTRN, PUBLIC 선언 = 272
  9.6.1 PUBLIC 지시어 = 273
  9.6.2 EXTRN 지시어 = 273
 9.7 인크루트(include) 파일의 사용 = 279
연습 문제 = 283
제10장. 어셈블리 언어와 Visual C++ 과의 연결
 10.1 Visual C++상에서의 인라인 어셈블리 코드 = 287
  10.1.1 인라인 어셈블리 코드 작성 특징 = 290
 10.2 Visual C++과 어셈블리 언어 = 291
 10.3 IA-32 프로세서 어셈블리 언어와 Visual C++ 6.0과의 연결 = 292
  10.3.1 Visual Studio 상에서 C와 어셈블리 project 생성 = 292
  10.3.2 C 언어로 작성된 소스 프로그램 작성 = 295
  10.3.3 Visual Studio상에서 어셈블리 프로그램 작성 = 298
  103.4 Visual Studio상에서 작성된 C와 어셈블리 프로그램의 실행 예 = 300
연습 문제 = 304
제11장. 매크로(Macro)
 11.1 매크로 구조 = 309
 11.2 매크로 내에 인수를 사용하는 경우 = 311
  11.2.1 인수를 하나만 가지는 경우 = 311
  11.2.2 인수를 2개 이상 가지는 경우 = 313
 11.3 조건부 지시어 = 315
 11.4 Local 지시어 = 317
 11.5 블록 반복 지시어 = 322
  11.5.1 REPT(REPEAT) 지시어 = 322
  11.5.2 IRP(Indefinite RePeat) 지시어 = 323
  11.5.3 IRPC(Indefinite RePeat Character) 의사 명령어 = 324
연습 문제 = 326
제12장. 비트별 논리 연산자
 12.1 AND, OR, XOR, NOT, TEST = 330
  12.1.1 AND : A∧B = 330
  12.1.2 OR : A∨B = 332
  12.1.3 XOR(Exclusive - OR) : A+B = 333
  12.1.4 NOT : A' 혹은 BAR A = 335
  12.1.5 TEST = 336
 12.2 시프트 = 338
  12.2.1 시프트명령 = 339
 12.3 로테이트 : RCL, RCR, ROL, ROR = 343
  12.3.1 RCL(Rotate through Carry Left) = 344
  12.3.2 RCR(Rotate through Carry Right) = 346
  12.3.3 ROL(ROtate Left) = 347
  12.3.4 ROR(ROtate Right) = 349
연습 문제 = 351
제13장. 10진 보정 명령어
 13.1 ASCII 코드와 10진 계산 = 354
 13.2 ASCII 산술 연산 명령(ASCII arithmetic instruction) = 355
  13.2.1 AAA(ASCII adjust AL after addition) = 355
  13.2.2 AAS ; 뺄셈 뒤 ASCII 조정 = 358
  13.2.3 AAM ; 곱셈한 뒤 ASCII 조정 = 359
  13.2.4 AAD ; 나눗셈하기 전에 ASCII 조정 = 360
 13.3 BCD 산술 연산 명령(DAA, DAS) = 362
  13.3.1 DAA(Decimal Adjust AL after Addition) = 363
  13.3.2 DAS(Decimal Adjust AL after Subtraction) = 365
연습 문제 = 368
제14장. 부동소수점 형(Floating Point : 실수)
 14.1 부동소수점 수 = 370
 14.2 부동소수점 수 연산 = 370
  14.2.1 부동 소수점 형 데이터 표현의 필요성 = 370
  14.2.2 컴퓨터에서 부동소수점 수 처리의 어려운 점 = 371
  14.2.3 부동소수점 수 체계 표준 = 372
 14.3 IA-32 FPU 내에서 데이터 표현 형식 = 372
  14.3.1 데이터 형식 = 373
 14.4 부동소수점 수 데이터의 초기화 선언 = 377
  14.4.1 FPU 레지스터 스택의 구조 = 378
 14.5 부동소수점 수 명령어 세트 = 381
 14.6 FPU 명령어 형식 = 382
 14.7 데이터 전송 명령 = 384
  14.7.1 Load 명령어 = 385
  14.7.2 저장(Store) 명령어 = 388
  14.7.3 FIST/FISTP = 389
  14.7.4 Register Exchange Instruction = 392
  14.7.5 상수 값을 load하는 명령어 = 393
 14.8 부동소수점 형 산술 명령어 = 396
  14.8.1 덧셈 명령어 = 396
  14.8.2 뺄셈 명령어 = 399
  14.8.3 곱셈 명령어 = 403
  14.8.4 나눗셈 = 405
 14.9 그 외의 산술 명령어 = 411
 14.10 비교와 제어 명령어 = 413
연습 문제 = 417
부록
 부록 A = 420
 부록 B = 425
 부록 C : IA-32 프로세서 명령어 = 437
 부록 D : DOS 인터럽트 21 = 485
 부록 E : 아스키 코드 = 501


관련분야 신착자료

Harvard Business Review (2025)