Introduction More ALP program time and this time its Addition of 10 numbers stored in memory at consecutive locations Code with all lines explained The subroutine we will use is as follows. This will behave as a delay for our counter Code: LDA XXXX // Some memory location say 8500 // Load the accumulator with the address of memory viz 8500 MOV D, A // Move the accumulator value to the register D MVI E, 09 // Load the E register with the counter 10 - 1 LXI B, XXXX + 1 // Next memory location from where we have done LDA - 8501 // Load immediate B C with the memory location LDAX B // Load Accumulator indirect A=[BC] ADD D //Add the content of the Accumulator to the Register D MOV D, A //Move the value in D to the Accumulator or register A INX B // Increment BC register pairs DCR E // Decrement the counter register JNZ XXXX // LDAX B Location // Jump on no zero STA XXXX // Suitable memory location // Store the output into a memory location HLT // Stop the program
mvi b,09h ; load the number you want to sqaure mov c,b ; c is the counter for repeating loop mvi a,00h ; empty the contents of accumulator repeat: add b ; add n to accumulator, n times e.g add 9, 9 times dcr c jnz repeat hlt ; the answer lies in the accumulator, you can also store it at some mem location or output port
REPEAT: This statement will add the content of b with content of accumulator again and again till the value of c is decreased to 0.
hi i am using SDK6800 emulator assembly program i need to create this below mentioned program Create a 6800 program which determines if a number, n, is prime. A prime number has only two factors. Your program should work with any input for n where n >= 0 and n <= 127. If the number is prime, then print the letter Y to the display, otherwise print the letter N. The following example has n = 5 and should print Y since n is a prime number. n .byte 5 please help thanks sooraj