Hardwarenahe_Programmierung/examples/asm/divit.asm

31 lines
834 B
NASM

; ADDIT: ASM-Beispiel zur Division mit dem SBC86
; C.Koch | 03.11.2010
org 100h
cpu 8086
START:
; **** Byte-Division ****
mov ax,4522 ; Dividend ist immer das AX-Register (16 Bit)
mov bh,120 ; Divisor sei ein Wert in BH (8 Bit)
div bh ; AX/BH = Quotient in AL, Ganzzahlrest in AH
mov byte [nErgebnis],al ; Quotient -> Speicher
mov byte [nRest],ah ; Ganzzahlrest -> Speicher
; **** Wort-Division ****
mov dx, 0 ; Dividend ist immer das RegisterPAAR DX:AX (32 Bit)
mov ax,45220 ; Dividend, Bit 0...15
mov bx,120 ; Divisor sei ein Wert in BX (16 Bit)
div bx ; (DX:AX)/BX = Quotient in AX, Rest in DX
mov word [nErgebnis],ax ; Quotient -> Speicher
mov word [nRest],dx ; Ganzzahlrest -> Speicher
jmp START
nErgebnis dw 0 ; Adresse? Wert=
nRest dw 0 ; Adresse? Wert=
sText db 'Hier koennte Ihre Werbung stehen'