zx880208 发表于 2011-10-20 12:52:43

关于实验5的问题....

将a和b段的数据按位相加后按位放入C段中,就是说a+b放入c中
assume cs:code
a segment
db 1,2,3,4,5,6,7,8
a ends
b segment
db 8,7,6,5,4,3,2,1
b ends
c segment
db 0,0,0,0,0,0,0,0
c ends
code segment
??
code ends
end start
这个什么写?

边缘人 发表于 2011-10-20 13:19:38

百度一下,你就知道:lol

zx880208 发表于 2011-10-20 13:21:09

mov ax,a
mov ds,ax
mov ax,b
mov es,ax
mov ax,c
mov ss,ax
mov sp,8
mov bx,8
mov cx,8
s: mov al,
   add al,es:
   push al
   sub bx,1
   loop s
mov ax,4c00h
int 21h

这样对不对?
别笑啊

zyp2011_mit 发表于 2011-10-20 13:32:58

百度百度,呵呵~

zx880208 发表于 2011-10-20 13:38:46

为什么都要百度啊?

caixiok 发表于 2011-10-22 19:04:27

你debug一下.后查看值是对的你的答案就是对的

cyht33 发表于 2011-10-22 22:13:52

这是我写的,你可以参考一下assume cs:code

a segment
db 1, 2, 3, 4, 5, 6, 7
a ends

b segment
db 1, 2, 3, 4, 5, 6, 7
b ends

c segment
db 0, 0, 0, 0, 0, 0, 0
c ends

code segment

start:mov ax,a
         mov ds,ax                ;将a定义成数据段
               
      mov ax,b
         mov es,ax                                ;将b定义成代码段
               
      mov ax,c
         mov ss,ax                                ;将c定义成栈段
               
      mov bx,0                                ;将bx置0,作为偏移地址
      mov cx,7                               
               
s:       mov al,ds:                        ;将a中的数据放入c中,循环7次
         mov ss:,al
         inc bx
         loop s
               
         mov bx,0
         mov cx,7
               
s0:   mov al,ss:                        ;将cc中的数据与b中的数据累加放入c中,循环7次
         add al,es:
         mov ss:,al
         inc bx
         loop s0
               
         mov ax,3c00h
          int 21h
code ends

end start
页: [1]
查看完整版本: 关于实验5的问题....