鱼C论坛

 找回密码
 立即注册
查看: 2442|回复: 2

内存-寄存器

[复制链接]
发表于 2013-7-12 17:57:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
这些错误是怎么回事?
  1. assume cs:code

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

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

  8. d segment
  9.         db 0,0,0,0,0,0,0,0
  10. d ends

  11. code segment
  12. start:        mov ax,a
  13.                 mov ds,ax
  14.                
  15.                 mov ax,10h
  16.                 mov dx,20h
  17.                
  18.                 mov bx,20h
  19.                 mov ax,0h
  20.                 mov cx,8
  21.         s1:        mov dl,ds:[ax]
  22.                 mov ds:[bx],dl
  23.                 inc ax
  24.                 inc bx
  25.                 loop s1
  26.                
  27.                 mov ax,10h
  28.                 mov bx,20h
  29.                 mov cx,8
  30.         s2:        mov dl,ds:[ax]
  31.                 add ds:[dx],bl
  32.                 inc ax
  33.                 inc dx
  34.                 loop s2
  35.                
  36.                 mov ax,4c00h
  37.                 int 21h
  38.                
  39.                
  40.         code ends
  41. end start
复制代码

1

1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-7-12 19:09:57 | 显示全部楼层
本帖最后由 Dardy 于 2013-7-12 19:11 编辑

寻址方式是一个重点。
能出现在方刮号【】中的寄存器有:BX BP SI DI
  1. assume cs:code

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

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

  8. d segment
  9.         db 0,0,0,0,0,0,0,0
  10. d ends

  11. code segment
  12.                 ;把a段挂勾到DS
  13. start:        mov bx,a
  14.                 mov ds,bx
  15.                
  16.                 ;把d段挂勾到ES
  17.                 mov bx,d
  18.                 mov es,bx
  19.                
  20.                 ;把DS段里的值传送到ES段,也就是把a传送到d
  21.                 mov bx,0
  22.                 mov cx,8
  23.         s:      mov dl,ds:[bx]
  24.                 mov  es:[bx],dl
  25.                 inc bx
  26.                 loop s
  27.                
  28.                 ;把b段挂勾到DS
  29.                 mov bx,b
  30.                 mov ds,bx
  31.                
  32.                 ;按字节,把ES(即d)段里的值加上DS(即b)段里的值。
  33.                 mov bx,0
  34.                 mov cx,8
  35.         s1:    mov       al,ds:[bx]
  36.                 add        al,es:[bx]
  37.                 mov       es:[bx],al
  38.                 inc bx
  39.                 loop s1               

  40.                
  41.                 mov ax,4c00h
  42.                 int 21h
  43.                           
  44.         code ends
  45. end start
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-13 14:07:42 | 显示全部楼层
楼上正解。。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-23 10:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表