笨小孩KK 发表于 2014-11-13 20:09:18

实验9的问题

assume cs: code, ss: stack, ds: data

data segment
db 'welcome to masm!'
db 02h,24h,71h
data ends

stack segment
dw 8 dup (0)
stack ends

code segment
start:mov ax, data
      mov ds, ax
      mov ax, stack
      mov ss, ax
      mov sp, 10h
   
      xor bx, bx
      mov ax, 0b872h
      mov cx, 3
s1:   push cx
      push ax
          push bx
          mov es, ax
          mov si, 0
          mov di, 0
          
          mov cx, 10h
s2:   mov al, ds:
      mov es:, al
      inc si
          add di, 2
          loop s2
          
          mov di, 1
          pop bx
          mov al, ds:10h
          inc bx
          
          mov cx, 10h
s3:   mov es:, al
      mov di, 2
          loop s3
          
          pop ax
          add ax,0ah
          pop cx
          loop s1
          
          mov ax, 4c00h
          int 21h
          
          code ends
end start我的代码 哪里出错了 怎么显示成这样


b232wang 发表于 2014-11-17 06:22:08

首先我完全不能理解为何会用到3个loop
一个嵌套loop就ok了啊(就是1个套1个 一共两个)
你这么写太乱 而且很难理解 都是循环16次(10H)为何不放到一起

b232wang 发表于 2014-11-17 06:30:06

从你的结果来看 是第三个循环s3出现错误 导致属性没有成功输入
43行改成
add di,2
即可

一个大的循环套两个小循环 是小甲鱼的逻辑么? (虽然说他认为这样更好理解,,,)
还有 刘畅你啥时候开始学汇编了?

bestboyhjj 发表于 2014-11-21 10:01:09

初学汇编,看看
页: [1]
查看完整版本: 实验9的问题