Michael Adams
Assembly Lang
Homework

Exercise 2.2.1
Letters  DB  ‘ABC’ = Letters:  41 42 43	
Digits DB 1,2,3 =  Digits: 1 2 3
More DB ‘e’, 10, ‘fg’ = More: 65 10 102 103	
Hush DB 5 Dup (‘s’), ‘h!’ = Hush: 53 48 21 53 48 21 53 48 21 53 48 21 53 48 21
Two3 DB 3 Dup (2,3,?) = Two3: 2 3 ? 2 3 ? 2 3 ?
Recourse DB 2 Dup (‘x’, 3 Dup (u) = Recourse: 78 75 75 75 78 75 75 75
Exercise 5.1.1
a.	cmp A, 0
jnge lab1
mov ax, A
mov X, ax
jmp lab2
lab1:
mov ax, A
neg ax
mov X, ax
lab2
b.	mov ax, A
cmp ax, B
mov Max, A
jle lab1
lab1:
mov Max, B
c.	cmp Minute, 59
jge lab1
mov Minute, 0
inc Hour
lab1:
inc Minute
d.	cmp C, “ “
je lab1
cmp C, 9
lab1:
move Whitespace, 1
e.	mov ax, A
cmp ax, C
jge lab1
mov cx, C
cmp cx, Z
jle lab2
lab1:
mov UpperCase, 1
lab2:
mov UpperCase, 0
f.	cmp X, 0
jng lab1
mov SgnX, 1
jmp Done
lab1:
jnl lab2
mov SgnX, -1
jmp Done
lab2:
g.	mov ax, Miltime
cmp ax, 1200
jnl lab1
mov AMPM, 41
cmp ax, 100
jl lab2
mov OrdTime, 1200
lab1:
mov AMPM, 50
cmp ax, 1300
lab2:
sub OrdTime, 1200
5.1.2
a.  cmp A, 14
jge lab 1
cmp B, 17
mov ax, X
inc ax
lab1:
mov C, -5
b.	cmp X, 5
	jng lab1
	cmp Y, 0
	jl lab2
	lab1:
	cmp Z, 13
	jnle lab3
	lab2:
	mov A, 10
	jmp lab 4
lab3:
mov A, 2
lab4:
5.1.4
a.	cmp A, 14
	jge S1
	S1:
	mov X, 21
b.	cmp X, ax
	jle L1
	L1:
	Neg X
	Inc X
	L2
c.	cmp ax, 0
	jng over
	inc ax
	jmp through
	over:
	dec ax
	through:
Exercise 6.2
Ax = 2222h
B = 3333h
Ax = 3333h
B =2222h
6.2.2
	The code will save the value of ax on the stack, then bx on the stack.  The pop function removes the last entry of the ax and bx registers.
6.2.3
	Sp has to have to correct value, or there is no point in saving and restoring.
Exercise 6.4
	Push ax 
push cx 
push dx 
cmp ax, 0 
jle done 
mov cx, ax 
spaceloop:
 _Putch ‘ ‘ 
dec  cx 
jnz spaceloop
done: 
pop dx 
pop cx 
pop ax 
ret
Exercise 9.1.1
Al = 11010110B
Al = 11111110B
Al = 10101110B
Al = 00101001B
Al = 11001001B
Al = 08h
Al = 0DFh
Al = 0D7h
Al = 36h
9.1.2
1111110000011111
0000001111100000
1111110000011111
0000001100100000
0001000000000000
0000000000001000
