流泪的鳄鱼 发表于 2020-8-28 14:53:07

mov bp,bx不理解

第6章实验题第五小题a+b->c
https://fishc.com.cn/thread-175117-1-1.html
(出处: 鱼C论坛)

xieglt 发表于 2020-8-30 08:29:42

本帖最后由 xieglt 于 2020-8-30 08:55 编辑

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

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

code segment
start: mov ax , 076aH    ;第六章课后练习第5小题
         mov ds , ax
         mov cx , 8
         mov bx , 0
         mov ax , 0
         
         ;将BX的值保存到BP中,因为下面BX的值被更改了,更好的方法是保存进栈里 PUSHBX
          ;当然,后面的mov bx,bp 相应换成 POP BX
         s:mov bp , bx
         mov al , ds:
         add bx , 10H
         add al ,             
         add bx , 10H
         mov , ax       ;这一句是有问题的,应该写成mov , al
         ;恢复bx的值
         mov bx , bp
         inc bx
         loop s


mov ax,4c00H
int 21H
code ends
end start

;另外还也可以这样写,就不需要保存BX的值了
         s:
         mov al , ds:
         add al , DS:
         mov ds: , al
         inc bx
         loop s
页: [1]
查看完整版本: mov bp,bx不理解