Skip to content

Instantly share code, notes, and snippets.

@adierebel
Last active February 5, 2021 09:09
Show Gist options
  • Save adierebel/82f3dc998cc213e5326a296df096b8f0 to your computer and use it in GitHub Desktop.
Save adierebel/82f3dc998cc213e5326a296df096b8f0 to your computer and use it in GitHub Desktop.
Emu8086 Basic Math by Em Suryadi

Emu8086 Basic Math

by Em Suryadi

Addition [ + ]

.model small
.code
ORG 100h
TData: JMP Proses

Proses:
    MOV CL,'7'
    MOV CH,'6'             

    SUB CL,30H
    SUB CH,30H 

    MOV AL,CL
    
    ADD AL,CH  

    MOV AH,0
    AAA 

    ADD AH,30H
    ADD AL,30H
    MOV BX,AX
    
    MOV DL,BH
    MOV AH,02h
    INT 21h
    MOV DL,BL
    MOV AH,02h
    INT 21h
    
    INT 20h

EXIT: INT 20h
END TData

Subtraction [ - ]

.model small
.code
ORG 100h
TData: JMP Proses

Proses:
    MOV CL,'5'
    MOV CH,'2'             

    SUB CL,30H
    SUB CH,30H 

    MOV AL,CL
    
    SUB AL,CH  

    MOV AH,0
    AAA 

    ADD AH,30H
    ADD AL,30H
    MOV BX,AX
    
    MOV DL,BH
    MOV AH,02h
    INT 21h
    MOV DL,BL
    MOV AH,02h
    INT 21h
    
    INT 20h

EXIT: INT 20h
END TData

Multiplication [ * ]

.model small
.code
ORG 100h
TData: JMP Proses

Proses:
    MOV CL,'6'
    MOV CH,'2'             

    SUB CL,30H
    SUB CH,30H 

    MOV AL,CL
    
    MUL CH    

    MOV AH,0
    AAM 

    ADD AH,30H
    ADD AL,30H
    MOV BX,AX
    
    MOV DL,BH
    MOV AH,02h
    INT 21h
    MOV DL,BL
    MOV AH,02h
    INT 21h
    
    INT 20h

EXIT: INT 20h
END TData

Division [ / ]

.model small
.code
ORG 100h
TData: JMP Proses

Proses:
    MOV CL,'8'
    MOV CH,'2'             

    SUB CL,30H
    SUB CH,30H 

    MOV AL,CL
    MOV AH,0
    
    DIV CH   

    MOV AH,0
    ADD AL,30h
    
    MOV DL,AL
    MOV AH,02h
    INT 21h
    
    INT 20h

EXIT: INT 20h
END TData
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment