第五實驗 請高手看看是不是這樣子~
本帖最后由 kalong1272002 于 2012-4-17 04:56 编辑assume cs:code
a segment
db 1,2,3,4,5,6,7,8
a ends
b segment
db 1,2,3,4,5,6,7,8
b ends
csc segment
db 0,0,0,0,0,0,0,0
csc ends
code segment
start:
mov ax, a
mov ds, ax
mov ax, csc
mov ss, ax
mov sp, 16
mov bx, 0
mov cx, 4
for1:
push ds:
add bx, 2
loop for1
mov cx,4
mov ax, csc
mov ss, ax
mov sp, 16
mov dx, 0
abc:
mov bx, 0
mov ax, b
mov ds, ax
add dx,ds:
add dx,dx
push dx
add bx, 2
loop abc
在棧中應該如何進行加法?
漏东西了吧lz 可以吧 b段数据 +到C段 然后吧C段数据与a段数据相加结果放在C段不需要利用栈如果你需要逆序相加的话利用栈先把数据都存进去然后在全都pop出來存放到一个段中就逆序了!~
栈中数据没有相加的需要相加需要先pop出來到寄存器中在相加 assume cs:code
a segment
db 1,2,3,4,5,6,7,8
a ends
b segment
db 1,2,3,4,5,6,7,8
b ends
d segment
db 0,0,0,0,0,0,0,0
d ends
code segment
start:mov ax,a
mov ds,ax
mov ax,d
mov es,ax
mov bx,0
mov cx,8
s: mov dl,ds:
mov es:,dl
inc bx
loop s
mov ax,b
mov ds,ax
mov bx,0
mov cx,8
s1: mov dl,ds:
add es:,dl
inc bx
loop s1
mov ax,4c00h
int 21h
code ends
end start
没有标准答案 编译通过 能得到正确的结果就行了 本帖最后由 kalong1272002 于 2012-4-17 14:04 编辑
想問一下s: mov dl,ds:
mov es:,dl
這一個一定要dl嗎?可以用dx?
試過了,dx是不行的 ,請問 dx是否把 0102 都放進去
而用dl 只是把01放進去
多謝高手賜教:Q
页:
[1]