2’s Complement of a Number Assembly Language
Write a Program to find the 2’s Complement of number given by the user . Program should load number into register and then find 2’s Complement of Number .
Algorithm behind the 2’s Complement is given below and based on this strategy you can easily implement 2’s Complement program in Assembly Language .
Algorithm for 2’s Complement of Number:
Step I : Initialize the data memory.
Step II : Load the number in AX.
Step III : Find 2’scomplement of number.
Step IV : Display the result.
Step V : Stop.
Flow Chart
Program for 2’s Complement :
.model small .data a dw 1234H .code mov ax, @data ; Initialize data section mov ds, ax mov ax, a ; Load number1 in ax neg ax ; find 2's compement. Result in ax mov ch, 04h ; Count of digits to be displayed mov cl, 04h ; Count to roll by 4 bits mov bx, ax ; Result in reg bx l2: rol bx, cl ; roll bl so that msb comes to lsb mov dl, bl ; load dl with data to be displayed and dl, 0fH ; get only lsb cmp dl, 09 ; check if digit is 0-9 or letter A-F jbe l4 add dl, 07 ; if letter add 37H else only add 30H l4: add dl, 30H mov ah, 02 ; Function 2 under INT 21H (Display character) int 21H dec ch ; Decrement Count jnz l2 mov ah, 4cH ; Terminate Program int 21H end
How to Run this Program :
For Running this program you should have installed Tasm on you computer .
C:\programs>tasm 2’scomp.asm
Turbo Assembler Version 3.0 Copyright (c) 1988, 1991 Borland International
Assembling file: 2’scomp.asm
Passes: 1
Remaining memory: 438k
C:\programs>tlink 2’scomp.obj
Turbo Link Version 3.0 Copyright (c) 1987, 1990 Borland International
Warning: No stack
C:\programs>2’scomp
EDCC