天-踏梦者 发表于 2012-10-18 05:09:34

试验5 程序三:程序二的改进版的改进版

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,a ;A段的数据放入AX寄存器
      mov ds,ax ;通过寄存器让DS指向A段数据

      mov ax,b ;B段数据放入AX寄存器
      mov es,ax;通过AX让ES指向B段内存数据

      mov ax,c ;同上
      mov ss,ax ;同上

      mov bx,0 ;置BX地址索引0
      mov cx,8 ;置CX循环计数器8
       
        s:mov ax,ds:   ;DS:地址的数据放入AX
        add ax,es: ;让AX加上ES:放入ax中
        mov ss:,ax ;最后放入SS段地址中
        inc bx
        loop s
               
      mov ax,4c00h
      int 21h

code ends

end start

本来想省去BX 试试用CX直接作为地址 结果编译出错 不行 如果行的话更方便 连INC BX都不用了 少2行代码

我是个个人写挂程序员 以前都是用易语言写模拟挂内存挂是一片空白 于是在网上找教程从汇编开始 刚学完第六章 欢迎大家一起讨论

Sloth4413 发表于 2012-10-18 09:16:04

mov ds,ax ;通过寄存器让DS指向A段数据
这里貌似不对.“指向”用词不对。

天-踏梦者 发表于 2012-10-19 10:30:46

指向我觉得很对啊 内存地址指向嘛
页: [1]
查看完整版本: 试验5 程序三:程序二的改进版的改进版