Untitled
unknown
plain_text
a year ago
4.1 kB
15
Indexable
org 100h
.model small
.stack 100h
.data
msg1 db "Original Number : $"
msg2 db "Decrement : $"
msg3 db "increment : $"
.code
main proc
lea dx,msg1
mov ah,9
int 21h
mov al,7
add al,48
mov dl,al
mov ah,2
int 21h
mov dl,10 ;new line
mov ah,2
int 21h
mov dl,13 ;cret
mov ah,2
int 21h
lea dx,msg2
mov ah,9
int 21h
mov al,7
add al,48
dec al
mov dl,al
mov ah,2
int 21h
mov dl,10
mov ah,2
int 21h
mov dl,13
mov ah,2
int 21h
lea dx,msg3
mov ah,9
int 21h
mov al,7
add al,48
inc al
mov dl,al
mov ah,2
int 21h
main endp
ret
name and reg
; You may customize this and other start-up templates;
; The location of this template is c:\emu8086\inc\0_com_template.txt
org 100h
.model small
.stack 100h
.data
.code
main proc
mov al, 'M'
mov dl, al
mov ah, 2
int 21h
mov al, 'U'
mov dl, al
mov ah, 2
int 21h
mov al, 'S'
mov dl, al
mov ah, 2
int 21h
mov al, 'T'
mov dl, al
mov ah, 2
int 21h
mov al, 'A'
mov dl, al
mov ah, 2
int 21h
mov al, 'F'
mov dl, al
mov ah, 2
int 21h
mov al, 'A'
mov dl, al
mov ah, 2
int 21h
mov al,0
mov dl, al
mov ah, 2
int 21h
mov al, 2
add al, 48
mov dl, al
mov ah, 2
int 21h
mov al, 3
add al, 48
mov dl, al
mov ah, 2
int 21h
mov al, 1
add al, 48
mov dl, al
mov ah, 2
int 21h
mov al, 2
add al, 48
mov dl, al
mov ah, 2
int 21h
mov al, 2
add al, 48
mov dl, al
mov ah, 2
int 21h
mov al, 5
add al, 48
mov dl, al
mov ah, 2
int 21h
mov al, 1
add al, 48
mov dl, al
mov ah, 2
int 21h
main endp
ret
add 16 bit
org 100h
.model small
.stack 100h
.data
Q db ? ;Quotient
R db ? ;Remainder
msg1 db "remainder is :$"
msg2 db "quotient is :$"
.code
main proc
;Add 16bits
mov al,65
mov bl, 30
add al, bl
AAM
mov cl, al
mov ch, ah
mov dl, ch ; Move the value into DL for printing
add dl,48 ; Convert to ASCII character
mov ah,2 ; Set AH to 02h for the print character function
int 21h; Call DOS interrupt to exit the program
mov dl, cl ; Move the value into DL for printing
add dl,48 ; Convert to ASCII character
mov ah,2 ; Set AH to 02h for the print character function
int 21h
endp main
ret
mul and div 16
org 100h
.model small
.stack 100h
.data
Q db ? ;Quotient
R db ? ;Remainder
msg1 db "remainder is :$"
msg2 db "quotient is :$"
.code
main proc
;DIVIDE 16 bits
mov ax, 31
mov bl, 6
div bl
mov Q, al
mov R, ah
lea dx, msg1
mov ah, 9
int 21h
mov dl, R
add dl, 48
mov ah, 2
int 21h
mov dl, 0
mov ah, 2
int 21h
lea dx, msg2
mov ah, 9
int 21h
mov dl, Q
add dl, 48
mov ah, 2
int 21h
;Printing blank
mov dl, 0
mov ah, 2
int 21h
mov dl, 0
mov ah, 2
int 21h
;Multiply 16bits
mov al, 10
mov bl, 10
mul bl
AAM
mov cl, al
mov ch, ah
mov dl, ch ; Move the value into DL for printing
add dl,48 ; Convert to ASCII character
mov ah,2 ; Set AH to 02h for the print character function
int 21h; Call DOS interrupt to exit the program
mov dl, cl ; Move the value into DL for printing
add dl,48 ; Convert to ASCII character
mov ah,2 ; Set AH to 02h for the print character function
int 21h
endp main
ret
Editor is loading...
Leave a Comment