鱼C论坛

 找回密码
 立即注册
查看: 2201|回复: 2

汇编语言实验7

[复制链接]
发表于 2013-4-10 20:35:23 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 观阴大仕 于 2013-4-10 20:45 编辑

debug汇编语言实验7,查看原始数据,发现只有年份的数据,后面的收入,人数等都没有,是怎么回事啊?




  1. assume cs:code,ds:data,es:table

  2. data segment

  3.         db        '1975','1976','1977','1978','1979','1980','1981','1982','1983'
  4.         db        '1984','1985','1986','1987','1988','1989','1990','1991','1992'
  5.         db        '1993','1994','1995'

  6.         dd        16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
  7.         dd        345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000

  8.         dw        3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
  9.         dw        11542,14430,15257,17800

  10.        
  11. data ends

  12. table segment

  13.         db 21 dup('year summ ne ??  ')
  14.        
  15. table ends

  16. code segment

  17. start:        mov ax,data
  18.                 mov ds,ax
  19.                
  20.                 mov ax,table
  21.                 mov es,ax
  22.                
  23.                 mov bx,0
  24.                 mov si,0
  25.                
  26.                
  27.                 mov cx,21
  28. s:                mov ax,ds:[bx]
  29.                 mov dx,ds:2h[bx]
  30.                 mov es:[si],ax
  31.                 mov es:2h[si],dx

  32.                 mov ax,ds:54h[bx]
  33.                 mov dx,ds:56h[bx]
  34.                 mov es:5h[si],ax
  35.                 mov es:7h[si],dx
  36.                
  37.                 mov ax,ds:0a8h[di]
  38.                 mov es:0ah[si],ax
  39.                
  40.                
  41.                 div word ptr ds:0a8h[di]
  42.                 mov es:0ah[si],ax
  43.                
  44.                 add di,2
  45.                 add bx,4
  46.                 add si,16
  47.                
  48.                 loop s
  49.                
  50.                 mov ax,4c00h
  51.                 int 21h

  52. code ends               
  53. end start               
复制代码
s7.jpg
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-13 10:44:52 | 显示全部楼层
1.后面收入、人数未显示,不是没有,只是没显示,可以参考书本:7.2关于ascii码;
2.table段多了一个空格;
3.做除法计算前,注意保护AX,DX中的数据;
4.商的存储位置。
==============================
本人新手,苦苦寻觅入门之路。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-13 22:04:49 | 显示全部楼层
本帖最后由 喵星人 于 2013-4-13 22:06 编辑
  1. assume cs:code,ds:data,es:table
  2. data segment
  3.         db        '1975','1976','1977','1978','1979','1980','1981','1982','1983'
  4.         db        '1984','1985','1986','1987','1988','1989','1990','1991','1992'
  5.         db        '1993','1994','1995';ds:0-ds:53
  6.         dd        16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
  7.         dd        345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000 ;ds:54-ds:a7h
  8.         dw        3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
  9.         dw        11542,14430,15257,17800   ;ds:a8-
  10. data ends
  11. table segment
  12.         db 21 dup('year summ ne ?? ')      
  13. table ends
  14. code segment
  15. start:        mov         ax,data
  16.         mov         ds,ax               
  17.         mov         ax,table
  18.         mov         es,ax              
  19.         mov        bx,0
  20.         mov        si,0
  21.         mov        di,0
  22.         mov        cx,21
  23. s:        mov        ax,ds:[di+0a8h]        
  24.         mov        es:[bx+10],ax
  25.         
  26.         mov        ax,ds:[si+54h]
  27.         mov        es:[bx+5],ax
  28.         mov        dx,ds:[si+56h]
  29.         mov        es:[bx+7],dx

  30.         div        word ptr ds:[di+0a8h]
  31.         mov        es:[bx+13],ax        

  32.         mov        ax,ds:[si]
  33.         mov        es:[bx],ax
  34.         mov        ax,ds:[si+2]
  35.         mov        es:[bx+2],ax
  36.                         
  37.         add        di,2h
  38.         add        si,4h
  39.         add        bx,10h
  40.         loop        s
  41.         mov ax,4c00h
  42.         int 21h
  43. code ends               
  44. end start
复制代码
QQ截图20130413220332.png
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-7-15 14:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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