. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->更灵活的定位内存地址的方法
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  不知道数据存放在哪里知道的帮忙看一下谢了!!  [待解决] 回复[ 4次 ]   点击[ 311次 ]  
thedaydreamwang
[帖 主]   [ 发表时间:2009-12-30 03:12 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-10-07 14:18
代码始下
assume cs:code,ds:data
data segment
     db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
      db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
       db '1993','1994','1995'
  dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
   dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000
    dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
     dw 11542,14430,15257,17800
data ends
code segment 
   start: mov ax,data
             mov ds,ax
              mov ax,4c00h
              int 21h
code ends
     end start
***********************************************************************************
             
-r
AX=0000  BX=0000  CX=00EA  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
DS=2186  ES=2186  SS=2196  CS=21A4  IP=0000  NV UP DI PL NZ NA PO NC
21A4:0000 B89621           MOV     AX,2196h
-d 2196:0 100
2196:0000 31 39 37 35 31 39 37 36-31 39 37 37 31 39 37 38  1975197619771978
2196:0010 31 39 37 39 31 39 38 30-31 39 38 31 31 39 38 32  1979198019811982
2196:0020 31 39 38 33 31 39 38 34-31 39 38 35 31 39 38 36  1983198419851986
2196:0030 31 39 38 37 31 39 38 38-31 39 38 39 31 39 39 30  1987198819891990
2196:0040 31 39 39 31 31 39 39 32-31 39 39 33 31 39 39 34  1991199219931994
2196:0050 31 39 39 35 10 00 00 00-16 00 00 00 7E 01 00 00  1995........~...
2196:0060 4C 05 00 00 56 09 00 00-40 1F 00 00 80 3E 00 00  L...V...@....>..
2196:0070 A6 5F 00 00 91 C3 00 00-C7 7C 01 00 81 24 02 00  &_...C..G|...$..
2196:0080 8A 03 03 00 7C 47 05 00-EB 03 09 00 CA 42 0C 00  ....|G..k...JB..
2196:0090 18 0D 12 00 38 1F 1C 00-58 19 2A 00 28 44 39 00  ....8...X.*.(D9.
2196:00A0 28 F0 46 00 68 97 5A 00-03 00 07 00 09 00 0D 00  (pF.h.Z.........
2196:00B0 1C 00 26 00 82 00 DC 00-DC 01 0A 03 E9 03 A2 05  ..&...\.\...i.".
2196:00C0 D2 08 E9 0A C5 0F 03 16-22 20 16 2D 5E 38 99 3B  R.i.E..." .-^8.;
不知道dd 后面的数据在哪里呢??有知道的告诉我一下谢谢了
scuzg
[第1楼]   [ 回复时间:2009-12-30 13:53 ]   [引用]   [回复]   [ top ] 
荣誉值:307
信誉值:0
注册日期:2009-03-15 23:46
从这一行开始:
2196:0050 31 39 39 35 10 00 00 00-16 00 00 00 7E 01 00 00  1995........~... 
2196:0060 4C 05 00 00 56 09 00 00-40 1F 00 00 80 3E 00 00  L...V...@....>.. 
2196:0070 A6 5F 00 00 91 C3 00 00-C7 7C 01 00 81 24 02 00  &_...C..G|...$.. 
2196:0080 8A 03 03 00 7C 47 05 00-EB 03 09 00 CA 42 0C 00  ....|G..k...JB.. 
2196:0090 18 0D 12 00 38 1F 1C 00-58 19 2A 00 28 44 39 00  ....8...X.*.(D9. 
比如上面的“10 00 00 00”,对应“dd 16”,请楼主注意三点:
①debug 只默认十六进制数,所以"16"在debug中为"10";
②“dd”用于定义双字,即四个字节的数据类型,所以被初始化为"16"的双字变量占用四个字节;
③高地址字节用于存放高位数字,但"16"只需存储在低字节,所以三个高字节均为零。
之后的
22:16 00 00 00 
382:7E 01 00 00  
都是一样的。
thedaydreamwang
[第2楼]   [ 回复时间:2010-01-01 00:06 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-10-07 14:18
嗯其实刚一发贴我就后诲了,前面的知识没有滚固清楚就往的面看了,有些细节方面的问题也是考验着自已的能力!!感谢楼上给我指明问题所在
scuzg
[第3楼]   [ 回复时间:2010-01-01 08:00 ]   [引用]   [回复]   [ top ] 
荣誉值:307
信誉值:0
注册日期:2009-03-15 23:46
没有什么可后悔的,交流也是巩固知识的一种方式,通过 debug 分析编译行为是学习汇编语言的好方法,但这样做的人并不多,所以我相信楼主会学的很好!顺祝新年快乐(^_^)!
thedaydreamwang
[第4楼]   [ 回复时间:2010-01-01 21:28 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-10-07 14:18
谢谢同样祝你新年快乐!!
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved