Lecture Computer organization and assembly language: Chapter 27 - Dr. Safdar Hussain Bouk

After studying this chapter you will be able to understand: Define virtual memory; describe the hardware and control structures that support virtual memory; describe the various OS mechanisms used to implement virtual memory; describe the virtual memory management mechanisms in UNIX, Linux, and Windows 7. | CSC 221 Computer Organization and Assembly Language Lecture 27: 2-Dimensional Arrays + Structures Lecture 26: Review Assembly Implementation of: Stack Parameters INVOKE Directive PROC Directive PROTO Directive Passing by Value or by Reference Example: Exchanging Two Integers Lecture 26: Review Assembly Implementation of: Stack Frames Explicit Access to Stack Parameters Passing Arguments by Reference (cont.) Lecture Outline Two Dimensional Arrays Basic Concept 2-D Array Representation Base-Index Operands Row-Sum Example Base-Index Displacement Bubble Sort Algorithm Structures Two-Dimensional Arrays Basic Concept Base-Index Operands Base-Index Displacement Basic Concepts From an assembly language programmer’s perspective, a two-dimensional array is a high-level abstraction of a one-dimensional array. One of two methods of arranging the rows and columns in memory: row-major order and column-major order. Logical Arrangement Row-major: (Most Common) : Order Base-Index Operand A base-index operand adds the values of two registers (called base and index), producing an effective address. [base + index] The square brackets are required. In 32-bit mode, any two 32-bit general-purpose registers may be used as base and index registers. In 16-bit mode, the base register must be BX or BP, and the index register must be SI or DI. Base-Index Operand The following are examples of various combinations of base and index operands in 32-bit mode: .data array WORD 1000h,2000h,3000h .code mov ebx,OFFSET array mov esi,2 mov ax,[ebx+esi] ; AX = 2000h mov edi,OFFSET array mov ecx,4 mov ax,[edi+ecx] ; AX = 3000h mov ebp,OFFSET array mov esi,0 mov ax,[ebp+esi] ; AX = 1000h Structure Application Base-index operands are great for accessing arrays of structures. (A structure groups together data under a single name.) A common application of base-index addressing has to do with addressing arrays of structures. The following defines a structure named COORD containing X and Y screen . | CSC 221 Computer Organization and Assembly Language Lecture 27: 2-Dimensional Arrays + Structures Lecture 26: Review Assembly Implementation of: Stack Parameters INVOKE Directive PROC Directive PROTO Directive Passing by Value or by Reference Example: Exchanging Two Integers Lecture 26: Review Assembly Implementation of: Stack Frames Explicit Access to Stack Parameters Passing Arguments by Reference (cont.) Lecture Outline Two Dimensional Arrays Basic Concept 2-D Array Representation Base-Index Operands Row-Sum Example Base-Index Displacement Bubble Sort Algorithm Structures Two-Dimensional Arrays Basic Concept Base-Index Operands Base-Index Displacement Basic Concepts From an assembly language programmer’s perspective, a two-dimensional array is a high-level abstraction of a one-dimensional array. One of two methods of arranging the rows and columns in memory: row-major order and column-major order. Logical Arrangement Row-major: (Most Common) : Order Base-Index Operand A

Không thể tạo bản xem trước, hãy bấm tải xuống
TÀI LIỆU MỚI ĐĂNG
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.