How Do I Correct Errors in My TASM Code for Calculating Averages?

  • Thread starter Thread starter nuubik
  • Start date Start date
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
2 replies · 2K views
nuubik
Messages
1
Reaction score
0

Homework Statement


I had to write program which finds all negative elements in columns and calculates their average values and i had to do this with index addressing method. My code below:
Code:
.model tiny
.code
.startup
           Org 100h
           Jmp Short Start
Vector     Dw  2, -7, -1, 16, -15
N          Equ 5

Start:

           Xor Bx, Bx
           Xor Dx, Dx
           Xor Si, Si
           Mov Cx, N
           Dec Cx
S:
           Mov Ax, Vector[Bx]   
           Add Bx, 2
           Cmp Ax, 0
           Jge _next
           Inc Si
           Add Dx, Ax
           
_next:     
           Dec Cx
           Loop S

AVG:
           Mov Ax, Dx
           Cwd
           Idiv Si

.exit 0
end
Could someone help me fixing my errors? I would be very thankful.
 
Physics news on Phys.org
Note that loop decrements cx. You don't need the dec cx instruction. Is there a debugger you can use to step through the code one instruction at a time so you can monitor the registers (these also let you view chunks of memory)?
 
The name of the debugger is tdebug.exe that comes with Turbo. It's pretty easy to use. If you're writing assembly code, it's pretty much essential to use a debugger.