Assembly Level Language Programming
Needed files for assembly programming:
- Either use online emulators like sim8085, or
- Software links:
-
Data Transfer and Instruction Set
- Load register with data
- Load register with data and copy content of this memory location to register C
- Load content of memory location to register
- Store content of register to memory location
- Input data from port address and out through port address
- Display content of memory location into port address
- Swap contents of register B and C
- Swap contents of memory location
-
Arithmetic and Logical Instruction Set
- Add content of one register and another register and store the result in next register
- Subtract content of memory location 5000H from 5001H and store result in 5002H
- Add 16-bit data from register pair B and D and store result at HL pair
- Load 00H into register B and 10H into register C. Increment content of register B and Decrement content of register C. Store result at memory locations 4000H and 4001H
- Load 16-bit data of register pair from another register pair and store result
- Perform AND, OR and XOR operation between 51H and A2H. Store the AND result at 9000H, OR at 9001H and XOR at 9002H
- Show masking of lower and higher nibbles of 8-bit number. Store the original number in 7007H, masked lower nibble in 7008H and masked upper nibble in 7009H
- SET the D6, D1 and D0 bits of 8 bits data A8H and store the result in memory location 1010H
- RESET the D4, D3, D2 and D0 bits of 8-bit data 3DH and store the result in register B
-
- Add the content of 4004H and 4005H and store the result and carry in successive memory location
- Add two 16 bit numbers with carry
- Subtract the content of register C from register B and store the difference at register L and borrow at register H
- Subtract with borrow
- Create a continous loop using unconditional jump instruction
- Test the Jump on Zero (JZ=1) condition on arithmetic operation
- Test the Jump on Zero (JPE=1) condition on logical operation
- Test the jump on negative (S=1) condition on arithmetic operation
-
- Rotate left the data byte A1H two times
- Rotate right the data byte F1H three times
- Rotate left with carry the result of addition (AAH+EEH) three times
- Rotate right with carry the result of subtraction (DEH-FAH) two times
- Load two data stored in memory location 8000 and 8001 directly to HL register. Add them. If carry exists, rotate right with carry the accumulator result three times, otherwise terminate
- Convert the total number of 1 in given bit number
-
Subroutine, Stack and BCD Conversion
- Factorial of a number using subroutine
- Sum of squares of the first n numbers
- Convert binary to BCD
- Convert BCD to binary
- Stack implementation and add data directly
- Stack implementation and add data indirectly
- Use of stack to reverse the number stored in a memory stack and store in the same memory block
-
- Add two numbers, store the result at DX register and carry at CX register
- Add two numbers, store the result at DL register and carry at CL register.
- Subtract two numbers, store the result at DX register and borrow at CL register
- Multiply
- Divide
- Take single character input from keyboard and display it on screen
- Print your name without using data variable
- Sort given numbers in ascending order
- Separate odd and even numbers