110 likes | 350 Views
Assembly For X86. Chapter 2 The CPU Registers. האוגרים. אוגרים כלליים: AX , BX , CX , DX – 16 סיביות AH , AL , BH , BL .. – 8 סיביות EAX , EBX , ECX , EDX – 32 סיביות מצביעים: SI , DI , BP , SP , IP ESI , EDI ,... אוגר דגלים. אוגר AX - ACCUMULATOR.
E N D
Assembly For X86 Chapter 2 The CPU Registers
האוגרים • אוגרים כלליים: • AX, BX, CX, DX – 16 סיביות • AH, AL, BH, BL .. – 8 סיביות • EAX, EBX, ECX, EDX – 32 סיביות • מצביעים: • SI, DI, BP, SP, IP • ESI, EDI ,... • אוגר דגלים
אוגר AX- ACCUMULATOR • משמש להחזקת תוצאה בפעולות כפל, חילוק • משמש להעברת נתונים ל- IO PORT • העברת 8 bit – AL בלבד • העברת 16 bit - AX
העברת נתון ל- IO Port PORT_1 EQU 60H OUT PORT_1,AL OUT PORT_1,AX IN AL,PORT_1 IN AX,PORT_1
הכפלת שני אוגרי 8 סיביות MOV AL,20H MOV BL,10H MUL BL ;AX=AL*BL הכפלת שני אוגרי 16 סיביות MUL BX ;DX:AX = AX * BX חילוק 8 סיביות MOV AH,0 DIV CL ;AX/CL ==> AL,AH חילוק 16 סיביות DIV CX ;DX:AX/CX ==> AX,DX
BX - BASE REGISTER (POINTER) העברת מידע לזיכרון MOV AL,15H MOV BX,2000H MOV [BX],AL העברת מידע מהזיכרון MOV BX,2000H MOV AL,[BX] ; 8 BIT MOV BX,2000H MOV AX,[BX] ;16 BIT
CX - COUNTER MOV CX,5 LP1: DEC CX JNZ LP1 MOV CX,5 LP1: LOOP LP1 DX - DATA REGISTER - I/O POINTER MOV DX,PORT1 FOR I/O PORT > 255 OUT DX,AL OUT DX,AX IN AL,DX IN AX,DX
SI -SOURCE INDEX , DI -DESTINATION INDEX MOV SI,2000H ; SOURCE MOV DI,3000H ; DESTINATION MOV CX,1000H ; COUNTER REP MOVSB BP - BASE POINTER מצביע לאזור הנתונים במחסנית ומשמש להעברת פרמטרים לפונקציות SP - STACK POINTER מצביע לראש המחסנית
מצביעים טבעיים CS:IP - TO THE CODE SS:BP - TO THE STACK TO THE DATA DS:BX DS:SI DS:DI DS:BP TO THE EXTRA DATA ES:BX ES:SI ES:DI ES:BP ע”י פקודות בתוכנית ע”י פקודות בתוכנית
דגלים • OF – overflow – עובר למצב 1 כאשר יש גלישה אריטמטית • SF – סימן – 0 מציין חיובי, 1 שלילי • ZF – מכיל 1 כאשר התוצאה בפעולה האחרונה היתה 0 • PF – זוגיות, מכיל 1 כאשר מספר הסיביות עם ערך 1 באוגר התוצאה זוגי • AF – גלישה מסיבית 3 לסיבית 4 • CF – גלישה של סיבית אחת באוגר 8 או 16 סיביות • DF – כאשר ערכו 0 מתבצעות פעולות במחרוזות בקידום אוטומטי • IF – כאשר ערכו 0 לא ניתן לבצע פסיקות חומרה • TR – כאשר ערכו 1 המעבד יריץ את פסיקת תוכנה 3 לאחר כל פקודה