10 septembrie 2010

Adunarea a *n* cuvinte

; Se adună n cuvinte începând de la adresa 3000:200,

; cu rezultat de lungime tot cuvânt (16 biţi),

; fără detectarea depăşirii.

.model small

.code

prog segment word public 'code'

assume cs:prog, ds:date

start: mov ax,date

mov ds,ax

lea si,sir

mov ax,0

mov cx,lung_sir

reia_add:

add ax,[si]

add si,2

loop reia_add

mov rezultat,ax

rev_DOS:

mov ax,4c00h

int 21

afis_mesaj:

mov ah,9

int 21

jmp rev_Dos

prog ends


.data

date segment

sir dw 0f54h,20000,0ff56h,8000

lung_sir equ ($-sir)/2

rezultat dw 2 dup(?)

date ends

end start

Niciun comentariu: