33 lines
635 B
NASM
33 lines
635 B
NASM
|
; ADDIT: ASM-Beispiel zur Addition mit dem SBC86
|
||
|
; C.Koch | 03.11.2010
|
||
|
|
||
|
org 100h
|
||
|
cpu 8086
|
||
|
|
||
|
START: mov ax,1
|
||
|
mov dx,1 ; Summand 1: dx:ax = 00010001h
|
||
|
mov bx,nVal32 ; Summand 2: Speicher
|
||
|
|
||
|
call AddNow
|
||
|
|
||
|
mov word [nResult],ax ; Ergebnis im Speicher ablegen
|
||
|
mov word [nResult+2],dx
|
||
|
|
||
|
jmp START
|
||
|
|
||
|
AddNow:
|
||
|
add ax, word [bx]
|
||
|
adc dx, word [bx+2] ; Addiere mit CF!
|
||
|
; alternative Speicheradressierung:
|
||
|
; add bx,2 ; Zeiger verstellen
|
||
|
; adc dx, word [bx] ; Addiere mit CF! - fkt. das?
|
||
|
|
||
|
ret ; Unterfunktion verlassen
|
||
|
|
||
|
nVal32 dd 0012ABCDh ; Adresse? Wert=
|
||
|
nResult dd 0 ; Adresse? Wert=
|
||
|
|
||
|
sText db 'Hier koennte Ihre Werbung stehen'
|
||
|
|
||
|
|