Giúp bài Assembly emu8086 phần kiểm tra số âm và chuyển đổi số âm

===Nhờ anh chị giúp em giúp phần kiểm tra số âm và chuyển đổi số âm để cộng vào chương trình===
**** Rất cảm ơn anh chị giúp đỡ ạ

.model tiny
.stack 100h
.data
    tb1 db 'Nhap so thu nhat : $'
    tb2 db 13,10,'Nhap so thu hai : $'
    tb3 db 13,10,'Tong hai so la : $'
    so1 db 0
    so2 db 0
.code
    main proc
        mov ax,@data
        mov ds,ax
       
        lea dx,tb1
        mov ah,9
        int 21h
        nhapso1:
            mov ah,1
            int 21h
            cmp al,13
            je hientb2
            sub al,30h
            mov cl,al
            mov al,so1
            mov bl,10
            mul bl
            add al,cl
            mov so1,al
            jmp nhapso1
           
        hientb2:
            lea dx,tb2
            mov ah,9
            int 21h
        nhapso2:
            mov ah,1
            int 21h
            cmp al,13
            je hientb3
            sub al,30h
            mov cl,al
            mov al,so2
            mov bl,10
            mul bl
            add al,cl
            mov so2,al
            jmp nhapso2
        hientb3:
            lea dx,tb3
            mov ah,9
            int 21h
        ;==TONG 2 SO BYTE==
        mov al,so1
        add al,so2
        mov ah,0
        mov cx,0
        mov bl,10
        ;chia de tach so
        chia:
            div bl
            push ax
            inc cx
            cmp al,0
            je hien
            mov ah,0
            jmp chia
        hien:
            pop ax
            mov dl,ah
            add dl,30h
            mov ah,2
            int 21h
            loop hien
        ;thoat chuong trinh           
        thoat:       
        mov ah,76
        int 21h
        main endp
    end main

là từ dòng bao nhiêu đến dòng bao nhiêu nhỉ

Mình thấy bạn chỉ nhập số dương và in số dương thôi chứ có kiểm tra số âm gì đâu nhỉ ?

    mov al,-35
	mov bl,-44
	; Chay thu voi -35 va -44
	mov cl,al
	shl cl,1; Kiem tra bit dau tien - bit the hien dau cua so
	jnc con
	;Phuong phap doi dau:
	;Vi du: -1 -> FFh. Ta dao tat ca cac bit roi cong 1
	; FFh -> 00h + 1 -> 01h
	; Ta dung phep toan xor de dao bit
	; Vi: 0 xor 1 = 1 | 1 xor 1 = 0
	
	xor al,0FFh
	add al,1
	con:

	mov cl,bl
	shl cl,1
	jnc con2
	xor bl,0FFh
	add bl,1
	con2:; al = 35 | bl = 44

	add al,bl
2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?