80 likes | 197 Vues
Assembly Programming. Notes for Practical 3 Munaf Sheikh http://www.cs.uwc.ac.za/~msheikh/COS365Assembler. Jump statements. Simplest form of Jump statement “jmp Lable” Equivalent to GOTO Simply says: Jump to Label. Equality Comparison. CMP leftOp, rightOP
E N D
Assembly Programming Notes for Practical 3 Munaf Sheikh http://www.cs.uwc.ac.za/~msheikh/COS365Assembler
Jump statements • Simplest form of Jump statement • “jmp Lable” • Equivalent to GOTO • Simply says: Jump to Label
Equality Comparison • CMP leftOp, rightOP • Compares the leftOperand to the rightOperand • Jumps based on Equality: • JE (jump if equal) • JNE (jump if not equal) • JCXZ (jump if CX = 0) • JECXZ (jump if ECX = 0)
More Equality jumps • JG (jump if greater) • JNLE (jump if not less than or equal to) • JGE (jump if greater or equal) • JNL (jump if not le) • JL (jump if less) • Etc..: JNGE, JLE, JNG
start TRUE FALSE expression Statement List 1 Statement list 2 end IF ELSE’s If (Expression) Statement List 1 Else Statement List 2
IF ELSE’s Initial code here Cmp op1 op2 Je L1 If (OP1 == OP2){ X = 1; Y = 2; } Else { Z = 1; } L1: Mov X,1 Mov Y,2 Jmp L3 L2: Mov Z, 1 Jmp L3 L3:
start Expression FALSE TRUE Statement List End While Loops While (Expression) Statement List
Prac 3 • Write an Assembly Program that: • prompts the user for a System Administrator pin (PIN). • prompts the user for an Iteration Limit (LIMIT). • prints "---THE SYSTEM IS NOW RUNNING---" • Loop until counter = LIMIT • prompt user for pin • if pin == PIN, jump to CORRECTPIN handling code • else print error message and increment counter • jump back to beginning of loop. Save as access.asm