. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
主题 : :  实验9自己编的程序,求改进  [已解决] 回复[ 8次 ]   点击[ 641次 ]  
xxie
[帖 主] [ 发表时间:2013-07-25 11:42 ] 
荣誉值:0
信誉值:2
注册日期:2011-07-19 12:12
自己编的,用debug可以通过,只是在编译的时候提示没有栈……
ASSUME    ES:DATA,SS:STACK,CS:CODE
        DATA  SEGMENT
              DB        'welcome to masm!'
        DATA  ENDS
       STACK  SEGMENT
              DW        8 DUP (0)
       STACK  ENDS
        CODE  SEGMENT

      START:  MOV       AX,DATA
              MOV       ES,AX
              MOV       AX,STACK
              MOV       SS,AX
              MOV       SP,16
              MOV       AX,0B800H
              MOV       DS,AX       ;变量初始化

              MOV       AX,01110001B
              PUSH      AX
              MOV       AX,00100100B
              PUSH      AX
              MOV       AX,00000010B
              PUSH      AX
              MOV       BP,SP       ;将颜色字入栈

              MOV       BX,0
              MOV       SI,0
              MOV       DI,0        ;寄存器初始化

              MOV       CX,11
          S:  ADD       BX,160
              LOOP      S

              MOV       CX,32
         S0:  ADD       SI,2
              LOOP      S0          ;初始化BX,SI

              PUSH      BX
              MOV       CX,3
         S1:
              PUSH      SI
              PUSH      CX
              PUSH      DI          ;用栈存储参数

              MOV       CX,16
         S2:  MOV       AH,SS:[BP]
              MOV       AL,ES:[DI]
              MOV       DS:[BX+SI],AX
              INC       DI
              ADD       SI,2
              LOOP      S2

              POP       DI
              POP       CX
              POP       SI
              ADD       BP,2
              ADD       BX,160      ;还原参数

              LOOP      S1         

              MOV       AX,4C00H
              INT       21H

        CODE  ENDS

              END       START
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved