- 求首地址为ARRAY的M个字之和,结果存入TOTAL。
mov cx, m
mov ax, 0
mov si, ax
again:
add ax, array[si]
add si, 2
loop again
mov total, ax
- 试编写一段程序计算以下表达式的值
w = (v - (x * y + z - 540)) / x
data segment
x dw 10
y dw 50
z dw 10
v dw 10
w dw 2 dup(?)
data ends
code segment
assume ds: data, cs: code
start:
mov ax, data
mov ds, ax
mov ax, x
imul y
mov cx, ax
mov bx, dx
mov ax, z
cwd
add cx, ax
adc bx, dx
sub cx, 328
sbb bx, 0
mov ax, v
cwd
sub cx, ax
sbb bx, dx
xchg ax, cx
xchg dx, bx
idiv y
mov w, ax
mov w + 2, dx
mov ah, 4ch
int 21h
code ends
end start
- 假设(BX) = 007FH,计算(BX) * 10 -> (BX)
data segment
data ends
code segment
assume cs: code
start:
mov bx, 007fh
shl bx, 1
mov ax, bx
mov cl, 2
shl bx, cl
add bx, ax
mov ah, 4ch
int 21h
code ends
end start