鱼C论坛

 找回密码
 立即注册
查看: 2248|回复: 3

关于王爽汇编第二版的实验9的问题,求大神指教

[复制链接]
发表于 2013-7-27 11:48:47 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 x87648510 于 2013-7-27 13:02 编辑

把代码修改了 ,生成exe 都正常 ,也可以执行,但是执行之后怎么一点反应都没有啊  这是肿么回事啊  大神们可以帮我看看这段代码吗? 我实在是检测不出哪里有问题 ,很是困惑啊
assume cs:code ,ds:data,ss:stack
data segment
db 'welcome to masm!'     ;设置ds中的内容
db  02h,24h,71h                    ;设置颜色                
data ends

stack segment

dw 16 dup(0)        ;设置栈的大小
stack ends

code segment
;初始化
start:mov ax,data      ;
          mov ds,ax
          mov ax,stack
          mov ss,ax
          mov sp,10h
          mov ax,0b872h     ;把显存的是11行中间的地址放入
          mov di,0            ;用来做颜色的偏移
        ;把字移入内存中
          mov cx,3           ;要显示三行字 这里做三次循环
s3:  push cx           ;把三次循环的cx压入栈中
    push ax                                ;把ax中的现存地址压入栈中,因为后面需要用到ax
        mov es,ax                        ;把显存的地址传递给es
         mov bx,0         ;bx用来做ds第一行'welcome to masm!'的偏移

         mov si,0           ;si用来做显存地址的偏移
         mov cx,10         ;因为要赋值10次这里做一个循环
         
s2:  push cx         
         mov al,ds:[bx]       ;把ds中的值取出放入al中,字的内容
         mov es:[si],al         ;把al里面的字传递到es中  
         mov al,ds:[di+10h]     ;此次两句为传递颜色
         mov es:[si+1],al
         inc bx                    
         add si,2
         pop cx
loop s2         


    inc di              ;没输入一句就换一种颜色
        
        pop ax                ;把ax的值取出 进行相加之后再赋值给es
        add ax,0ah  
        pop cx
loop s3
mov ax,4c00h
int 21h
code ends
end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-27 20:50:27 | 显示全部楼层
因为程序运行速度很快,一闪而过了,可以在debug单步跟踪看到结果,或者在emu8086中运行也能看到结果。以下还有两种方法:
在程序结束之前加:       
mov ah,01h          ;wait any key
int 21h       
它就会等你输入任何字符后才会完全程序运行.
或者添加 jmp $
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-27 22:29:16 | 显示全部楼层

:lol  这个我了32位XP运行 正确了  在64 win7上运行不了 纠结  虚拟机也没效果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-27 22:56:17 | 显示全部楼层
福禄娃娃 发表于 2013-7-27 20:50
因为程序运行速度很快,一闪而过了,可以在debug单步跟踪看到结果,或者在emu8086中运行也能看到结果。以下 ...

恩,这个学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 05:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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