. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  大家帮忙看看这个程序  [已解决] 回复[ 3次 ]   点击[ 360次 ]  
mengdewan
[帖 主]   [ 发表时间:2009-03-03 09:20 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:5
注册日期:2008-12-18 16:07
用debug调试,直接G 到mov ax,4c00h就会在屏幕上打印出字符串
但是单步执行的话就没了
不知道为啥
单步执行的时候查看es:0000处的数据,不是命令里输入的,换其他的了,不知道杂搞的

assume cs:code  
     
date segment 
    db 'welcome to masm!'
    db 02h
date ends 

code segment 
start:mov ax,date               
      mov ds,ax 
      mov bx,0 
      mov ax,0b800h     
      mov es,ax   
      mov bp,0 
      mov cx,16 
    s:mov al,[bx] 
      mov es:[bp],al 
      
      inc bx 
      add bp,2 
      loop s 
      mov ax,4c00h 
      int  21h 
code ends 
end start
deepblue
[第1楼]   [ 回复时间:2009-03-03 18:07 ]   [引用]   [回复]   [ top ] 
荣誉值:56
信誉值:0
注册日期:2008-01-19 14:51
welcome to masm!

AX=B877  BX=0001  CX=0010  DX=0000  SP=0000  BP=0002  SI=0000  DI=0000
DS=0B66  ES=B800  SS=0B66  CS=0B68  IP=001D   NV UP EI PL NZ NA PO NC
0B68:001D E2F4          LOOP    0013
-p

AX=B821  BX=0010  CX=0000  DX=0000  SP=0000  BP=0020  SI=0000  DI=0000
DS=0B66  ES=B800  SS=0B66  CS=0B68  IP=001F   NV UP EI PL NZ AC PO NC
0B68:001F B8004C        MOV     AX,4C00
-


编译了你的程序,debug加载,g到 loop指令,p 显示上面内容。

你试试,看看能否出现一样的效果,如果不能好好想想了,呵呵。

提示 打印的welcome to masm!屏幕位置是不是有特别地方?
mengdewan
[第2楼]   [ 回复时间:2009-03-04 06:37 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:5
注册日期:2008-12-18 16:07
好像我的是不在最开始,让屏幕给刷没了?
mengdewan
[第3楼]   [ 回复时间:2009-03-04 06:38 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:5
注册日期:2008-12-18 16:07
此贴由 贴主 于 [ 2009-03-04 06:38 ] 结贴。 结贴原因:问题已解决
得分情况: 1楼(deepblue):2分  
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved