首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

王爽汇编实验9自已编完后有调试中有一些不明白的地方

2012-03-20 
王爽汇编实验9自已编完后有调试中有一些不明白的地方,请教高手我在编写王爽汇编实验9的课件中遇到以下问题

王爽汇编实验9自已编完后有调试中有一些不明白的地方,请教高手
我在编写王爽汇编实验9的课件中遇到以下问题
我没有看课件答案,
这是我自已先编写,如果一步用g   命令直接到   mov   ax,4c00h地址的话,结果就是正常的达到要求,但是如果用t命令和遇到循环后用p命令就会有些字符没有了,比如我如下的代码   如果用t和p命令调试的话,最后结果就会每一行少一个w字符,这是怎么个一会事,请高手点一下水,
代码如下:

王爽汇编实验9课件
assume   cs:codesg,ds:datasg,ss:stack
datasg   segment
               
                  db     'welcome   to   masm! '
datasg   ends

;1、00000010b绿色   2h
;2、00100100b绿底红字     24h
;3、01110001b   白底蓝字     71h
codesg   segment
start:                       mov   ax,datasg
                                  mov   ds,ax
                                  mov   ax,0b800h
                                  mov   es,ax
                                  mov   bx,0
                                  mov   cx,16
                                  mov   si,0
                                  mov   di,0
s:                               mov   al,[bx]
                                  mov   ah,2h                       ;设成绿字
                                  mov   es:720h[si],ax

                                  mov   ah,24h                     ;设成绿底红字
                                  mov   es:7c0h[si],ax

                                  mov   ah,71h                       ;设成白底蓝字
                                  mov   es:860h[si],ax
                                 

                                  add   si,2
                                  inc   bx
                                  loop   s
                                  mov   ax,4c00h


                                  int   21h
codesg   ends
end   start



[解决办法]
可以这样解释:
当你用p命令执行loop指令之前,所有的w(3个w)已经在屏幕上显示过了。当你用t命令执行到loop时,已经显示过了。

由于屏幕是共享的,t命令的提示信息把你的程序的显示的w给覆盖了,但是你可以在用t命令时稍微慢点,这样就可以看到显示w了,当你用t执行到loop指令时,3个w字符已经显示过了,这时用p命令一下子显示剩下的字符。

:)

热点排行