Buscar

lunes, 6 de mayo de 2013

Testing the initial version

For testers!
It is published the beta-tester of VASS

 
I'm working on porting the module (save / export / open projects created with VASS)

You can enter http://vass.vv.si/init.html


By clicking on the "Examples" section of "learn" can charge algorithms completed (addition and multiplication) to penetrate quickly to the use of VASS
 
No need to download anything or registering on our servers. Tests are fully technically anonymous.

Report bugs, fixes: gtovorovosky@gmail.com

Thank you!


Guide Programming - Part 2

  • Flag register: It is a 16 bit register, but only 9 bits are used. 6 of them are conditional flags. The remaining 3 are control flags . Flags perform logical operations. A flag can be either zero or one.      
 Visual Assembler only use 4 of them.
CF: The carry flag is set to 1 when an operation yields a carry.
ZF: The zero flag is set to zero when an operation yields zero.
SF: The sign flag is set if the result of an operation is negative number.
VF: The overflow flag indicates that the result cannot be stored in the register.


  •  Stack management: 
The stack in the 8086/8088 microprocessor, like that in many microprocessors, is a region of memory that can store information for later retrieval. It is called a stack, because you "stack" things on it. The philosophy is that you retrieve (pop) things in the opposite order of storing (push) them, or LIFO that stands for last in, first out. In the 8086/8088, the stack pointer is SP, which is a 16 bit pointer into a 20 bit address space. It, at any point of time, points to the last item pushed on the stack. If the stack is empty, it points to the highest address of the stack plus one.

Visual assembler automatically manages stack sector, so that the student programmer does not have to worry about the flow of BS and SP records, their increases or decreases.

SP points to the last item pushed on the stack.

Guide Programming - Part 1

Visual Assembler is based on the fundamentals of programming in assembler for 32-bit x86 architecture, but does not include the complete set of instructions and features, although this does not preclude the performance of all such algorithms.

  • Processor registers: a register in a microprocessor is like a scratch pad. It is a volatile memory segment that holds entities temporarily for calculations.

AX: This is a 16 bit register. Is also called as the accumulator. Most operations performed by the microprocessor generally involve the microprocessor store the final result in the accumulator.
BX: The base register. The general convention is to store some 16 bit address in BX. It can also perform computation. That is not an issue.
CX: The counting register. It is used mostly for implementing counters.
DX: The Data register. It is used in I/O instructions as a pointer to data by storing the address of the I/O port.

The registers we have seen till now are 16 bits. However we can split these registers in 2 8-bit registers for our convenience. For example , we can split BX into BL and BH.

SI and DI: Source Index and Destination Index are address registers.

IP: Instruction Pointer Register is a crucially important register which is used to control which instruction the CPU executes. The ip, or program counter, is used to store the memory location of the next instruction to be executed. The CPU checks the program counter to ascertain which instruction to carry out next. It then updates the program counter to point to the next instruction. Thus the program counter will always point to the next instruction to be executed.