Assembly programming language is a language closer to what machines can understand. Assembly language is an example of low level language. In an assembly language, each machine language instruction is assigned a code. So, instead of having to remember a string of 0’s and 1’s, the programmer would only need to remember short codes like ADD, SUB, DIV, JMP, MOV, HALT, GO called mnemonics.
Write an assembly language program to count the number of 1’s in a byte stored in memory location 2000H.
Step 1: Point to memory location 2000H
Step 2: Load register A (Accumulator) with the content of memory location
Step 3: Set a counter to loop through each bits of number, Say C
Step 4: Set a counter to store the number of one’s (1’s) in the byte, Say B
Step 5: Rotate the content of accumulator to left through carry
Step 6: If no carry found from Step 5 then jump to Step 8
Step 7: Else increase the counter B by one (if carry found)
Step 8: Decrease counter C by one
Step 9: Until the value at counter C is 0 repeat from Step 5
Step 10: Terminate the program.
NSA Github Project
The National Security Agency(NSA), a national Level intelligence agency of the United States Department of Defense, is a known agency for keeping its works a secret. However, it has now joined GitHub and has gone public.